def test_upgrade_idempotency(self): # Test report = UpgradeStepReport() units._distributions(self.v1_test_db.database, self.tmp_test_db.database, report) result = units._distributions(self.v1_test_db.database, self.tmp_test_db.database, report) # Verify - Simple Count Check self.assertTrue(result) # Units v1_distros = self.v1_test_db.database.distribution.find() v2_distros = self.tmp_test_db.database.units_distribution.find() self.assertEqual(v1_distros.count(), v2_distros.count()) # Associations v1_distros = self.v1_test_db.database.distribution.find() for v1_distro in v1_distros: expected_repo_ids = v1_distro['repoids'] v2_distro = self.tmp_test_db.database.units_distribution.find_one({'id' : v1_distro['id']}, {'_id' : 1}) ass_query = {'unit_id' : v2_distro['_id'], 'repo_id' : {'$in' : expected_repo_ids}} associations = self.tmp_test_db.database.repo_content_units.find(ass_query) self.assertEqual(len(expected_repo_ids), associations.count())
def test_upgrade(self): # Test report = UpgradeStepReport() result = units._distributions(self.v1_test_db.database, self.tmp_test_db.database, report) # Verify self.assertTrue(result) # Units v1_distros = self.v1_test_db.database.distribution.find().sort('id') v2_distros = self.tmp_test_db.database.units_distribution.find().sort('id') self.assertEqual(v1_distros.count(), v2_distros.count()) for v1_distro, v2_distro in zip(v1_distros, v2_distros): self.assertTrue(isinstance(v2_distro['_id'], basestring)) self.assertEqual(v2_distro['_content_type_id'], 'distribution') expected_path = '/var/lib/pulp/content/distribution/%s' % v2_distro['id'] self.assertEqual(v2_distro['_storage_path'], expected_path) self.assertEqual(v1_distro['id'], v2_distro['id']) self.assertEqual(v1_distro['arch'], v2_distro['arch']) self.assertEqual(v1_distro['version'], v2_distro['version']) self.assertEqual(v1_distro['variant'], v2_distro['variant']) self.assertEqual(v1_distro['family'], v2_distro['family']) non_treeinfo_v1_files = [f for f in v1_distro['files'] if '.treeinfo' not in f] self.assertEqual(len(non_treeinfo_v1_files), len(v2_distro['files'])) # Associations v1_distros = self.v1_test_db.database.distribution.find() for v1_distro in v1_distros: expected_repo_ids = v1_distro['repoids'] v2_distro = self.tmp_test_db.database.units_distribution.find_one({'id' : v1_distro['id']}, {'_id' : 1}) ass_query = {'unit_id' : v2_distro['_id'], 'repo_id' : {'$in' : expected_repo_ids}} associations = self.tmp_test_db.database.repo_content_units.find(ass_query) self.assertEqual(len(expected_repo_ids), associations.count()) for association in associations: self.assertTrue(isinstance(association['_id'], ObjectId)) self.assertTrue(association['repo_id'] in expected_repo_ids) self.assertEqual(association['unit_id'], v2_distro['_id']) self.assertEqual(association['unit_type_id'], 'distribution') self.assertEqual(association['owner_type'], units.DEFAULT_OWNER_TYPE) self.assertEqual(association['owner_id'], units.DEFAULT_OWNER_ID) self.assertEqual(association['created'], units.DEFAULT_CREATED) self.assertEqual(association['updated'], units.DEFAULT_UPDATED)
def test_upgrade(self): # Test report = UpgradeStepReport() result = units._distributions(self.v1_test_db.database, self.tmp_test_db.database, report) # Verify self.assertTrue(result) # Units v1_distros = self.v1_test_db.database.distribution.find().sort("id") v2_distros = self.tmp_test_db.database.units_distribution.find().sort("id") self.assertEqual(v1_distros.count(), v2_distros.count()) for v1_distro, v2_distro in zip(v1_distros, v2_distros): self.assertTrue(isinstance(v2_distro["_id"], basestring)) self.assertEqual(v2_distro["_content_type_id"], "distribution") expected_path = "/var/lib/pulp/content/distribution/%s" % v2_distro["id"] self.assertEqual(v2_distro["_storage_path"], expected_path) self.assertEqual(v1_distro["id"], v2_distro["id"]) self.assertEqual(v1_distro["arch"], v2_distro["arch"]) self.assertEqual(v1_distro["version"], v2_distro["version"]) self.assertEqual(v1_distro["variant"], v2_distro["variant"]) self.assertEqual(v1_distro["family"], v2_distro["family"]) non_treeinfo_v1_files = [f for f in v1_distro["files"] if ".treeinfo" not in f] self.assertEqual(len(non_treeinfo_v1_files), len(v2_distro["files"])) # Associations v1_distros = self.v1_test_db.database.distribution.find() for v1_distro in v1_distros: expected_repo_ids = v1_distro["repoids"] v2_distro = self.tmp_test_db.database.units_distribution.find_one({"id": v1_distro["id"]}, {"_id": 1}) ass_query = {"unit_id": v2_distro["_id"], "repo_id": {"$in": expected_repo_ids}} associations = self.tmp_test_db.database.repo_content_units.find(ass_query) self.assertEqual(len(expected_repo_ids), associations.count()) for association in associations: self.assertTrue(isinstance(association["_id"], ObjectId)) self.assertTrue(association["repo_id"] in expected_repo_ids) self.assertEqual(association["unit_id"], v2_distro["_id"]) self.assertEqual(association["unit_type_id"], "distribution") self.assertEqual(association["owner_type"], units.DEFAULT_OWNER_TYPE) self.assertEqual(association["owner_id"], units.DEFAULT_OWNER_ID) self.assertEqual(association["created"], units.DEFAULT_CREATED) self.assertEqual(association["updated"], units.DEFAULT_UPDATED)