def test_get_by_labels_invalid_args(self): name = object() try: K8sPod.get_by_labels(labels=name) self.fail("Should not fail.") except Exception as err: self.assertIsInstance(err, SyntaxError)
def test_get_by_name_nonexistent(self): name = "yopod-{0}".format(str(uuid.uuid4())) config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback) if _utils.is_reachable(config): pods = K8sPod.get_by_name(config=config, name=name) self.assertIsInstance(pods, list) self.assertEqual(0, len(pods))
def test_get_by_labels_nonexistent(self): name = "yopod-{0}".format(str(uuid.uuid4())) config = K8sConfig(kubeconfig=utils.kubeconfig_fallback) if utils.is_reachable(config.api_host): pods = K8sPod.get_by_labels(config=config, labels={'name': name}) self.assertIsInstance(pods, list) self.assertEqual(0, len(pods))
def test_update_labels(self): name = "yocontainer" container = utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) pod1 = utils.create_pod(name=name) pod1.add_container(container) if utils.is_reachable(pod1.config.api_host): pod1.create() labels = pod1.get_labels() labels['yomama'] = 'sofat' pods = K8sPod.get_by_labels(config=pod1.config, labels=labels) self.assertIsInstance(pods, list) self.assertEqual(0, len(pods)) pod1.set_labels(labels) pod1.update() pods = K8sPod.get_by_labels(config=pod1.config, labels=labels) self.assertIsInstance(pods, list) self.assertEqual(1, len(pods))
def test_update_labels(self): name = "yocontainer" container = utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) pod = utils.create_pod(name=name) pod.add_container(container) if utils.is_reachable(pod.config.api_host): pod.create() labels = pod.labels labels['yomama'] = 'sofat' pods = K8sPod.get_by_labels(config=pod.config, labels=labels) self.assertIsInstance(pods, list) self.assertEqual(0, len(pods)) pod.labels = labels pod.update() pods = K8sPod.get_by_labels(config=pod.config, labels=labels) self.assertIsInstance(pods, list) self.assertEqual(1, len(pods))
def test_init_no_args(self): try: K8sPod() self.fail("Should not fail.") except SyntaxError: pass except IOError: pass except Exception as err: self.fail("Unhandled exception: [ {0} ]".format(err.__class__.__name__))
def test_get_by_name(self): name = "yocontainer" container = utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) pod = utils.create_pod(name=name) pod.add_container(container) if utils.is_reachable(pod.config.api_host): pod.create() pods = K8sPod.get_by_name(config=pod.config, name=name) self.assertIsInstance(pods, list) self.assertEqual(1, len(pods))
def test_get_by_labels(self): name = "yocontainer" container = utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) pod = utils.create_pod(name=name) pod.add_container(container) if utils.is_reachable(pod.config.api_host): pod.create() pods = K8sPod.get_by_labels(config=pod.config, labels={'name': name}) self.assertIsInstance(pods, list) self.assertEqual(1, len(pods))
def test_init_with_invalid_name(self): name = object() try: K8sPod(name=name) self.fail("Should not fail.") except SyntaxError: pass except IOError: pass except Exception as err: self.fail("Unhandled exception: [ {0} ]".format(err.__class__.__name__))
def test_get_by_labels(self): name = "yocontainer" container = _utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) pod = _utils.create_pod(name=name) pod.add_container(container) if _utils.is_reachable(pod.config): pod.create() pods = K8sPod.get_by_labels(config=pod.config, labels={'name': name}) self.assertIsInstance(pods, list) self.assertEqual(1, len(pods)) self.assertEqual(pod, pods[0])
def test_update_name_fails(self): name = "yocontainer" container = utils.create_container(name=name) name1 = "yopod1" name2 = "yopod2" pod = utils.create_pod(name=name1) pod.add_container(container) if utils.is_reachable(pod.config.api_host): pod.create() result = K8sPod.get_by_name(config=pod.config, name=name1) self.assertIsInstance(result, list) self.assertEqual(1, len(result)) self.assertIsInstance(result[0], K8sPod) result[0].name = name2 with self.assertRaises(NotFoundException): result[0].update()
def test_update_namespace_fails(self): name = "yocontainer" container = utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) nspace = "yonamespace" pod1 = utils.create_pod(name=name) pod1.add_container(container) if utils.is_reachable(pod1.config.api_host): pod1.create() result = K8sPod.get_by_name(config=pod1.config, name=name) self.assertIsInstance(result, list) self.assertEqual(1, len(result)) pod2 = result[0] self.assertIsInstance(pod2, K8sPod) self.assertNotEqual(pod2.namespace, nspace) self.assertEqual(pod1, pod2) pod2.namespace = nspace with self.assertRaises(BadRequestException): pod2.update()
def test_update_name_fails(self): name = "yocontainer" container = utils.create_container(name=name) name1 = "yopod1" name2 = "yopod2" pod = utils.create_pod(name=name1) pod.add_container(container) if utils.is_reachable(pod.config.api_host): pod.create() result = K8sPod.get_by_name(config=pod.config, name=name1) self.assertIsInstance(result, list) self.assertEqual(1, len(result)) self.assertIsInstance(result[0], K8sPod) result[0].name = name2 try: result[0].update() self.fail("Should not fail.") except Exception as err: self.assertIsInstance(err, BadRequestException)
def test_update_namespace_fails(self): name = "yocontainer" container = utils.create_container(name=name) name = "yopod-{0}".format(str(uuid.uuid4())) nspace = "yonamespace" pod1 = utils.create_pod(name=name) pod1.add_container(container) if utils.is_reachable(pod1.config.api_host): pod1.create() result = K8sPod.get_by_name(config=pod1.config, name=name) self.assertIsInstance(result, list) self.assertEqual(1, len(result)) pod2 = result[0] self.assertIsInstance(pod2, K8sPod) self.assertNotEqual(pod2.get_namespace(), nspace) self.assertEqual(pod1, pod2) pod2.set_namespace(nspace) try: pod2.update() self.fail("Should not fail.") except Exception as err: self.assertIsInstance(err, BadRequestException)
def test_get_by_labels_invalid_args(self): name = object() config = utils.create_config() with self.assertRaises(SyntaxError): K8sPod.get_by_labels(config=config, labels=name)
def test_get_by_labels_none_args(self): config = utils.create_config() with self.assertRaises(SyntaxError): K8sPod.get_by_labels(config=config)
def test_get_by_labels_none_args(self): try: K8sPod.get_by_labels() self.fail("Should not fail.") except Exception as err: self.assertIsInstance(err, SyntaxError)