MockKubernetesApi¶
- class safir.testing.kubernetes.MockKubernetesApi(*args, **kw)¶
Bases:
unittest.mock.MockMock Kubernetes API for testing.
This object simulates (with almost everything left out) the
CoreV1ApiandCustomObjectApiclient objects while keeping simple internal state. It is intended to be used as a mock inside tests.Methods ending with
_for_testare outside of the API and are intended for use by the test suite.If
error_callbackis set to a callable, it will be called with the method name and any arguments whenever any Kubernetes API method is called and before it takes any action. This can be used to inject exceptions for test purposes.Notes
This class is normally not instantiated directly. Instead, call the
patch_kubernetesfunction from a fixture to set up the mock.Attributes Summary
Methods Summary
__call__(*args, **kwargs)Call self as a function.
assert_any_call(*args, **kwargs)assert the mock has been called with the specified arguments.
assert that the mock was called at least once
assert that the mock was called only once.
assert_called_once_with(*args, **kwargs)assert that the mock was called exactly once and that that call was with the specified arguments.
assert_called_with(*args, **kwargs)assert that the last call was made with the specified arguments.
assert_has_calls(calls[, any_order])assert the mock has been called with the specified calls.
assert that the mock was never called.
attach_mock(mock, attribute)Attach a mock as an attribute of this one, replacing its name and parent.
configure_mock(**kwargs)Set attributes on the mock through keyword arguments.
create_namespaced_config_map(namespace, ...)create_namespaced_custom_object(group, ...)create_namespaced_pod(namespace, pod)create_namespaced_secret(namespace, secret)delete_namespaced_config_map(name, namespace)delete_namespaced_pod(name, namespace)get_all_objects_for_test(kind)Return all objects of a given kind sorted by namespace and name.
get_namespaced_custom_object(group, version, ...)list_cluster_custom_object(group, version, ...)mock_add_spec(spec[, spec_set])Add a spec to a mock.
patch_namespaced_custom_object_status(group, ...)patch_namespaced_secret(name, namespace, body)read_namespaced_pod(name, namespace)read_namespaced_secret(name, namespace)replace_namespaced_custom_object(group, ...)replace_namespaced_secret(name, namespace, ...)reset_mock([visited, return_value, side_effect])Restore the mock object to its initial state.
Attributes Documentation
- call_args¶
- call_args_list¶
- call_count¶
- called¶
- mock_calls¶
- return_value¶
- side_effect¶
Methods Documentation
- __call__(*args, **kwargs)¶
Call self as a function.
- assert_any_call(*args, **kwargs)¶
assert the mock has been called with the specified arguments.
The assert passes if the mock has ever been called, unlike
assert_called_withandassert_called_once_withthat only pass if the call is the most recent one.
- assert_called()¶
assert that the mock was called at least once
- assert_called_once()¶
assert that the mock was called only once.
- assert_called_once_with(*args, **kwargs)¶
assert that the mock was called exactly once and that that call was with the specified arguments.
- assert_called_with(*args, **kwargs)¶
assert that the last call was made with the specified arguments.
Raises an AssertionError if the args and keyword args passed in are different to the last call to the mock.
- assert_has_calls(calls, any_order=False)¶
assert the mock has been called with the specified calls. The
mock_callslist is checked for the calls.If
any_orderis False (the default) then the calls must be sequential. There can be extra calls before or after the specified calls.If
any_orderis True then the calls can be in any order, but they must all appear inmock_calls.
- assert_not_called()¶
assert that the mock was never called.
- attach_mock(mock, attribute)¶
Attach a mock as an attribute of this one, replacing its name and parent. Calls to the attached mock will be recorded in the
method_callsandmock_callsattributes of this one.
- configure_mock(**kwargs)¶
Set attributes on the mock through keyword arguments.
Attributes plus return values and side effects can be set on child mocks using standard dot notation and unpacking a dictionary in the method call:
>>> attrs = {'method.return_value': 3, 'other.side_effect': KeyError} >>> mock.configure_mock(**attrs)
- async create_namespaced_config_map(namespace: str, config_map: kubernetes_asyncio.client.models.v1_config_map.V1ConfigMap) None¶
- async create_namespaced_custom_object(group: str, version: str, namespace: str, plural: str, body: Dict[str, Any]) None¶
- async create_namespaced_pod(namespace: str, pod: kubernetes_asyncio.client.models.v1_pod.V1Pod) None¶
- async create_namespaced_secret(namespace: str, secret: kubernetes_asyncio.client.models.v1_secret.V1Secret) None¶
- async delete_namespaced_config_map(name: str, namespace: str) kubernetes_asyncio.client.models.v1_status.V1Status¶
- async delete_namespaced_pod(name: str, namespace: str) kubernetes_asyncio.client.models.v1_status.V1Status¶
- get_all_objects_for_test(kind: str) List[Any]¶
Return all objects of a given kind sorted by namespace and name.
- Parameters
kind (
str) – The Kubernetes kind, such asSecretorPod. This is case-sensitive.- Returns
objects – All objects of that kind found in the mock, sorted by namespace and then name.
- Return type
List[
typing.Any]
- async get_namespaced_custom_object(group: str, version: str, namespace: str, plural: str, name: str) Dict[str, Any]¶
- async list_cluster_custom_object(group: str, version: str, plural: str) Dict[str, List[Dict[str, Any]]]¶
- mock_add_spec(spec, spec_set=False)¶
Add a spec to a mock.
speccan either be an object or a list of strings. Only attributes on thespeccan be fetched as attributes from the mock.If
spec_setis True then only attributes on the spec can be set.
- async patch_namespaced_custom_object_status(group: str, version: str, namespace: str, plural: str, name: str, body: Dict[str, Any]) Dict[str, Any]¶
- async patch_namespaced_secret(name: str, namespace: str, body: List[Dict[str, Any]]) kubernetes_asyncio.client.models.v1_secret.V1Secret¶
- async read_namespaced_secret(name: str, namespace: str) kubernetes_asyncio.client.models.v1_secret.V1Secret¶
- async replace_namespaced_custom_object(group: str, version: str, namespace: str, plural: str, name: str, body: Dict[str, Any]) None¶
- async replace_namespaced_secret(name: str, namespace: str, secret: kubernetes_asyncio.client.models.v1_secret.V1Secret) None¶
- reset_mock(visited=None, *, return_value=False, side_effect=False)¶
Restore the mock object to its initial state.