def setUpClass(cls): """Create necessary objects which can be re-used in tests.""" super(DockerActivationKeyTestCase, cls).setUpClass() cls.org = make_org() cls.lce = make_lifecycle_environment({ 'organization-id': cls.org['id'], }) cls.product = make_product({ 'organization-id': cls.org['id'], }) cls.repo = _make_docker_repo(cls.product['id']) cls.content_view = make_content_view({ 'composite': False, 'organization-id': cls.org['id'], }) ContentView.add_repository({ 'id': cls.content_view['id'], 'repository-id': cls.repo['id'], }) cls.content_view = ContentView.info({ 'id': cls.content_view['id'] }) ContentView.publish({'id': cls.content_view['id']}) cls.content_view = ContentView.info({ 'id': cls.content_view['id']}) cls.cvv = ContentView.version_info({ 'id': cls.content_view['versions'][0]['id'], }) ContentView.version_promote({ 'id': cls.content_view['versions'][0]['id'], 'lifecycle-environment-id': cls.lce['id'], }) cls.cvv = ContentView.version_info({ 'id': cls.content_view['versions'][0]['id'], })
def test_promote_multiple_docker_repo_content_view(self): """@Test: Add Docker-type repository to content view and publish it. Then promote it to multiple available lifecycle-environments. @Assert: Docker-type repository is promoted to content view found in the specific lifecycle-environments. @Feature: Docker """ self._create_and_associate_repo_with_cv() ContentView.publish({'id': self.content_view['id']}) self.content_view = ContentView.info({ 'id': self.content_view['id']}) self.assertEqual(len(self.content_view['versions']), 1) cvv = ContentView.version_info({ 'id': self.content_view['versions'][0]['id'], }) self.assertEqual(len(cvv['lifecycle-environments']), 1) for i in range(1, randint(3, 6)): lce = make_lifecycle_environment({'organization-id': self.org_id}) ContentView.version_promote({ 'id': cvv['id'], 'lifecycle-environment-id': lce['id'], }) cvv = ContentView.version_info({ 'id': self.content_view['versions'][0]['id'], }) self.assertEqual(len(cvv['lifecycle-environments']), i+1)
def test_promote_docker_repo_composite_content_view(self): """@Test: Add Docker-type repository to composite content view and publish it. Then promote it to the next available lifecycle-environment. @Assert: Docker-type repository is promoted to content view found in the specific lifecycle-environment. @Feature: Docker """ self._create_and_associate_repo_with_cv() ContentView.publish({'id': self.content_view['id']}) self.content_view = ContentView.info({ 'id': self.content_view['id']}) self.assertEqual(len(self.content_view['versions']), 1) comp_content_view = make_content_view({ 'composite': True, 'organization-id': self.org_id, }) ContentView.update({ 'component-ids': self.content_view['versions'][0]['id'], 'id': comp_content_view['id'], }) comp_content_view = ContentView.info({ 'id': comp_content_view['id'], }) self.assertIn( self.content_view['versions'][0]['id'], [ component['id'] for component in comp_content_view['components'] ], ) ContentView.publish({'id': comp_content_view['id']}) comp_content_view = ContentView.info({ 'id': comp_content_view['id'], }) cvv = ContentView.version_info({ 'id': comp_content_view['versions'][0]['id'], }) self.assertEqual(len(cvv['lifecycle-environments']), 1) lce = make_lifecycle_environment({'organization-id': self.org_id}) ContentView.version_promote({ 'id': comp_content_view['versions'][0]['id'], 'lifecycle-environment-id': lce['id'], }) cvv = ContentView.version_info({ 'id': comp_content_view['versions'][0]['id'], }) self.assertEqual(len(cvv['lifecycle-environments']), 2)
def test_add_docker_repo_composite_view_to_activation_key(self): """@Test: Add Docker-type repository to a non-composite content view and publish it. Then add this content view to a composite content view and publish it. Create an activation key and associate it with the composite Docker content view. @Assert: Docker-based content view can be added to activation key @Feature: Docker """ comp_content_view = make_content_view({ 'composite': True, 'organization-id': self.org['id'], }) ContentView.update({ 'component-ids': self.content_view['versions'][0]['id'], 'id': comp_content_view['id'], }) comp_content_view = ContentView.info({ 'id': comp_content_view['id'], }) self.assertIn( self.content_view['versions'][0]['id'], [ component['id'] for component in comp_content_view['components'] ], ) ContentView.publish({'id': comp_content_view['id']}) comp_content_view = ContentView.info({ 'id': comp_content_view['id'], }) comp_cvv = ContentView.version_info({ 'id': comp_content_view['versions'][0]['id'], }) ContentView.version_promote({ 'id': comp_cvv['id'], 'lifecycle-environment-id': self.lce['id'], }) activation_key = make_activation_key({ 'content-view-id': comp_content_view['id'], 'lifecycle-environment-id': self.lce['id'], 'organization-id': self.org['id'], }) self.assertEqual( activation_key['content-view'], comp_content_view['name'])