def test_fullname(self): '''Test that the property return the fullname of the current entity''' ent1 = BaseEntity('alpha') self.assertEqual(ent1.fullname(), ent1.name) ent2 = BaseEntity('beta') ent3 = BaseEntity('gamma') ent2.parent = ent3 ent1.parent = ent2 self.assertEqual(ent1.fullname(), 'gamma.beta.alpha')
def test_lookup_variables3(self): '''Test variables resolution with an undefined var''' service = BaseEntity('test_service') service.add_var('VAR', 'test') group = BaseEntity('group_service') group.add_var('GVAR', 'group') service.parent = group self.assertRaises(UndefinedVariableError, service._lookup_variable, 'BAD_VAR')
def test_lookup_variables2(self): '''Test variables resolution through multiple entities''' service = BaseEntity('test_service') service.add_var('VAR', 'test') group = BaseEntity('group_service') group.add_var('GVAR', 'group') service.parent = group self.assertEqual(service._lookup_variable('VAR'), 'test') self.assertEqual(service._lookup_variable('GVAR'), 'group')
def test_lookup_variables4(self): '''Test variables resolution with a var referencing a property''' service = BaseEntity('test_service') service.add_var('VAR', 'test') group = BaseEntity('group_service') group.add_var('GVAR', 'group') service.parent = group self.assertEqual(service._lookup_variable('GVAR'), 'group') self.assertEqual(service._lookup_variable('TARGET'), None) self.assertEqual(service._lookup_variable('NAME'), 'test_service')
def test_longname(self): """ """ # No dep, no desc ent1 = BaseEntity('alpha') self.assertEqual(ent1.longname(), "alpha") # Desc, no dep ent1.desc = "small description" self.assertEqual(ent1.longname(), "alpha - small description") # Desc and dep ent2 = BaseEntity('beta') ent2.desc = "another description" ent2.parent = ent1 self.assertEqual(ent2.longname(), "alpha.beta - another description")
def test_resolve_property2(self): '''Test with nothing to replace in the property''' service = BaseEntity('test_service') group = BaseEntity('group_service') service.parent = group self.assertEqual(service.resolve_property('parent'), group)