def test_2(self): """basic resource loading test.""" pool = ResourcePool(cache_size=None) pool.register_resource(ResourceA) pool.register_resource(ResourceB) # test that resource matches our request, and its data isn't loaded variables = dict(foo="hey", bah="ho") resource = pool.get_resource("resource.a", variables) self.assertTrue(isinstance(resource, ResourceA)) self.assertEqual(resource.variables, variables) # test that a request via a resource's own handle gives the same resource resource_ = pool.get_resource_from_handle(resource.handle) self.assertTrue(resource_ is resource) # test that the same request again gives the cached resource resource_ = pool.get_resource("resource.a", variables) self.assertTrue(resource_ is resource) # clear caches, then test that the same request gives a new resource pool.clear_caches() resource_ = pool.get_resource("resource.a", variables) self.assertEqual(resource_.variables, variables) self.assertTrue(resource_ is not resource)
def test_1(self): """resource registration test.""" pool = ResourcePool(cache_size=None) with self.assertRaises(ResourceError): pool.get_resource("resource.a") pool.register_resource(ResourceA) pool.register_resource(ResourceB) with self.assertRaises(ResourceError): pool.register_resource(ResourceBad) resource_a = pool.get_resource("resource.a") resource_b = pool.get_resource("resource.b") self.assertTrue(isinstance(resource_a, ResourceA)) self.assertTrue(isinstance(resource_b, ResourceB))