예제 #1
0
 def test_create_already_exists(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     node = utils.create_node(name=name)
     if utils.is_reachable(node.config.api_host):
         node.create()
         with self.assertRaises(AlreadyExistsException):
             node.create()
예제 #2
0
 def test_create(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     node = utils.create_node(name=name)
     if utils.is_reachable(node.config.api_host):
         node.create()
         from_get = node.get()
         self.assertEqual(node, from_get)
예제 #3
0
 def test_add_label_invalid_args(self):
     name = "yo-node"
     n = utils.create_node(name=name)
     k = object()
     v = object()
     with self.assertRaises(SyntaxError):
         n.add_label(k, v)
예제 #4
0
 def test_init_with_name(self):
     name = "yo-name"
     n = utils.create_node(name=name)
     self.assertIsNotNone(n)
     self.assertIsInstance(n, K8sNode)
     self.assertEqual('Node', n.obj_type)
     self.assertEqual(n.name, name)
     self.assertIsInstance(n.config, K8sConfig)
예제 #5
0
 def test_get(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     n = utils.create_node(name=name)
     if utils.is_reachable(n.config.api_host):
         n.create()
         from_get = n.get()
         self.assertIsInstance(from_get, K8sNode)
         self.assertEqual(n, from_get)
예제 #6
0
 def test_add_label(self):
     name = "yo-node"
     n = utils.create_node(name=name)
     k = "yokey"
     v = "yovalue"
     n.add_label(k, v)
     self.assertIn(k, n.labels)
     self.assertEqual(v, n.labels[k])
예제 #7
0
 def test_struct_node(self):
     name = "yo-name"
     n = utils.create_node(name=name)
     self.assertIsInstance(n, K8sNode)
     self.assertIsInstance(n.model, Node)
     self.assertIsInstance(n.model.metadata, ObjectMeta)
     self.assertIsInstance(n.model.spec, NodeSpec)
     self.assertIsInstance(n.model.status, NodeStatus)
예제 #8
0
 def test_add_annotation(self):
     name = "yo-node"
     n = utils.create_node(name=name)
     k = "yokey"
     v = "yovalue"
     n.add_annotation(k, v)
     self.assertIn(k, n.annotations)
     self.assertEqual(v, n.annotations[k])
예제 #9
0
 def test_add_annotation_none_args(self):
     name = "yo-node"
     n = utils.create_node(name=name)
     try:
         n.add_annotation()
         self.fail("Should not fail.")
     except Exception as err:
         self.assertIsInstance(err, SyntaxError)
예제 #10
0
 def test_struct_k8s_node(self):
     name = "yo-name"
     n = utils.create_node(name=name)
     self.assertIsInstance(n, K8sNode)
     self.assertIsInstance(n.base_url, str)
     self.assertIsInstance(n.config, K8sConfig)
     self.assertIsInstance(n.model, Node)
     self.assertIsInstance(n.name, str)
     self.assertIsInstance(n.obj_type, str)
예제 #11
0
 def test_init_with_name_and_config(self):
     nspace = "default"
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback, namespace=nspace)
     name = "yo-name"
     n = utils.create_node(config=config, name=name)
     self.assertIsNotNone(n)
     self.assertIsInstance(n, K8sNode)
     self.assertEqual(n.name, name)
     self.assertEqual('Node', n.obj_type)
     self.assertIsInstance(n.config, K8sConfig)
예제 #12
0
 def test_delete(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     node = utils.create_node(name=name)
     if utils.is_reachable(node.config.api_host):
         node.create()
         from_get = K8sNode.get_by_name(node.config, node.name)
         self.assertIsInstance(from_get, K8sNode)
         self.assertEqual(from_get.name, name)
         node.delete()
         from_get = K8sNode.get_by_name(node.config, node.name)
         self.assertIsNone(from_get)
예제 #13
0
 def test_list_without_create(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     nodes = utils.create_node(name=name)
     if utils.is_reachable(nodes.config.api_host):
         _list = nodes.list()
         node_pattern = re.compile("yo\-")
         _filtered = filter(
             lambda x: node_pattern.match(x['metadata']['name']) is
             not None, _list)
         self.assertIsInstance(_filtered, list)
         self.assertEqual(0, len(_filtered))
예제 #14
0
 def test_delete(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     node = utils.create_node(name=name)
     if utils.is_reachable(node.config.api_host):
         node.create()
         from_get = K8sNode.get_by_name(node.config, node.name)
         self.assertIsInstance(from_get, list)
         self.assertIn(node, from_get)
         node.delete()
         from_get = K8sNode.get_by_name(node.config, node.name)
         self.assertNotIn(node, from_get)
예제 #15
0
 def test_list_without_create(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     nodes = utils.create_node(name=name)
     if utils.is_reachable(nodes.config.api_host):
         _list = nodes.list()
         for x in _list:
             self.assertIsInstance(x, K8sNode)
         node_pattern = re.compile("yo\-")
         _filtered = list(filter(lambda x: node_pattern.match(x.name) is not None, _list))
         self.assertIsInstance(_filtered, list)
         self.assertEqual(0, len(_filtered))
예제 #16
0
 def test_list(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     node = utils.create_node(name=name)
     if utils.is_reachable(node.config.api_host):
         node_pattern = re.compile(r'yo-')
         _pre_list = node.list()
         _filtered = filter(
             lambda x: node_pattern.match(x['metadata']['name']) is
             not None, _pre_list)
         pre_create_length = len(_filtered)
         node.create()
         _post_list = node.list()
         _filtered = filter(
             lambda x: node_pattern.match(x['metadata']['name']) is
             not None, _post_list)
         post_create_length = len(_filtered)
         self.assertIsInstance(_filtered, list)
         self.assertEqual(1 + pre_create_length, post_create_length)
         from_query = filter(lambda x: x['metadata']['name'] == name,
                             _filtered)
         self.assertIsInstance(from_query, list)
         self.assertEqual(len(from_query), 1)
예제 #17
0
    def test_list(self):
        name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
        node = utils.create_node(name=name)

        if utils.is_reachable(node.config.api_host):
            node_pattern = re.compile(r'yo-')
            _pre_list = node.list()
            for x in _pre_list:
                self.assertIsInstance(x, K8sNode)
            _filtered = list(filter(lambda x: node_pattern.match(x.name) is not None, _pre_list))
            pre_create_length = len(_filtered)

            node.create()
            _post_list = node.list()
            for x in _post_list:
                self.assertIsInstance(x, K8sNode)
            _filtered = list(filter(lambda x: node_pattern.match(x.name) is not None, _post_list))
            post_create_length = len(_filtered)
            self.assertIsInstance(_filtered, list)
            self.assertEqual(1+pre_create_length, post_create_length)

            from_query = list(filter(lambda x: x.name == name, _filtered))
            self.assertIsInstance(from_query, list)
            self.assertEqual(len(from_query), 1)
예제 #18
0
 def test_add_label_none_args(self):
     name = "yo-node"
     n = utils.create_node(name=name)
     with self.assertRaises(SyntaxError):
         n.add_label()
예제 #19
0
 def test_get_nonexistent(self):
     name = "yo-node"
     n = utils.create_node(name=name)
     if utils.is_reachable(n.config.api_host):
         with self.assertRaises(NotFoundException):
             n.get()
예제 #20
0
 def test_delete_nonexistent(self):
     name = "yo-{0}".format(str(uuid.uuid4().get_hex()[:16]))
     node = utils.create_node(name=name)
     if utils.is_reachable(node.config.api_host):
         with self.assertRaises(NotFoundException):
             node.delete()