Ejemplo n.º 1
0
    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))
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 def test_empty_list_returns_unchanged(self):
     self.assertListEqual(resolve_catalog_id_aliases([]), [])
Ejemplo n.º 4
0
    def test_node_not_alias_returns_unchanged(self):
        ids = resolve_catalog_id_aliases(['one_catalog'])

        expected = ['one_catalog']
        self.assertListEqual(ids, expected)
Ejemplo n.º 5
0
    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))