def test_get_tag_keys_filter_false(self): """Test that all tag keys are returned with no filter.""" query_params = { 'filter': { 'resolution': 'monthly', 'time_scope_value': -2, 'time_scope_units': 'month' }, } query_string = '?filter[resolution]=monthly&' + \ 'filter[time_scope_value]=-2&' + \ 'filter[time_scope_units]=month&' handler = AzureTagQueryHandler(query_params, query_string, self.tenant, **{}) tag_keys = set() with tenant_context(self.tenant): tags = AzureCostEntryLineItemDailySummary.objects\ .annotate(tag_keys=JSONBObjectKeys('tags'))\ .values('tags')\ .distinct()\ .all() for tag in tags: for key in tag.get('tags').keys(): tag_keys.add(key) result = handler.get_tag_keys(filters=False) self.assertEqual(sorted(result), sorted(list(tag_keys)))
def test_get_tag_keys_filter_false(self): """Test that all tag keys are returned with no filter.""" url = "?filter[time_scope_units]=month&filter[time_scope_value]=-2&filter[resolution]=monthly" query_params = self.mocked_query_params(url, AzureTagView) handler = AzureTagQueryHandler(query_params) tag_keys = set() with tenant_context(self.tenant): tags = (AzureCostEntryLineItemDailySummary.objects.annotate( tag_keys=JSONBObjectKeys("tags")).values( "tags").distinct().all()) for tag in tags: for key in tag.get("tags").keys(): tag_keys.add(key) result = handler.get_tag_keys(filters=False) self.assertEqual(sorted(result), sorted(list(tag_keys)))