def test_cv_postupgrade_scenario(self): """This is post-upgrade scenario test to verify if we can update content-view created in pre-upgrade scenario with various repositories. :id: a4ebbfa1-106a-4962-9c7c-082833879ae8 :steps: 1. Remove yum repository which was added to content-view before upgrade. 2. Create new yum repository and add it to content-view. 3. Remove puppet module which was added to content-view before upgrade. 4. Add another puppet module to content-view 5. Publish content-view :expectedresults: content-view updated with various repositories. """ product_id = Repository.info({ 'name': self.yum_repo1_name, 'organization': self.org_name, 'product': self.product_name })['product']['id'] ContentView.remove_repository({ 'organization': self.org_name, 'name': self.cv_name, 'repository': self.yum_repo1_name }) content_view = ContentView.info({ 'name': self.cv_name, 'organization': self.org_name }) self.assertNotIn(self.yum_repo1_name, content_view['yum-repositories']) yum_repo2 = make_repository({ 'name': self.yum_repo2_name, 'organization': self.org_name, 'content-type': 'yum', 'product-id': product_id, 'url': FAKE_2_YUM_REPO }) Repository.synchronize({ 'id': yum_repo2['id'], 'organization': self.org_name }) ContentView.add_repository({ 'name': self.cv_name, 'organization': self.org_name, 'product': self.product_name, 'repository-id': yum_repo2['id'] }) content_view = ContentView.info({ 'name': self.cv_name, 'organization': self.org_name }) self.assertEqual( content_view['yum-repositories'][0]['name'], self.yum_repo2_name, 'Repo was not associated to CV', ) ContentView.puppet_module_remove({ 'organization': self.org_name, 'content-view': self.cv_name, 'name': self.puppet_module_name, 'author': self.puppet_module_author, }) content_view = ContentView.info({ 'name': self.cv_name, 'organization': self.org_name }) self.assertEqual(len(content_view['puppet-modules']), 0) module = {'name': 'versioned', 'version': '2.2.2'} puppet_module = PuppetModule.list( {'search': 'name={name} and version={version}'.format(**module)})[0] ContentView.puppet_module_add({ 'organization': self.org_name, 'content-view': self.cv_name, 'name': puppet_module['name'], 'author': puppet_module['author'], }) content_view = ContentView.info({'id': content_view['id']}) self.assertGreater(len(content_view['puppet-modules']), 0) ContentView.publish({ 'name': self.cv_name, 'organization': self.org_name }) content_view = ContentView.info({ 'name': self.cv_name, 'organization': self.org_name }) self.assertEqual(len(content_view['versions']), 2)
def test_cv_postupgrade_scenario(self): """This is post-upgrade scenario test to verify if we can update content-view created in pre-upgrade scenario with various repositories. :id: a4ebbfa1-106a-4962-9c7c-082833879ae8 :steps: 1. Remove yum repository which was added to content-view before upgrade. 2. Create new yum repository and add it to content-view. 3. Remove puppet module which was added to content-view before upgrade. 4. Add another puppet module to content-view 5. Publish content-view :expectedresults: content-view updated with various repositories. """ product_id = Repository.info({ 'name': self.yum_repo1_name, 'organization': self.org_name, 'product': self.product_name })['product']['id'] ContentView.remove_repository({ 'organization': self.org_name, 'name': self.cv_name, 'repository': self.yum_repo1_name }) content_view = ContentView.info({'name': self.cv_name, 'organization': self.org_name}) self.assertNotIn(self.yum_repo1_name, content_view['yum-repositories']) yum_repo2 = make_repository({ 'name': self.yum_repo2_name, 'organization': self.org_name, 'content-type': 'yum', 'product-id': product_id, 'url': FAKE_2_YUM_REPO}) Repository.synchronize({'id': yum_repo2['id'], 'organization': self.org_name}) ContentView.add_repository({ 'name': self.cv_name, 'organization': self.org_name, 'product': self.product_name, 'repository-id': yum_repo2['id']}) content_view = ContentView.info({'name': self.cv_name, 'organization': self.org_name}) self.assertEqual( content_view['yum-repositories'][0]['name'], self.yum_repo2_name, 'Repo was not associated to CV', ) ContentView.puppet_module_remove({ 'organization': self.org_name, 'content-view': self.cv_name, 'name': self.puppet_module_name, 'author': self.puppet_module_author, }) content_view = ContentView.info({'name': self.cv_name, 'organization': self.org_name}) self.assertEqual(len(content_view['puppet-modules']), 0) module = {'name': 'versioned', 'version': '2.2.2'} puppet_module = PuppetModule.list({ 'search': 'name={name} and version={version}'.format(**module)})[0] ContentView.puppet_module_add({ 'organization': self.org_name, 'content-view': self.cv_name, 'name': puppet_module['name'], 'author': puppet_module['author'], }) content_view = ContentView.info({'id': content_view['id']}) self.assertGreater(len(content_view['puppet-modules']), 0) ContentView.publish({'name': self.cv_name, 'organization': self.org_name}) content_view = ContentView.info({'name': self.cv_name, 'organization': self.org_name}) self.assertEqual(len(content_view['versions']), 2)