2 from neco.execution.resource import Resource, ResourceFactory, clsinit
3 from neco.execution.attribute import Attribute
8 class MyResource(Resource):
12 def _register_attributes(cls):
13 cool_attr = Attribute("my_attr", "is a really nice attribute!")
14 cls._register_attribute(cool_attr)
16 def __init__(self, ec, guid):
17 super(MyResource, self).__init__(ec, guid)
20 class AnotherResource(Resource):
21 _rtype = "AnotherResource"
23 def __init__(self, ec, guid):
24 super(AnotherResource, self).__init__(ec, guid)
30 class ResourceTestCase(unittest.TestCase):
31 def test_add_resource_factory(self):
32 ResourceFactory.register_type(MyResource)
33 ResourceFactory.register_type(AnotherResource)
35 self.assertEquals(MyResource.rtype(), "MyResource")
36 self.assertEquals(len(MyResource._attributes), 1)
38 self.assertEquals(Resource.rtype(), "Resource")
39 self.assertEquals(len(Resource._attributes), 0)
41 self.assertEquals(AnotherResource.rtype(), "AnotherResource")
42 self.assertEquals(len(AnotherResource._attributes), 0)
44 self.assertEquals(len(ResourceFactory.resource_types()), 2)
46 if __name__ == '__main__':