def test_negative_update_with_same_name(self): """@Test: Try to update content view filter using name of already existing entity @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'type': 'rpm', }) new_name = gen_string('alpha', 100) ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': new_name, 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': new_name, 'new-name': cvf_name, })
def test_negative_update_with_name(self): """@Test: Try to update content view filter using invalid names only @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'type': 'rpm', }) for new_name in invalid_values_list(): with self.subTest(new_name): with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, })
def test_update_cvf_repo(self): """Test: Create new content view filter and apply it to existing content view that has repository assigned to it. Try to update that filter and change affected repository on another one. @Feature: Content View Filter @Assert: Content view filter updated successfully and has new repository affected """ cvf_name = gen_string("utf8") ContentView.filter_create( { "content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": self.repo["id"], "type": "rpm", } ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(len(cvf["repositories"]), 1) self.assertEqual(cvf["repositories"][0]["name"], self.repo["name"]) new_repo = make_repository({u"product-id": self.product["id"]}) ContentView.add_repository({u"id": self.content_view["id"], u"repository-id": new_repo["id"]}) ContentView.filter_update( {"content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": new_repo["id"]} ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(len(cvf["repositories"]), 1) self.assertNotEqual(cvf["repositories"][0]["name"], self.repo["name"]) self.assertEqual(cvf["repositories"][0]["name"], new_repo["name"])
def test_negative_update_inclusion(self): """Test: Try to update content view filter and assign incorrect inclusion value for it @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'inclusion': 'wrong_value', 'name': cvf_name, }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true')
def test_positive_update_inclusion(self): """Create new content view filter and assign it to existing content view by id. Try to update that filter and assign opposite inclusion value for it @id: 76b3c66d-8200-4cf0-8cd0-b57de4ff12b0 @Assert: Content view filter updated successfully and has correct and expected value for inclusion parameter @CaseLevel: Integration """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true') ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'inclusion': 'false', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'false')
def test_positive_update_name(self): """Create new content view filter and assign it to existing content view by id. Try to update that filter using different value types as a name @Feature: Content View Filter @Assert: Content view filter updated successfully and has proper and expected name """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'type': 'rpm', }) for new_name in valid_data_list(): with self.subTest(new_name): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, }) self.assertEqual(cvf['name'], new_name) cvf_name = new_name # updating cvf name for next iteration
def test_update_wrongrepo_negative(self): """Test: Try to update content view filter using non-existing repository ID @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string("utf8") ContentView.filter_create( { "content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": self.repo["id"], "type": "rpm", } ) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update( { "content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": gen_string("numeric", 6), } )
def test_negative_update_with_same_name(self): """Try to update content view filter using name of already existing entity @id: 9c1b1c75-af57-4218-9e2d-e69d74f50e04 @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'organization-id': self.org['id'], 'type': 'rpm', }) new_name = gen_string('alpha', 100) ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': new_name, 'organization-id': self.org['id'], 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': new_name, 'new-name': cvf_name, })
def test_negative_update_inclusion(self): """Try to update content view filter and assign incorrect inclusion value for it @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'inclusion': 'wrong_value', 'name': cvf_name, }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true')
def test_negative_update_with_name(self): """Try to update content view filter using invalid names only @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'type': 'rpm', }) for new_name in invalid_values_list(): with self.subTest(new_name): with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, })
def test_positive_update_name(self): """Create new content view filter and assign it to existing content view by id. Try to update that filter using different value types as a name @id: 70ba8916-5898-4911-9de8-21d2e0fb3df9 @Assert: Content view filter updated successfully and has proper and expected name @CaseLevel: Integration """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'organization-id': self.org['id'], 'type': 'rpm', }) for new_name in valid_data_list(): with self.subTest(new_name): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, 'organization-id': self.org['id'], }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, }) self.assertEqual(cvf['name'], new_name) cvf_name = new_name # updating cvf name for next iteration
def test_negative_update_inclusion(self): """Try to update content view filter and assign incorrect inclusion value for it @id: 760400a8-49a5-4a31-924c-c232cb22ddad @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'organization-id': self.org['id'], 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'inclusion': 'wrong_value', 'name': cvf_name, }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true')
def test_negative_update_with_invalid_repo_id(self): """Try to update filter and assign repository which does not belong to filter content view @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) new_repo = make_repository({u'product-id': self.product['id']}) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': new_repo['id'], })
def test_positive_update_name(self): """Test: Create new content view filter and assign it to existing content view by id. Try to update that filter using different value types as a name @Feature: Content View Filter @Assert: Content view filter updated successfully and has proper and expected name """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'type': 'rpm', }) for new_name in valid_data_list(): with self.subTest(new_name): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, }) self.assertEqual(cvf['name'], new_name) cvf_name = new_name # updating cvf name for next iteration
def test_negative_update_with_same_name(self): """Try to update content view filter using name of already existing entity @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'type': 'rpm', }) new_name = gen_string('alpha', 100) ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': new_name, 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': new_name, 'new-name': cvf_name, })
def test_positive_update_inclusion(self): """Test: Create new content view filter and assign it to existing content view by id. Try to update that filter and assign opposite inclusion value for it @Feature: Content View Filter @Assert: Content view filter updated successfully and has correct and expected value for inclusion parameter """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true') ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'inclusion': 'false', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'false')
def test_positive_update_repo_with_different_type(self): """Create new content view filter and apply it to existing content view that has repository assigned to it. Try to update that filter and change affected repository on another one. That new repository should have another type from initial one (e.g. yum->docker) @id: cf3daa0d-e918-4330-95ad-f88933579829 @Assert: Content view filter updated successfully and has new repository affected @CaseLevel: Integration """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(len(cvf['repositories']), 1) self.assertEqual(cvf['repositories'][0]['name'], self.repo['name']) docker_repo = make_repository({ u'content-type': u'docker', u'docker-upstream-name': u'busybox', u'product-id': self.product['id'], u'url': DOCKER_REGISTRY_HUB, }) ContentView.add_repository({ u'id': self.content_view['id'], u'repository-id': docker_repo['id'], }) ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': docker_repo['id'], }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(len(cvf['repositories']), 1) self.assertNotEqual(cvf['repositories'][0]['name'], self.repo['name']) self.assertEqual(cvf['repositories'][0]['name'], docker_repo['name'])
def test_positive_update_repo_with_same_type(self): """Create new content view filter and apply it to existing content view that has repository assigned to it. Try to update that filter and change affected repository on another one. @id: b2f444fd-e65e-41ba-9941-620d3cdb260f @Assert: Content view filter updated successfully and has new repository affected @CaseLevel: Integration """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(len(cvf['repositories']), 1) self.assertEqual(cvf['repositories'][0]['name'], self.repo['name']) new_repo = make_repository({u'product-id': self.product['id']}) ContentView.add_repository({ u'id': self.content_view['id'], u'repository-id': new_repo['id'], }) ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': new_repo['id'], }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(len(cvf['repositories']), 1) self.assertNotEqual(cvf['repositories'][0]['name'], self.repo['name']) self.assertEqual(cvf['repositories'][0]['name'], new_repo['name'])
def test_negative_update_with_name(self): """Try to update content view filter using invalid names only @id: 6c40e452-f786-4e28-9f03-b1935b55b33a @Assert: Content view filter is not updated @BZ: 1328943 """ cvf_name = gen_string('utf8') content_view_filter = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'organization-id': self.org['id'], 'type': 'rpm', }) for new_name in invalid_values_list(): with self.subTest(new_name): with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, }) if bz_bug_is_open(1328943): result = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'id': content_view_filter['id'], }) self.assertEqual(result['name'], content_view_filter['name']) else: with self.assertRaises(CLIReturnCodeError): ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, })
def test_update_cvf_with_different_names_negative(self, new_name): """@Test: Try to update content view filter using invalid names only @Feature: Content View Filter @Assert: Content view filter is not updated """ result = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'type': 'rpm', 'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) result = ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': self.cvf_name, 'new-name': new_name, }) self.assertNotEqual(result.return_code, 0) self.assertNotEqual(len(result.stderr), 0) result = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, }) self.assertNotEqual(result.return_code, 0)
def test_update_cvf_with_same_name_negative(self): """@Test: Try to update content view filter using name of already existing entity @Feature: Content View Filter @Assert: Content view filter is not updated """ result = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'type': 'rpm', 'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) new_name = gen_string('alpha', 100) result = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'type': 'rpm', 'name': new_name, }) self.assertEqual(result.return_code, 0) result = ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': new_name, 'new-name': self.cvf_name, }) self.assertNotEqual(result.return_code, 0) self.assertNotEqual(len(result.stderr), 0)
def test_update_cvf_with_inclusion_negative(self): """Test: Try to update content view filter and assign incorrect inclusion value for it @Feature: Content View Filter @Assert: Content view filter is not updated """ result = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'type': 'rpm', 'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) result = ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': self.cvf_name, 'inclusion': 'wrong_value', }) self.assertNotEqual(result.return_code, 0) self.assertNotEqual(len(result.stderr), 0) result = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) self.assertEqual(result.stdout['inclusion'], 'true')
def test_update_cvf_with_new_repo_negative(self): """Test: Try to update filter and assign repository which does not belong to filter content view @Feature: Content View Filter @Assert: Content view filter is not updated """ result = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'type': 'rpm', 'name': self.cvf_name, 'repository-ids': self.repo['id'], }) self.assertEqual(result.return_code, 0) new_repo = make_repository({u'product-id': self.product['id']}) result = ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': self.cvf_name, 'repository-ids': new_repo['id'], }) self.assertNotEqual(result.return_code, 0) self.assertNotEqual(len(result.stderr), 0)
def test_update_samename_negative(self): """@Test: Try to update content view filter using name of already existing entity @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string("utf8") ContentView.filter_create({"content-view-id": self.content_view["id"], "name": cvf_name, "type": "rpm"}) new_name = gen_string("alpha", 100) ContentView.filter_create({"content-view-id": self.content_view["id"], "name": new_name, "type": "rpm"}) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update( {"content-view-id": self.content_view["id"], "name": new_name, "new-name": cvf_name} )
def test_update_diffnames_negative(self): """@Test: Try to update content view filter using invalid names only @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string("utf8") ContentView.filter_create({"content-view-id": self.content_view["id"], "name": cvf_name, "type": "rpm"}) for new_name in invalid_values_list(): with self.subTest(new_name): with self.assertRaises(CLIReturnCodeError): ContentView.filter_update( {"content-view-id": self.content_view["id"], "name": cvf_name, "new-name": new_name} ) with self.assertRaises(CLIReturnCodeError): ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": new_name})
def test_update_cvf_repo(self): """Test: Create new content view filter and apply it to existing content view that has repository assigned to it. Try to update that filter and change affected repository on another one. @Feature: Content View Filter @Assert: Content view filter updated successfully and has new repository affected """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(len(cvf['repositories']), 1) self.assertEqual(cvf['repositories'][0]['name'], self.repo['name']) new_repo = make_repository({u'product-id': self.product['id']}) ContentView.add_repository({ u'id': self.content_view['id'], u'repository-id': new_repo['id'], }) ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': new_repo['id'], }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(len(cvf['repositories']), 1) self.assertNotEqual(cvf['repositories'][0]['name'], self.repo['name']) self.assertEqual(cvf['repositories'][0]['name'], new_repo['name'])
def test_update_inclusion_negative(self): """Test: Try to update content view filter and assign incorrect inclusion value for it @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string("utf8") ContentView.filter_create( {"content-view-id": self.content_view["id"], "inclusion": "true", "name": cvf_name, "type": "rpm"} ) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update( {"content-view-id": self.content_view["id"], "inclusion": "wrong_value", "name": cvf_name} ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(cvf["inclusion"], "true")
def test_update_cvf_inclusion(self): """Test: Create new content view filter and assign it to existing content view by id. Try to update that filter and assign opposite inclusion value for it @Feature: Content View Filter @Assert: Content view filter updated successfully and has correct and expected value for inclusion parameter """ cvf_name = gen_string("utf8") ContentView.filter_create( {"content-view-id": self.content_view["id"], "inclusion": "true", "name": cvf_name, "type": "rpm"} ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(cvf["inclusion"], "true") ContentView.filter_update({"content-view-id": self.content_view["id"], "name": cvf_name, "inclusion": "false"}) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(cvf["inclusion"], "false")
def test_positive_update_inclusion(self): """Create new content view filter and assign it to existing content view by id. Try to update that filter and assign opposite inclusion value for it @id: 76b3c66d-8200-4cf0-8cd0-b57de4ff12b0 @Assert: Content view filter updated successfully and has correct and expected value for inclusion parameter @CaseLevel: Integration """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'organization-id': self.org['id'], 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true') ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'inclusion': 'false', 'organization-id': self.org['id'], }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'false')
def test_update_cvf_different_names(self): """Test: Create new content view filter and assign it to existing content view by id. Try to update that filter using different value types as a name @Feature: Content View Filter @Assert: Content view filter updated successfully and has proper and expected name """ cvf_name = gen_string("utf8") ContentView.filter_create({"content-view-id": self.content_view["id"], "name": cvf_name, "type": "rpm"}) for new_name in valid_data_list(): with self.subTest(new_name): ContentView.filter_update( {"content-view-id": self.content_view["id"], "name": cvf_name, "new-name": new_name} ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": new_name}) self.assertEqual(cvf["name"], new_name) cvf_name = new_name # updating cvf name for next iteration
def test_negative_update_with_non_existent_repo_id(self): """Try to update content view filter using non-existing repository ID @id: 457af8c2-fb32-4164-9e19-98676f4ea063 @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': gen_string('numeric', 6), })
def test_update_cvf_repo_type(self): """Test: Create new content view filter and apply it to existing content view that has repository assigned to it. Try to update that filter and change affected repository on another one. That new repository should have another type from initial one (e.g. yum->docker) @Feature: Content View Filter @Assert: Content view filter updated successfully and has new repository affected """ cvf_name = gen_string("utf8") ContentView.filter_create( { "content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": self.repo["id"], "type": "rpm", } ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(len(cvf["repositories"]), 1) self.assertEqual(cvf["repositories"][0]["name"], self.repo["name"]) docker_repo = make_repository( { u"content-type": u"docker", u"docker-upstream-name": u"busybox", u"product-id": self.product["id"], u"url": DOCKER_REGISTRY_HUB, } ) ContentView.add_repository({u"id": self.content_view["id"], u"repository-id": docker_repo["id"]}) ContentView.filter_update( {"content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": docker_repo["id"]} ) cvf = ContentView.filter_info({u"content-view-id": self.content_view["id"], u"name": cvf_name}) self.assertEqual(len(cvf["repositories"]), 1) self.assertNotEqual(cvf["repositories"][0]["name"], self.repo["name"]) self.assertEqual(cvf["repositories"][0]["name"], docker_repo["name"])
def test_update_wrongrepo_negative(self): """Test: Try to update content view filter using non-existing repository ID @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': gen_string('numeric', 6), })
def test_negative_update_with_invalid_repo_id(self): """Test: Try to update filter and assign repository which does not belong to filter content view @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) new_repo = make_repository({u'product-id': self.product['id']}) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': new_repo['id'], })
def test_update_new_repo_negative(self): """Test: Try to update filter and assign repository which does not belong to filter content view @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string("utf8") ContentView.filter_create( { "content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": self.repo["id"], "type": "rpm", } ) new_repo = make_repository({u"product-id": self.product["id"]}) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update( {"content-view-id": self.content_view["id"], "name": cvf_name, "repository-ids": new_repo["id"]} )
def test_positive_update_inclusion(self): """Create new content view filter and assign it to existing content view by id. Try to update that filter and assign opposite inclusion value for it @Feature: Content View Filter @Assert: Content view filter updated successfully and has correct and expected value for inclusion parameter """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'name': cvf_name, 'type': 'rpm', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'true') ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'inclusion': 'false', }) cvf = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': cvf_name, }) self.assertEqual(cvf['inclusion'], 'false')
def test_negative_update_with_name(self): """Try to update content view filter using invalid names only @id: 6c40e452-f786-4e28-9f03-b1935b55b33a @Assert: Content view filter is not updated @BZ: 1328943 """ cvf_name = gen_string('utf8') content_view_filter = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'organization-id': self.org['id'], 'type': 'rpm', }) for new_name in invalid_values_list(): with self.subTest(new_name): with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'new-name': new_name, }) if bz_bug_is_open(1328943): result = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'id': content_view_filter['id'], }) self.assertEqual( result['name'], content_view_filter['name']) else: with self.assertRaises(CLIReturnCodeError): ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': new_name, })
def test_negative_update_with_non_existent_repo_id(self): """Try to update content view filter using non-existing repository ID @Feature: Content View Filter @Assert: Content view filter is not updated """ cvf_name = gen_string('utf8') ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': self.repo['id'], 'type': 'rpm', }) with self.assertRaises(CLIReturnCodeError): ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': cvf_name, 'repository-ids': gen_string('numeric', 6), })
def test_update_cvf_with_inclusion(self): """Test: Create new content view filter and assign it to existing content view by id. Try to update that filter and assign opposite inclusion value for it @Feature: Content View Filter @Assert: Content view filter updated successfully and has correct and expected value for inclusion parameter """ result = ContentView.filter_create({ 'content-view-id': self.content_view['id'], 'inclusion': 'true', 'type': 'rpm', 'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) result = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) self.assertEqual(result.stdout['inclusion'], 'true') result = ContentView.filter_update({ 'content-view-id': self.content_view['id'], 'name': self.cvf_name, 'inclusion': 'false', }) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0) result = ContentView.filter_info({ u'content-view-id': self.content_view['id'], u'name': self.cvf_name, }) self.assertEqual(result.return_code, 0) self.assertEqual(result.stdout['inclusion'], 'false')