def test_one_alias_one_catalog_id(self): Node.objects.create(catalog_url='http://example.com/3', catalog_id='third_catalog', indexable=True) ids = resolve_catalog_id_aliases(['alias_id', 'third_catalog']) expected = ['one_catalog', 'two_catalog', 'third_catalog'] self.assertEqual(set(expected), set(ids))
def add_filters(self, search: Search, arg_name: str, field_name: str): """Agrega filtro por field_name al objeto search de Elasticsearch, obtenido desde el campo arg_name de la query. """ terms = self.args.get(arg_name) if not terms: return search terms = terms.split(',') if arg_name == 'catalog_id': terms = resolve_catalog_id_aliases(terms) search = search.filter('terms', **{field_name: terms}) return search
def test_empty_list_returns_unchanged(self): self.assertListEqual(resolve_catalog_id_aliases([]), [])
def test_node_not_alias_returns_unchanged(self): ids = resolve_catalog_id_aliases(['one_catalog']) expected = ['one_catalog'] self.assertListEqual(ids, expected)
def test_expand(self): ids = resolve_catalog_id_aliases(['alias_id']) expected = list(Node.objects.values_list('catalog_id', flat=True)) self.assertEqual(set(ids), set(expected))