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')
Example #6
0
    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,
            })
Example #9
0
    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')
Example #10
0
    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,
            })
Example #11
0
    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')
Example #14
0
    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
Example #16
0
    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')
Example #18
0
    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'])
Example #19
0
    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_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'])
Example #21
0
    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,
                        })
Example #22
0
    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)
Example #23
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)
Example #24
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')
Example #25
0
    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_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_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")
Example #32
0
    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"])
Example #36
0
    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_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"]}
            )
Example #40
0
    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,
                        })
Example #42
0
    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),
            })
Example #43
0
    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')