def test_find_resource_by_url_notofound(self): '''This test case ensures None is returned if the resource can not be found by url.''' registry = ResourcesRegistry() resource = registry.find_by_url("/app-settings", "latest") self.assertIsNone(resource)
def _find_resource_by_url(self, url, version): '''This method provides a test case template for find by url method.''' resource = Resource(name=url[1:-1], url=url) registry = ResourcesRegistry() registry.register_resource(resource) if version != "latest": found_resource = registry.find_by_url(url, version) else: found_resource = registry.find_by_url(url) 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_find_resource_by_url_version_notfound(self): '''This test case ensures None is returned if the resource url is found but the requested version is not registered.''' registry = ResourcesRegistry() registry.register_resource(Resource(name="app-setting", url="/app-settings", version="1.0")) resource = registry.find_by_url("/app-settings", 2.0) self.assertIsNone(resource)
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_find_resource_by_url_version_notfound(self): '''This test case ensures None is returned if the resource url is found but the requested version is not registered.''' registry = ResourcesRegistry() registry.register_resource( Resource(name="app-setting", url="/app-settings", version="1.0")) resource = registry.find_by_url("/app-settings", 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)