def test_remove_inter_dep(self): '''Test ability to remove a dependency in a subgraph''' group = ServiceGroup('GROUP') s1 = Service('alpha') s2 = Service('beta') s3 = Service('lambda') group.add_inter_dep(target=s1) group.add_inter_dep(target=s2) group.add_inter_dep(target=s3) group.add_inter_dep(base=s1, target=s3) group.add_inter_dep(base=s2, target=s3) group.remove_inter_dep('lambda') self.assertTrue(s1.has_parent_dep('sink')) self.assertTrue(s2.has_parent_dep('sink')) self.assertTrue(s1.has_child_dep('source')) self.assertTrue(s2.has_child_dep('source')) self.assertFalse(s1.has_parent_dep('lambda')) self.assertFalse(s2.has_parent_dep('lambda')) group.remove_inter_dep('alpha') self.assertFalse(group._source.has_parent_dep('alpha')) self.assertTrue(group._source.has_parent_dep('beta')) self.assertFalse(group._sink.has_child_dep('alpha')) self.assertTrue(group._sink.has_child_dep('beta')) group.remove_inter_dep('beta') self.assertFalse(group._source.parents) self.assertFalse(group._sink.children)
def test_remove_inter_dep(self): '''Test ability to remove a dependency in a subgraph''' group = ServiceGroup('GROUP') s1 = Service('alpha') s2 = Service('beta') s3 = Service('lambda') group.add_inter_dep(target=s1) group.add_inter_dep(target=s2) group.add_inter_dep(target=s3) group.add_inter_dep(base=s1, target=s3) group.add_inter_dep(base=s2, target=s3) group.remove_inter_dep('lambda') self.assertTrue(s1.has_parent_dep('sink')) self.assertTrue(s2.has_parent_dep('sink')) self.assertTrue(s1.has_child_dep('source')) self.assertTrue(s2.has_child_dep('source')) self.assertFalse(s1.has_parent_dep('lambda')) self.assertFalse(s2.has_parent_dep('lambda')) group.remove_inter_dep('alpha') self.assertFalse(group._source.has_parent_dep('alpha')) self.assertTrue(group._source.has_parent_dep('beta')) self.assertFalse(group._sink.has_child_dep('alpha')) self.assertTrue(group._sink.has_child_dep('beta')) group.remove_inter_dep('beta') self.assertFalse(group._source.parents) self.assertFalse(group._sink.children)
def test_add_inter_dep_service_group_second(self): '''Test ability to add dependencies to the subgraph N2''' group = ServiceGroup('GROUP') s1 = Service('alpha') s2 = Service('beta') s3 = Service('lambda') group.add_inter_dep(target=s1) group.add_inter_dep(base=s1, target=s2) group.add_inter_dep(target=s3) group.add_inter_dep(base=s1, target=s3) self.assertTrue(s1.has_parent_dep('beta')) self.assertTrue(s1.has_parent_dep('lambda')) self.assertTrue(s1.has_child_dep('source')) self.assertTrue(s2.has_child_dep('alpha')) self.assertTrue(s3.has_child_dep('alpha')) self.assertTrue(s2.has_parent_dep('sink')) self.assertTrue(s3.has_parent_dep('sink'))
def test_add_inter_dep_service_group_second(self): '''Test ability to add dependencies to the subgraph N2''' group = ServiceGroup('GROUP') s1 = Service('alpha') s2 = Service('beta') s3 = Service('lambda') group.add_inter_dep(target=s1) group.add_inter_dep(base=s1, target=s2) group.add_inter_dep(target=s3) group.add_inter_dep(base=s1, target=s3) self.assertTrue(s1.has_parent_dep('beta')) self.assertTrue(s1.has_parent_dep('lambda')) self.assertTrue(s1.has_child_dep('source')) self.assertTrue(s2.has_child_dep('alpha')) self.assertTrue(s3.has_child_dep('alpha')) self.assertTrue(s2.has_parent_dep('sink')) self.assertTrue(s3.has_parent_dep('sink'))
def test_forget_service(self): '''The how the manager forgets a service properly''' manager = service_manager_self() s1 = Service('S1') s2 = Service('S2') s3 = Service('S3') s4 = Service('S4') s1.add_dep(target=s2) s2.add_dep(target=s3) s2.add_dep(target=s4) manager.register_services(s1, s2, s3, s4) manager.forget_service(s1) self.assertFalse(manager.has_service(s1)) self.assertFalse(s1.has_parent_dep('S2')) self.assertFalse(s2.has_child_dep('S1')) manager.forget_services(s2, s4) self.assertFalse(manager.has_service(s2)) self.assertFalse(manager.has_service(s4)) self.assertFalse(s4.has_child_dep('S3')) self.assertFalse(s3.has_parent_dep('S4'))
def test_add_dep_service_group(self): '''Test ability to add dependencies to a ServiceGroup''' ser_group = ServiceGroup('GROUP') s1 = Service('alpha') s1.add_action(Action('start', HOSTNAME, '/bin/true')) s2 = Service('beta') s2.add_action(Action('action', HOSTNAME, '/bin/true')) s3 = Service('lambda') ser_group.add_inter_dep(target=s1) ser_group.add_inter_dep(target=s2) ser_group.add_dep(target=s3) self.assertTrue(ser_group.has_action('start')) self.assertTrue(ser_group.has_action('action')) self.assertTrue(s1.name in ser_group._source.parents) self.assertTrue(s1.name in ser_group._sink.children) self.assertTrue(s2.name in ser_group._source.parents) self.assertTrue(s2.name in ser_group._sink.children) self.assertFalse(s3.name in ser_group.children) self.assertTrue(s3.name in ser_group.parents) s4 = Service('theta') s4.add_action(Action('fire', HOSTNAME, '/bin/true')) ser_group.add_dep(target=s4, parent=False) self.assertTrue(s4.name in ser_group.children) self.assertTrue(s4.has_parent_dep(ser_group.name))
def test_add_dep_service_group(self): '''Test ability to add dependencies to a ServiceGroup''' ser_group = ServiceGroup('GROUP') s1 = Service('alpha') s1.add_action(Action('start', HOSTNAME, '/bin/true')) s2 = Service('beta') s2.add_action(Action('action', HOSTNAME, '/bin/true')) s3 = Service('lambda') ser_group.add_inter_dep(target=s1) ser_group.add_inter_dep(target=s2) ser_group.add_dep(target=s3) self.assertTrue(ser_group.has_action('start')) self.assertTrue(ser_group.has_action('action')) self.assertTrue(s1.name in ser_group._source.parents) self.assertTrue(s1.name in ser_group._sink.children) self.assertTrue(s2.name in ser_group._source.parents) self.assertTrue(s2.name in ser_group._sink.children) self.assertFalse(s3.name in ser_group.children) self.assertTrue(s3.name in ser_group.parents) s4 = Service('theta') s4.add_action(Action('fire', HOSTNAME,'/bin/true')) ser_group.add_dep(target=s4, parent=False) self.assertTrue(s4.name in ser_group.children) self.assertTrue(s4.has_parent_dep(ser_group.name))