def test_createService(self, client_mock): service = KubernetesService() client_mock.reset_mock() client_mock.CoreV1Api.return_value.create_namespaced_service.return_value = V1Service( kind="unit") expected_body = V1Service(metadata=self._createMeta(self.name), spec=V1ServiceSpec( cluster_ip="None", ports=[ V1ServicePort(name="mongod", port=27017, protocol="TCP") ], selector={ "heritage": "mongos", "name": self.name, "operated-by": "operators.ultimaker.com" }, )) expected_calls = [ call.CoreV1Api().create_namespaced_service(self.namespace, expected_body) ] result = service.createService(self.cluster_object) self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual(V1Service(kind="unit"), result)
def test_updateService(self, client_mock): service = KubernetesService() client_mock.reset_mock() expected_body = V1Service(metadata=self._createMeta(self.name), spec=V1ServiceSpec( cluster_ip="None", ports=[ V1ServicePort(name='mongod', port=27017, protocol='TCP') ], selector={ 'heritage': 'mongos', 'name': self.name, 'operated-by': 'operators.ultimaker.com' }, )) result = service.updateService(self.cluster_object) expected_calls = [ call.CoreV1Api().patch_namespaced_service(self.name, self.namespace, expected_body) ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api().patch_namespaced_service.return_value, result)
def test_updateService(self, client_mock): service = KubernetesService() client_mock.reset_mock() expected_body = V1Service(metadata=self._createMeta(self.name), spec=V1ServiceSpec( cluster_ip="None", ports=[ V1ServicePort(name="mongod", port=27017, protocol="TCP") ], selector={ "heritage": "mongos", "name": self.name, "operated-by": "operators.javamachr.cz" }, )) result = service.updateService(self.cluster_object) expected_calls = [ call.CoreV1Api().patch_namespaced_service(self.name, self.namespace, expected_body) ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api().patch_namespaced_service.return_value, result)
def test_deleteService_TypeError(self, client_mock): service = KubernetesService() client_mock.reset_mock() client_mock.CoreV1Api.return_value.delete_namespaced_service.side_effect = TypeError, V1Status( ) result = service.deleteService(self.name, self.namespace) expected_calls = [ call.CoreV1Api().delete_namespaced_service(self.name, self.namespace, V1DeleteOptions()), call.CoreV1Api().delete_namespaced_service(self.name, self.namespace), ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual(V1Status(), result)
def test_updateSecret(self, client_mock): service = KubernetesService() client_mock.reset_mock() client_mock.CoreV1Api.return_value.read_namespaced_secret.return_value = V1Secret( kind="unit") secret_data = {"username": "******", "password": "******"} expected_body = V1Secret(kind="unit", string_data=secret_data) expected_calls = [ call.CoreV1Api().read_namespaced_secret(self.name, self.namespace), call.CoreV1Api().patch_namespaced_secret(self.name, self.namespace, expected_body), ] result = service.updateSecret(self.name, self.namespace, secret_data) self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api.return_value.patch_namespaced_secret. return_value, result)
def test_getService(self, client_mock): service = KubernetesService() client_mock.reset_mock() result = service.getService(self.name, self.namespace) expected_calls = [ call.CoreV1Api().read_namespaced_service(self.name, self.namespace) ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api.return_value.read_namespaced_service. return_value, result)
def test_deleteService(self, client_mock): service = KubernetesService() client_mock.reset_mock() result = service.deleteService(self.name, self.namespace) expected_calls = [ call.CoreV1Api().delete_namespaced_service(self.name, self.namespace, V1DeleteOptions()) ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api().delete_namespaced_service.return_value, result)
def test_listAllSecretsWithLabels_custom(self, client_mock): service = KubernetesService() client_mock.reset_mock() labels = {"operated-by": "me", "heritage": "mongo", "name": "name"} result = service.listAllSecretsWithLabels(labels) expected_calls = [ call.CoreV1Api().list_secret_for_all_namespaces( label_selector="operated-by=me,heritage=mongo,name=name") ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api().list_secret_for_all_namespaces. return_value, result)
def test_listAllSecretsWithLabels_default(self, client_mock): service = KubernetesService() client_mock.reset_mock() result = service.listAllSecretsWithLabels() expected_calls = [ call.CoreV1Api().list_secret_for_all_namespaces( label_selector= "operated-by=operators.ultimaker.com,heritage=mongos") ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api().list_secret_for_all_namespaces. return_value, result)
def test___init__(self, client_mock): KubernetesService() config = Configuration() config.debug = False expected = [ call.ApiClient(config), call.CoreV1Api(client_mock.ApiClient.return_value), call.CustomObjectsApi(client_mock.ApiClient.return_value), call.ApiextensionsV1beta1Api(client_mock.ApiClient.return_value), call.AppsV1beta1Api(client_mock.ApiClient.return_value), ] with patch("kubernetes.client.configuration.Configuration.__eq__", dict_eq): self.assertEqual(expected, client_mock.mock_calls)
def test_createSecret(self, client_mock): service = KubernetesService() client_mock.reset_mock() secret_data = {"username": "******", "password": "******"} expected_body = V1Secret(metadata=self._createMeta("secret-name"), string_data=secret_data) result = service.createSecret("secret-name", self.namespace, secret_data) self.assertEqual([ call.CoreV1Api().create_namespaced_secret(self.namespace, expected_body) ], client_mock.mock_calls) self.assertEqual( client_mock.CoreV1Api.return_value.create_namespaced_secret. return_value, result)
def test_createSecret_exists(self, client_mock): service = KubernetesService() client_mock.reset_mock() client_mock.CoreV1Api.return_value.create_namespaced_secret.side_effect = ApiException( status=409) client_mock.CoreV1Api.return_value.create_namespaced_secret.side_effect.body = "{}" secret_data = {"username": "******", "password": "******"} result = service.createSecret(self.name, self.namespace, secret_data) expected_body = V1Secret(metadata=self._createMeta(self.name), string_data=secret_data) expected_calls = [ call.CoreV1Api().create_namespaced_secret(self.namespace, expected_body) ] self.assertEqual(expected_calls, client_mock.mock_calls) self.assertIsNone(result)