Exemplo n.º 1
0
 def test_raw_dataset(self):
     params = {
         'title': 'My entry 1',
         'content': 'My content 1.',
         'tags': 'zinnia, test',
         'slug': 'my-entry-1'
     }
     Entry.objects.create(**params)
     params = {
         'title': 'My entry 2',
         'content': 'My content 2.',
         'tags': 'zinnia, test',
         'slug': 'my-entry-2'
     }
     Entry.objects.create(**params)
     v = ModelVectorBuilder(queryset=Entry.objects.all(), fields=['title'])
     with self.assertNumQueries(1):
         self.assertEqual(len(v.raw_dataset), 2)
         self.assertEqual(sorted(v.raw_dataset.values()),
                          [['entry'], ['entry']])
     v = ModelVectorBuilder(queryset=Entry.objects.all(),
                            fields=['title', 'content', 'tags'])
     self.assertEqual(sorted(v.raw_dataset.values()),
                      [['entry', 'content', 'zinnia', 'test'],
                       ['entry', 'content', 'zinnia', 'test']])
     v = ModelVectorBuilder(queryset=Entry.objects.all().order_by('-pk'),
                            fields=['title'],
                            limit=1)
     self.assertEqual(list(v.raw_dataset.values()), [['entry']])
 def test_raw_clean(self):
     v = ModelVectorBuilder(queryset=Entry.objects.none(), fields=['title'])
     self.assertEquals(v.raw_clean('<p>HTML Content</p>'),
                       ['html', 'content'])
     self.assertEquals(v.raw_clean('<p>An HTML Content</p>'),
                       ['html', 'content'])
     self.assertEquals(v.raw_clean('<p>An HTML Content 2</p>'),
                       ['html', 'content'])
     self.assertEquals(v.raw_clean('<p>!HTML Content ?</p>'),
                       ['html', 'content'])
Exemplo n.º 3
0
    def test_get_related(self):
        params = {
            'title': 'My entry 01',
            'content': 'This is my first content 01',
            'slug': 'my-entry-1'
        }
        e1 = Entry.objects.create(**params)
        vectors = ModelVectorBuilder(queryset=Entry.objects.all(),
                                     fields=['title', 'content'])
        with self.assertNumQueries(1):
            self.assertEquals(vectors.get_related(e1, 10), [])

        params = {
            'title': 'My entry 02',
            'content': 'My second content entry 02',
            'slug': 'my-entry-2'
        }
        e2 = Entry.objects.create(**params)
        with self.assertNumQueries(0):
            self.assertEquals(vectors.get_related(e1, 10), [])

        vectors = ModelVectorBuilder(queryset=Entry.objects.all(),
                                     fields=['title', 'content'])
        with self.assertNumQueries(2):
            self.assertEquals(vectors.get_related(e1, 10), [e2])
        with self.assertNumQueries(1):
            self.assertEquals(vectors.get_related(e1, 10), [e2])
Exemplo n.º 4
0
 def test_column_dataset(self):
     vectors = ModelVectorBuilder(queryset=Entry.objects.all(),
                                  fields=['title', 'excerpt', 'content'])
     with self.assertNumQueries(1):
         self.assertEqual(vectors.dataset, {})
         self.assertEqual(vectors.columns, [])
     params = {'title': 'My entry 1 (01)', 'content':
               'This is my first content 1 (01)',
               'slug': 'my-entry-1'}
     e1 = Entry.objects.create(**params)
     params = {'title': 'My entry 2 (02)', 'content':
               'My second content entry 2 (02)',
               'slug': 'my-entry-2'}
     e2 = Entry.objects.create(**params)
     vectors = ModelVectorBuilder(queryset=Entry.objects.all(),
                                  fields=['title', 'excerpt', 'content'])
     self.assertEqual(vectors.columns, ['01', '02', 'content', 'entry'])
     self.assertEqual(vectors.dataset[e1.pk], [2, 0, 1, 1])
     self.assertEqual(vectors.dataset[e2.pk], [0, 2, 1, 2])
Exemplo n.º 5
0
 def test_raw_clean(self):
     v = ModelVectorBuilder(queryset=Entry.objects.none(), fields=['title'])
     self.assertEquals(v.raw_clean('<p>HTML Content</p>'),
                       ['html', 'content'])
     self.assertEquals(v.raw_clean('<p>An HTML Content</p>'),
                       ['html', 'content'])
     self.assertEquals(v.raw_clean('<p>An HTML Content 2</p>'),
                       ['html', 'content'])
     self.assertEquals(v.raw_clean('<p>!HTML Content ?</p>'),
                       ['html', 'content'])
    def test_get_related(self):
        params = {"title": "My entry 01", "content": "This is my first content 01", "slug": "my-entry-1"}
        e1 = Entry.objects.create(**params)
        vectors = ModelVectorBuilder(queryset=Entry.objects.all(), fields=["title", "content"])
        with self.assertNumQueries(1):
            self.assertEquals(vectors.get_related(e1, 10), [])

        params = {"title": "My entry 02", "content": "My second content entry 02", "slug": "my-entry-2"}
        e2 = Entry.objects.create(**params)
        with self.assertNumQueries(0):
            self.assertEquals(vectors.get_related(e1, 10), [])

        vectors = ModelVectorBuilder(queryset=Entry.objects.all(), fields=["title", "content"])
        with self.assertNumQueries(2):
            self.assertEquals(vectors.get_related(e1, 10), [e2])
        with self.assertNumQueries(1):
            self.assertEquals(vectors.get_related(e1, 10), [e2])
    def test_get_related(self):
        params = {'title': 'My entry 01', 'content':
                  'This is my first content 01',
                  'slug': 'my-entry-1'}
        e1 = Entry.objects.create(**params)
        vectors = ModelVectorBuilder(queryset=Entry.objects.all(),
                                     fields=['title', 'content'])
        with self.assertNumQueries(1):
            self.assertEquals(vectors.get_related(e1, 10), [])

        params = {'title': 'My entry 02', 'content':
                  'My second content entry 02',
                  'slug': 'my-entry-2'}
        e2 = Entry.objects.create(**params)
        with self.assertNumQueries(0):
            self.assertEquals(vectors.get_related(e1, 10), [])

        vectors = ModelVectorBuilder(queryset=Entry.objects.all(),
                                     fields=['title', 'content'])
        with self.assertNumQueries(2):
            self.assertEquals(vectors.get_related(e1, 10), [e2])
        with self.assertNumQueries(1):
            self.assertEquals(vectors.get_related(e1, 10), [e2])