def test_registration_ok(self): '''This test case ensures all resources are registered correctly.''' registrator = ResourcesRegistrator(Mock(), file_patterns=["simple_resource.py"], folder_pattern=["tests/"]) root_folder = instantiator.get_class_abslocation(SettingsFacade) registrator.register_resources(root_folder) registry = ResourcesRegistry() resource = registry.find_by_name("Simple Resource") self.assertIsNotNone(resource) self.assertEqual(resource.name, "Simple Resource") self.assertEqual(resource.version, 1.0) self.assertEqual(resource.url, "/simple-resources") self.assertEqual(resource.subresources, {"address": ["address_id"]}) model = resource.model self.assertIsNotNone(model) from fantastico.roa.tests.simple_resource import SimpleResource self.assertEqual(model, SimpleResource)
def test_registration_ok(self): '''This test case ensures all resources are registered correctly.''' registrator = ResourcesRegistrator( Mock(), file_patterns=["simple_resource.py"], folder_pattern=["tests/"]) root_folder = instantiator.get_class_abslocation(SettingsFacade) registrator.register_resources(root_folder) registry = ResourcesRegistry() resource = registry.find_by_name("Simple Resource") self.assertIsNotNone(resource) self.assertEqual(resource.name, "Simple Resource") self.assertEqual(resource.version, 1.0) self.assertEqual(resource.url, "/simple-resources") self.assertEqual(resource.subresources, {"address": ["address_id"]}) model = resource.model self.assertIsNotNone(model) from fantastico.roa.tests.simple_resource import SimpleResource self.assertEqual(model, SimpleResource)
def test_unregister_resource_namenotfound(self): '''This test case ensures no exception is raised if the given resource name is not registered.''' registry = ResourcesRegistry() registry.unregister_resource("not_found", 1.0) self.assertIsNone(registry.find_by_name("not_found", 1.0))
def test_find_resource_by_name_notfound(self): '''This test case ensures no exception is raised when we try to retrieve a resource which is not registered.''' registry = ResourcesRegistry() resource = registry.find_by_name("app-setting", 1.0) self.assertIsNone(resource)
def _find_resource_by_name(self, name, version): '''This method provides a test case template for find by name method.''' resource = Resource(name=name, url="/%ss" % name) registry = ResourcesRegistry() registry.register_resource(resource) if version != "latest": found_resource = registry.find_by_name(name, version) else: found_resource = registry.find_by_name(name) self.assertEqual(resource.name, found_resource.name) self.assertEqual(resource.version, found_resource.version) self.assertEqual(resource.url, found_resource.url) self.assertEqual(resource.model, found_resource.model)
def test_unregister_resource_noremaining_version(self): '''This test case ensures latest version is also removed when all resource versions are removed.''' registry = ResourcesRegistry() expected_name = "app-setting" expected_url = "/app-setting" resource1 = Resource(name=expected_name, url=expected_url, version=1.0) registry.register_resource(resource1) self.assertEqual(registry.find_by_name(expected_name), resource1) self.assertEqual(registry.find_by_url(expected_url), resource1) registry.unregister_resource(expected_name, version=1.0) self.assertIsNone(registry.find_by_name(expected_name)) self.assertIsNone(registry.find_by_url(expected_url))
def test_unregister_resource_versionnotfound(self): '''This test case ensures no exception is raised if the given resource version is not registered.''' registry = ResourcesRegistry() registry.register_resource(Resource(name="for_test", url="/for_test", version=2.0)) registry.unregister_resource("for_test", 1.0) self.assertIsNone(registry.find_by_name("for_test", 1.0))
def test_unregister_resource_ok(self): '''This test case ensures unregister is ok for registered resources.''' registry = ResourcesRegistry() expected_name = "app-setting" expected_url = "/app-setting" resource1 = Resource(name=expected_name, url=expected_url, version=1.0) resource2 = Resource(name=expected_name, url=expected_url, version=2.0) registry.register_resource(resource1) registry.register_resource(resource2) registry.unregister_resource(expected_name, 2.0) self.assertIsNone(registry.find_by_name(expected_name, 2.0)) self.assertIsNone(registry.find_by_url(expected_url, 2.0)) self.assertEqual(registry.find_by_name(expected_name), resource1) self.assertEqual(registry.find_by_url(expected_url), resource1)
def test_unregister_resource_versionnotfound(self): '''This test case ensures no exception is raised if the given resource version is not registered.''' registry = ResourcesRegistry() registry.register_resource( Resource(name="for_test", url="/for_test", version=2.0)) registry.unregister_resource("for_test", 1.0) self.assertIsNone(registry.find_by_name("for_test", 1.0))
def test_find_resource_by_name_version_notfound(self): '''This test case ensures no exception is raised when we try to retrieve a resource which does not have the version requested registered.''' registry = ResourcesRegistry() registry.register_resource(Resource(name="app-setting", url="/app-settings")) resource = registry.find_by_name("app-setting", 2.0) self.assertIsNone(resource)
def test_find_resource_by_name_version_notfound(self): '''This test case ensures no exception is raised when we try to retrieve a resource which does not have the version requested registered.''' registry = ResourcesRegistry() registry.register_resource( Resource(name="app-setting", url="/app-settings")) resource = registry.find_by_name("app-setting", 2.0) self.assertIsNone(resource)
def test_unregister_resource_latestnotallowed(self): '''This test case ensures that nothing happens if latest is given as version.''' registry = ResourcesRegistry() expected_name = "app-setting" expected_url = "/app-setting" resource1 = Resource(name=expected_name, url=expected_url, version=1.0) registry.register_resource(resource1) registry.unregister_resource(expected_name, version="latest") self.assertEqual(registry.find_by_name(expected_name), resource1) self.assertEqual(registry.find_by_url(expected_url), resource1)