def testTags(self): self.assertEquals(len(self.stack.getTags()), 0) prod = Product("afw", "1.2", "Linux", "/opt/sw/Linux/afw/1.2", "none") prod.tags = ["current", "beta"] self.stack.addProduct(prod) self.assertEquals(len(self.stack.getTags()), 2) prod.version = "1.3" prod.tags = [] self.stack.addProduct(prod) tags = self.stack.getTags() self.assertEquals(len(tags), 2) self.assertEquals(tags[0], "beta") self.assertEquals(tags[1], "current") prod = self.stack.getTaggedProduct("afw", "Linux", "stable") self.assert_(prod is None) prod = self.stack.getTaggedProduct("afw", "Linux", "beta") self.assertEqual(prod.version, "1.2") self.assertEqual(prod.flavor, "Linux") self.assertEqual(prod.db, self.dbpath) self.assertRaises(ProductNotFound, self.stack.assignTag, "gurn", "goober", "2") self.stack.assignTag("beta", "afw", "1.3") tags = self.stack.getTags() self.assertEquals(len(tags), 2) self.assertEquals(tags[0], "beta") self.assertEquals(tags[1], "current") prod = self.stack.getTaggedProduct("afw", "Linux", "beta") self.assertEqual(prod.version, "1.3") self.assertEqual(prod.flavor, "Linux") self.assertEqual(prod.db, self.dbpath) self.assert_(not self.stack.unassignTag("gurn", "afw", "Linux")) self.assert_(self.stack.unassignTag("beta", "afw")) tags = self.stack.getTags() self.assertEquals(len(tags), 1) self.assertEquals(tags[0], "current")