コード例 #1
0
    def test_positive_create_with_module_streams(self, module_product,
                                                 sync_repo,
                                                 sync_repo_module_stream,
                                                 content_view):
        """Verify Include and Exclude Filters creation for modulemd (module streams)

        :id: 4734dcca-ea5b-47d6-8f5f-239da0dc7629

        :expectedresults: Content view filter created successfully for both
            Include and Exclude Type

        :CaseLevel: Integration
        """
        content_view.repository += [sync_repo_module_stream]
        content_view.update(['repository'])
        for inclusion in (True, False):
            cvf = entities.ModuleStreamContentViewFilter(
                content_view=content_view,
                inclusion=inclusion,
                repository=[sync_repo, sync_repo_module_stream],
            ).create()
            assert cvf.inclusion == inclusion
            assert len(cvf.repository) == 2
        assert content_view.id == cvf.content_view.id
        assert cvf.type == 'modulemd'
コード例 #2
0
    def test_positive_dependency_solving_module_stream_filter(self):
        """Verify Module Stream Content View Filter's with Dependency Solve 'Yes'.
        If dependency solving enabled then dependent module streams will be fetched
        over even if the exclude filter has been applied.
        e.g. duck module stream is dependent on kangaroo stream, hence even if add only
        exclude filter on kangaroo it will get ignored as it is fetched because of duck
        module stream. but if both duck and kangaroo module streams are in exclude filter
        both will not get fetched.

        :id: ea8a4d95-dc36-4102-b1a9-d53beaf14352

        :expectedresults: Verify dependant/non dependant module streams are getting fetched.

        :CaseLevel: Integration
        """
        self.content_view.solve_dependencies = True
        content_view = self.content_view.update(['solve_dependencies'])
        cv_filter = entities.ModuleStreamContentViewFilter(
            content_view=content_view, inclusion=False).create()
        module_streams = entities.ModuleStream().search(
            query={
                'search':
                'name="{}" and version="{}'.format('kangaroo',
                                                   '20180730223407')
            })
        entities.ContentViewFilterRule(content_view_filter=cv_filter,
                                       module_stream=module_streams).create()
        self.content_view.publish()
        content_view = content_view.read()
        content_view_version_info = content_view.read().version[0].read()

        # Total Module Stream Count = 7, Exclude filter rule get ignored.
        assert content_view_version_info.module_stream_count == 7
コード例 #3
0
    def test_positive_create_with_module_streams(self):
        """Verify Include and Exclude Filters creation for modulemd (module streams)

        :id: 4734dcca-ea5b-47d6-8f5f-239da0dc7629

        :expectedresults: Content view filter created successfully for both
            Include and Exclude Type

        :CaseLevel: Integration
        """
        module_stream_repo = entities.Repository(
            content_type='yum',
            product=self.product.id,
            url=CUSTOM_MODULE_STREAM_REPO_2).create()
        self.content_view.repository += [module_stream_repo]
        self.content_view.update(['repository'])
        for inclusion in (True, False):
            cvf = entities.ModuleStreamContentViewFilter(
                content_view=self.content_view,
                inclusion=inclusion,
                repository=[self.repo, module_stream_repo],
            ).create()
            self.assertEqual(cvf.inclusion, inclusion)
            self.assertEqual(len(cvf.repository), 2)
        assert self.content_view.id == cvf.content_view.id
        assert cvf.type == 'modulemd'
コード例 #4
0
    def test_positive_multi_level_filters(self):
        """Verify promotion of Content View and Verify count after applying
        multi_filters (errata and module stream)

        :id: aeaf2ac7-eda2-4f07-a1dd-fe6057934697

        :expectedresults: Verify module stream and errata count should correct

        :CaseLevel: Integration
        """
        # apply include errata filter
        cv_filter = entities.ErratumContentViewFilter(
            content_view=self.content_view, inclusion=True).create()
        errata = entities.Errata().search(
            query={'search': f'errata_id="{FAKE_0_MODULAR_ERRATA_ID}"'})[0]
        entities.ContentViewFilterRule(content_view_filter=cv_filter,
                                       errata=errata).create()

        # apply exclude module filter
        cv_filter = entities.ModuleStreamContentViewFilter(
            content_view=self.content_view, inclusion=False).create()
        module_streams = entities.ModuleStream().search(
            query={'search': 'name="{}"'.format('walrus')})
        entities.ContentViewFilterRule(content_view_filter=cv_filter,
                                       module_stream=module_streams).create()
        self.content_view.publish()
        content_view = self.content_view.read()
        content_view_version_info = content_view.read().version[0].read()
        # verify the module_stream_count and errata_count for Include Filter
        assert content_view_version_info.module_stream_count == 2
        assert content_view_version_info.errata_counts['total'] == 1
コード例 #5
0
    def test_positive_promote_module_stream_filter(self, module_org, content_view_module_stream):
        """Verify Module Stream, Errata Count after Promote, Publish for Content View
        with Module Stream Exclude Filter

        :id: 2f5d21b1-8cbc-4a77-b8a2-09aa466f56a3

        :expectedresults: Content View should get published and promoted successfully
            with correct Module Stream count.

        :CaseLevel: Integration
        """
        # Exclude module stream filter
        content_view = content_view_module_stream
        cv_filter = entities.ModuleStreamContentViewFilter(
            content_view=content_view,
            inclusion=False,
        ).create()
        module_streams = entities.ModuleStream().search(
            query={'search': 'name="{}"'.format('duck')}
        )
        entities.ContentViewFilterRule(
            content_view_filter=cv_filter, module_stream=module_streams
        ).create()
        content_view.publish()
        content_view = content_view.read()
        content_view_version_info = content_view.version[0].read()
        assert len(content_view.repository) == 1
        assert len(content_view.version) == 1

        # the module stream and errata count based in filter after publish
        assert content_view_version_info.module_stream_count == 4
        assert content_view_version_info.errata_counts['total'] == 3

        # Promote Content View
        lce = entities.LifecycleEnvironment(organization=module_org).create()
        promote(content_view.version[0], lce.id)
        content_view = content_view.read()
        content_view_version_info = content_view.version[0].read()

        # assert the module stream and errata count based in filter after promote
        assert content_view_version_info.module_stream_count == 4
        assert content_view_version_info.errata_counts['total'] == 3