def get_layer_obj(sha): '''Given the sha, retrieve the list of packages from the cache and return a layer object''' layer_obj = Layer(sha) packages = cache.get_packages(sha) for package in packages: pkg_obj = Package(package['name']) pkg_obj.fill(package) layer_obj.add(pkg_obj) return layer_obj
class TestClassLayer(unittest.TestCase): def setUp(self): self.layer = Layer('123abc') def tearDown(self): del self.layer def testInstance(self): self.assertEqual(self.layer.sha, '123abc') self.assertFalse(self.layer.packages) self.assertRaises(AttributeError, setattr, self.layer, 'sha', '456def') def testAddingPackage(self): p1 = Package('x') self.layer.add(p1) self.assertEqual(len(self.layer.packages), 1) def testRemovePackage(self): p1 = Package('x') p2 = Package('y') self.layer.add(p1) self.layer.add(p2) self.assertTrue(self.layer.remove('y')) self.assertFalse(self.layer.remove('y')) def testToDict(self): p1 = Package('x') self.layer.add(p1) a_dict = self.layer.to_dict() print(a_dict) self.assertTrue(a_dict['123abc']) self.assertEqual(len(a_dict['123abc']), 1) self.assertEqual(a_dict['123abc'][0]['name'], 'x')
def build_layer_obj(sha, pkg_obj_list=[]): '''Create a layer object given the sha and a list of package objects''' layer_obj = Layer(sha) for pkg in pkg_obj_list: layer_obj.add(pkg) return layer_obj