This modules contains apps useful for testing HTTP applications.

Classes
Functions
class

pytest_helm_charts.giantswarm_app_platform.apps.http_testing.StormforgerLoadAppFactoryFunc(*args, **kwds)

Bases
typing.Protocol typing.Generic

Base class for protocol classes.

Protocol classes are defined as::

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing), for example::

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as::

class GenProto(Protocol[T]):
    def meth(self) -> T:
        ...
Parameters
  • *args
  • **kwds
Classes
Methods
class

typing._ProtocolMeta(name, bases, namespace, **kwargs)

Bases
abc.ABCMeta

Metaclass for defining Abstract Base Classes (ABCs).

Use this metaclass to create an ABC. An ABC can be subclassed directly, and then acts as a mix-in class. You can also register unrelated concrete classes (even built-in classes) and unrelated ABCs as 'virtual subclasses' -- these and their descendants will be considered subclasses of the registering ABC by the built-in issubclass() function, but the registering ABC won't show up in their MRO (Method Resolution Order) nor will method implementations defined by the registering ABC be callable (not even via super()).

Parameters
  • name
  • bases
  • namespace
  • **kwargs
Methods
staticmethod
register(cls, subclass)

Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.

Parameters
  • cls
  • subclass
staticmethod
__subclasscheck__(cls, subclass)

Override for issubclass(subclass, cls).

Parameters
  • cls
  • subclass
staticmethod
__instancecheck__(cls, instance)

Override for isinstance(instance, cls).

Parameters
  • cls
  • instance
classmethod

__init_subclass__(*args, **kwargs)

This method is called when a class is subclassed.

The default implementation does nothing. It may be overridden to extend subclasses.

Parameters
  • *args
  • **kwargs
function

pytest_helm_charts.giantswarm_app_platform.apps.http_testing.stormforger_load_app_factory(app_factory)

A factory fixture to return a function that can produce Stromforger Load App instances. Fixture's scope is 'module'..

Parameters

A function you can use to create stormforger instances. The function has the following args.

Examples

Create and run using 8 replicas erving the 'loadtest.local' URL. Use affinity selector to run on the 'localhost' Kubernetes Node.

>>> stormforger_load_app_factory(8, "loadtest.local", {"kubernetes.io/hostname": "localhost"})
class

pytest_helm_charts.giantswarm_app_platform.apps.http_testing.GatlingAppFactoryFunc(*args, **kwds)

Bases
typing.Protocol typing.Generic

Base class for protocol classes.

Protocol classes are defined as::

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing), for example::

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as::

class GenProto(Protocol[T]):
    def meth(self) -> T:
        ...
Parameters
  • *args
  • **kwds
Classes
Methods
class

typing._ProtocolMeta(name, bases, namespace, **kwargs)

Bases
abc.ABCMeta

Metaclass for defining Abstract Base Classes (ABCs).

Use this metaclass to create an ABC. An ABC can be subclassed directly, and then acts as a mix-in class. You can also register unrelated concrete classes (even built-in classes) and unrelated ABCs as 'virtual subclasses' -- these and their descendants will be considered subclasses of the registering ABC by the built-in issubclass() function, but the registering ABC won't show up in their MRO (Method Resolution Order) nor will method implementations defined by the registering ABC be callable (not even via super()).

Parameters
  • name
  • bases
  • namespace
  • **kwargs
Methods
staticmethod
register(cls, subclass)

Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.

Parameters
  • cls
  • subclass
staticmethod
__subclasscheck__(cls, subclass)

Override for issubclass(subclass, cls).

Parameters
  • cls
  • subclass
staticmethod
__instancecheck__(cls, instance)

Override for isinstance(instance, cls).

Parameters
  • cls
  • instance
classmethod

__init_subclass__(*args, **kwargs)

This method is called when a class is subclassed.

The default implementation does nothing. It may be overridden to extend subclasses.

Parameters
  • *args
  • **kwargs
generator

pytest_helm_charts.giantswarm_app_platform.apps.http_testing.gatling_app_factory(kube_cluster, app_factory)

A factory fixture to return a function that can produce Gatling instances. Gatling is a HTTP performance testing tool. Fixture's scope is 'module'..

Parameters
Returns (iterable of GatlingAppFactoryFunc)

A function you can use to create Gatling instances.