示例#1
0
 def test_add_dep_children(self):
     """Test method add_dep for children"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('child')
     ent.add_dep(target=ent_dep, parent=False)
     self.assertTrue(ent.has_child_dep('child'))
     self.assertTrue(ent_dep.has_parent_dep('foo'))
示例#2
0
 def test_add_dep_parents(self):
     """Test method add dependency for parents"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('parent')
     ent.add_dep(ent_dep)
     self.assertTrue(ent.has_parent_dep('parent'))
     self.assertTrue(ent_dep.has_child_dep('foo'))
示例#3
0
 def test_add_dep_children(self):
     """Test method add_dep for children"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('child')
     ent.add_dep(target=ent_dep, parent=False)
     self.assertTrue(ent.has_child_dep('child'))
     self.assertTrue(ent_dep.has_parent_dep('foo'))
示例#4
0
 def test_add_dep_parents(self):
     """Test method add dependency for parents"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('parent')
     ent.add_dep(ent_dep)
     self.assertTrue(ent.has_parent_dep('parent'))
     self.assertTrue(ent_dep.has_child_dep('foo'))
示例#5
0
 def test_clear_deps(self):
     """Test method clear_deps"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('parent')
     ent.add_dep(ent_dep)
     self.assertEqual(len(ent.parents), 1)
     ent.clear_deps()
     self.assertEqual(len(ent.parents), 0)
示例#6
0
 def test_clear_deps(self):
     """Test method clear_deps"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('parent')
     ent.add_dep(ent_dep)
     self.assertEqual(len(ent.parents), 1)
     ent.clear_deps()
     self.assertEqual(len(ent.parents), 0)
示例#7
0
 def test_eval_deps_waiting(self):
     """Test that eval_deps_status return WAITING_STATUS"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     service.add_dep(serv_a)
     service.add_dep(serv_b, CHECK)
     serv_a.status = WAITING_STATUS
     self.assertEqual(service.eval_deps_status(), WAITING_STATUS)
示例#8
0
 def test_eval_deps_waiting(self):
     """Test that eval_deps_status return WAITING_STATUS"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     service.add_dep(serv_a)
     service.add_dep(serv_b, CHECK)
     serv_a.status = WAITING_STATUS
     self.assertEqual(service.eval_deps_status(), WAITING_STATUS)
示例#9
0
 def test_eval_deps_error(self):
     """Test that eval_deps_status return DEP_ERROR"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     service.add_dep(serv_a)
     service.add_dep(serv_b, CHECK)
     serv_b.status = DONE
     serv_a.status = TIMEOUT
     self.assertEqual(service.eval_deps_status(), DEP_ERROR)
示例#10
0
 def test_clear_childs(self):
     '''Test remove all childrens dependencies'''
     ent1 = BaseEntity(name='A')
     ent2 = BaseEntity(name='B')
     ent3 = BaseEntity(name='C')
     ent1.add_dep(target=ent2, parent=False)
     ent1.add_dep(target=ent3, parent=False)
     ent1.clear_child_deps()
     self.assertFalse(ent1.has_child_dep('B'))
     self.assertFalse(ent1.has_child_dep('C'))
示例#11
0
 def test_clear_parents(self):
     '''Test remove all parents dependencies'''
     ent1 = BaseEntity(name='A')
     ent2 = BaseEntity(name='B')
     ent3 = BaseEntity(name='C')
     ent1.add_dep(target=ent2)
     ent1.add_dep(target=ent3)
     ent1.clear_parent_deps()
     self.assertFalse(ent1.has_parent_dep('B'))
     self.assertFalse(ent1.has_parent_dep('C'))
示例#12
0
 def test_eval_deps_error(self):
     """Test that eval_deps_status return DEP_ERROR"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     service.add_dep(serv_a)
     service.add_dep(serv_b, CHECK)
     serv_b.status = DONE
     serv_a.status = TIMEOUT
     self.assertEqual(service.eval_deps_status(), DEP_ERROR)
示例#13
0
 def test_clear_childs(self):
     '''Test remove all childrens dependencies'''
     ent1 = BaseEntity(name='A')
     ent2 = BaseEntity(name='B')
     ent3 = BaseEntity(name='C')
     ent1.add_dep(target=ent2, parent=False)
     ent1.add_dep(target=ent3, parent=False)
     ent1.clear_child_deps()
     self.assertFalse(ent1.has_child_dep('B'))
     self.assertFalse(ent1.has_child_dep('C'))
示例#14
0
 def test_clear_parents(self):
     '''Test remove all parents dependencies'''
     ent1 = BaseEntity(name='A')
     ent2 = BaseEntity(name='B')
     ent3 = BaseEntity(name='C')
     ent1.add_dep(target=ent2)
     ent1.add_dep(target=ent3)
     ent1.clear_parent_deps()
     self.assertFalse(ent1.has_parent_dep('B'))
     self.assertFalse(ent1.has_parent_dep('C'))
示例#15
0
    def test_excluded(self):
        """Test the excluded mecanism"""
        ent1 = BaseEntity('E1')
        ent2 = BaseEntity('E2')
        ent3 = BaseEntity('E3')

        ent3.add_dep(ent2)

        self.assertFalse(ent1.excluded())
        self.assertTrue(ent1.excluded(["E1"]))
        self.assertTrue(ent3.excluded(["E2"]))
示例#16
0
    def test_excluded(self):
        """Test the excluded mecanism"""
        ent1 = BaseEntity('E1')
        ent2 = BaseEntity('E2')
        ent3 = BaseEntity('E3')

        ent3.add_dep(ent2)

        self.assertFalse(ent1.excluded())
        self.assertTrue(ent1.excluded(["E1"]))
        self.assertTrue(ent3.excluded(["E2"]))
示例#17
0
 def test_eval_deps_no_status(self):
     """Test that eval_deps_status return NO_STATUS"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     serv_a.status = WARNING
     service.add_dep(serv_a)
     service.add_dep(serv_b, CHECK)
     self.assertEqual(service.eval_deps_status(), NO_STATUS)
     serv_a.status = NO_STATUS
     serv_b.status = WARNING
     self.assertEqual(service.eval_deps_status(), NO_STATUS)
示例#18
0
 def test_eval_deps_no_status(self):
     """Test that eval_deps_status return NO_STATUS"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     serv_a.status = WARNING
     service.add_dep(serv_a)
     service.add_dep(serv_b, CHECK)
     self.assertEqual(service.eval_deps_status(), NO_STATUS)
     serv_a.status = NO_STATUS
     serv_b.status = WARNING
     self.assertEqual(service.eval_deps_status(), NO_STATUS)
示例#19
0
 def test_is_ready(self):
     """Test method allowing us to determine if a service can be processed"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('parent')
     ent_dep2 = BaseEntity('parent2')
     ent.add_dep(ent_dep)
     ent.add_dep(ent_dep2)
     self.assertFalse(ent.is_ready())
     ent_dep.status = WAITING_STATUS
     self.assertFalse(ent.is_ready())
     ent_dep.status = DONE
     ent_dep2.status = DONE
     self.assertTrue(ent.is_ready())
示例#20
0
 def test_is_ready(self):
     """Test method allowing us to determine if a service can be processed"""
     ent = BaseEntity('foo')
     ent_dep = BaseEntity('parent')
     ent_dep2 = BaseEntity('parent2')
     ent.add_dep(ent_dep)
     ent.add_dep(ent_dep2)
     self.assertFalse(ent.is_ready())
     ent_dep.status = WAITING_STATUS
     self.assertFalse(ent.is_ready())
     ent_dep.status = DONE
     ent_dep2.status = DONE
     self.assertTrue(ent.is_ready())
示例#21
0
 def test_eval_deps_warnings(self):
     """eval_deps_status() is DONE with REQUIRE_WEAK on error"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     service.add_dep(serv_a, REQUIRE_WEAK)
     service.add_dep(serv_b, REQUIRE_WEAK)
     serv_a.status = DONE
     serv_b.status = ERROR
     self.assertEqual(service.eval_deps_status(), DONE)
     serv_b.status = DEP_ERROR
     serv_a.status = TIMEOUT
     self.assertEqual(service.eval_deps_status(), DONE)
示例#22
0
 def test_eval_deps_warnings(self):
     """eval_deps_status() is DONE with REQUIRE_WEAK on error"""
     service = BaseEntity("test_service")
     serv_a = BaseEntity("A")
     serv_b = BaseEntity("B")
     service.add_dep(serv_a, REQUIRE_WEAK)
     service.add_dep(serv_b, REQUIRE_WEAK)
     serv_a.status = DONE
     serv_b.status = ERROR
     self.assertEqual(service.eval_deps_status(), DONE)
     serv_b.status = DEP_ERROR
     serv_a.status = TIMEOUT
     self.assertEqual(service.eval_deps_status(), DONE)
示例#23
0
    def test_add_dep_bad_cases(self):
        """Test bad usage of the method add_dep"""
        ent = BaseEntity('foo')
        ent_dep = BaseEntity('child')
        ent.add_dep(ent_dep, CHECK)

        # Dependency with a None Service
        self.assertRaises(AssertionError, ent.add_dep, None)

        # Dependency with bad name identifier
        self.assertRaises(IllegalDependencyTypeError,
            ent.add_dep, BaseEntity('A'), 'BAD')

        #Already referenced dependency 
        r_ent = BaseEntity('child')
        self.assertRaises(DependencyAlreadyReferenced,
            ent.add_dep, r_ent)

        #Same with reversed dependency
        ent.add_dep(ent_dep, CHECK, parent=False)
        self.assertRaises(DependencyAlreadyReferenced,
            ent.add_dep, r_ent, parent=False)
示例#24
0
    def test_add_dep_bad_cases(self):
        """Test bad usage of the method add_dep"""
        ent = BaseEntity('foo')
        ent_dep = BaseEntity('child')
        ent.add_dep(ent_dep, CHECK)

        # Dependency with a None Service
        self.assertRaises(AssertionError, ent.add_dep, None)

        # Dependency with bad name identifier
        self.assertRaises(IllegalDependencyTypeError, ent.add_dep,
                          BaseEntity('A'), 'BAD')

        #Already referenced dependency
        r_ent = BaseEntity('child')
        self.assertRaises(DependencyAlreadyReferenced, ent.add_dep, r_ent)

        #Same with reversed dependency
        ent.add_dep(ent_dep, CHECK, parent=False)
        self.assertRaises(DependencyAlreadyReferenced,
                          ent.add_dep,
                          r_ent,
                          parent=False)
示例#25
0
 def test_search_node_graph_reverse(self):
     """Test the research of node through a graph in reverse mod"""
     ent1 = BaseEntity('E1')
     ent2 = BaseEntity('E2')
     ent3 = BaseEntity('E3')
     ent4 = BaseEntity('E4')
     ent1.add_dep(ent2)
     ent1.add_dep(ent3)
     ent2.add_dep(ent4)
     ent3.add_dep(ent4)
     self.assertTrue(ent4.search('E1', True) is ent1)
     self.assertTrue(ent4.search('E5', True) is None)
示例#26
0
 def test_search_node_graph(self):
     """Test the research of a node through a graph"""
     ent1 = BaseEntity('E1')
     ent2 = BaseEntity('E2')
     ent3 = BaseEntity('E3')
     ent4 = BaseEntity('E4')
     ent1.add_dep(ent2)
     ent1.add_dep(ent3)
     ent2.add_dep(ent4)
     ent3.add_dep(ent4)
     self.assertTrue(ent1.search('E3') is ent3)
     self.assertTrue(ent1.search('E5') is None)
示例#27
0
 def test_search_node_graph(self):
     """Test the research of a node through a graph"""
     ent1 = BaseEntity('E1')
     ent2 = BaseEntity('E2')
     ent3 = BaseEntity('E3')
     ent4 = BaseEntity('E4')
     ent1.add_dep(ent2)
     ent1.add_dep(ent3)
     ent2.add_dep(ent4)
     ent3.add_dep(ent4)
     self.assertTrue(ent1.search('E3') is ent3)
     self.assertTrue(ent1.search('E5') is None)
示例#28
0
 def test_search_node_graph_reverse(self):
     """Test the research of node through a graph in reverse mod"""
     ent1 = BaseEntity('E1')
     ent2 = BaseEntity('E2')
     ent3 = BaseEntity('E3')
     ent4 = BaseEntity('E4')
     ent1.add_dep(ent2)
     ent1.add_dep(ent3)
     ent2.add_dep(ent4)
     ent3.add_dep(ent4)
     self.assertTrue(ent4.search('E1', True) is ent1)
     self.assertTrue(ent4.search('E5', True) is None)
示例#29
0
 def test_search_deps(self):
     """Test method search_deps"""
     ent = BaseEntity('test_service')
     ent_a = BaseEntity('A')
     ent_b = BaseEntity('B')
     ent.add_dep(ent_a)
     ent.add_dep(ent_b, CHECK)
     self.assertEqual(len(ent.search_deps()), 2)
     self.assertEqual(len(ent.search_deps([NO_STATUS])), 2)
     ent_c = BaseEntity('C')
     ent_c.status = DONE
     ent.add_dep(ent_c)
     self.assertEqual(len(ent.search_deps([NO_STATUS])), 2)
     self.assertEqual(len(ent.search_deps([NO_STATUS, DONE])), 3)
示例#30
0
 def test_search_deps(self):
     """Test method search_deps"""
     ent = BaseEntity('test_service')
     ent_a = BaseEntity('A')
     ent_b = BaseEntity('B')
     ent.add_dep(ent_a)
     ent.add_dep(ent_b, CHECK)
     self.assertEqual(len(ent.search_deps()), 2)
     self.assertEqual(len(ent.search_deps([NO_STATUS])), 2)
     ent_c = BaseEntity('C')
     ent_c.status = DONE
     ent.add_dep(ent_c)
     self.assertEqual(len(ent.search_deps([NO_STATUS])), 2)
     self.assertEqual(len(ent.search_deps([NO_STATUS, DONE])), 3)