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
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
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