251 |
251 |
page.public = True
|
252 |
252 |
page.save()
|
253 |
253 |
|
254 |
|
cell = TextCell(page=page, text='<p>foobar</p>', order=0)
|
|
254 |
cell = TextCell(page=page, placeholder='content', text='<p>foobar</p>', order=0)
|
255 |
255 |
cell.save()
|
256 |
256 |
|
257 |
257 |
request = RequestFactory().get('/')
|
... | ... | |
268 |
268 |
page.save()
|
269 |
269 |
|
270 |
270 |
TextCell(page=page, text='<p>foobar</p>', order=0, placeholder='_off').save()
|
271 |
|
TextCell(page=page, text='<p>barfoo</p>', order=0, placeholder='on').save()
|
|
271 |
TextCell(page=page, text='<p>barfoo</p>', order=0, placeholder='content').save()
|
272 |
272 |
|
273 |
273 |
request = RequestFactory().get('/')
|
274 |
274 |
request.user = AnonymousUser()
|
... | ... | |
283 |
283 |
page = Page(title='example page', slug='example-page')
|
284 |
284 |
page.save()
|
285 |
285 |
|
286 |
|
cell = TextCell(page=page, text='<p>foobar baz</p>', order=0)
|
|
286 |
cell = TextCell(page=page, placeholder='content', text='<p>foobar baz</p>', order=0)
|
287 |
287 |
cell.save()
|
288 |
288 |
|
289 |
289 |
second_page = Page(title='second page', slug='second-page')
|
290 |
290 |
second_page.save()
|
291 |
291 |
|
292 |
|
cell = TextCell(page=second_page, text='<p>other baz</p>', order=0)
|
|
292 |
cell = TextCell(page=second_page, placeholder='content', text='<p>other baz</p>', order=0)
|
293 |
293 |
cell.save()
|
294 |
294 |
index_site()
|
295 |
295 |
|
296 |
|
cell = SearchCell(page=page, _search_services={'data': ['_text']}, order=0)
|
|
296 |
cell = SearchCell(page=page, placeholder='content', _search_services={'data': ['_text']}, order=0)
|
297 |
297 |
cell.save()
|
298 |
298 |
|
299 |
299 |
resp = app.get('/ajax/search/%s/_text/?q=foobar' % cell.id, status=200)
|
... | ... | |
315 |
315 |
page = Page(title='example page', slug='example-page')
|
316 |
316 |
page.save()
|
317 |
317 |
|
318 |
|
cell = SearchCell(page=page, _search_services={'data': ['_text']}, order=0)
|
|
318 |
cell = SearchCell(page=page, placeholder='content', _search_services={'data': ['_text']}, order=0)
|
319 |
319 |
cell.save()
|
320 |
320 |
|
321 |
321 |
index_site()
|
... | ... | |
324 |
324 |
hits = search_site(request, 'foobar')
|
325 |
325 |
assert len(hits) == 0
|
326 |
326 |
|
327 |
|
LinkCell(title='foobar', url='http://example.net', page=page, order=0).save()
|
|
327 |
LinkCell(title='foobar', url='http://example.net', page=page, placeholder='content', order=0).save()
|
328 |
328 |
index_site()
|
329 |
329 |
|
330 |
330 |
hits = search_site(request, 'foobar')
|
... | ... | |
333 |
333 |
assert hits[0]['url'] == 'http://example.net'
|
334 |
334 |
|
335 |
335 |
# second link with same target
|
336 |
|
LinkCell(title='baz', url='http://example.net', page=page, order=0).save()
|
|
336 |
LinkCell(title='baz', url='http://example.net', page=page, placeholder='content', order=0).save()
|
337 |
337 |
index_site()
|
338 |
338 |
|
339 |
339 |
# add a second link with the same target
|
... | ... | |
438 |
438 |
page = Page(title='example page', slug='example-page')
|
439 |
439 |
page.save()
|
440 |
440 |
|
441 |
|
TextCell(page=page, text='<p>foobar</p>', order=0, public=False).save()
|
442 |
|
TextCell(page=page, text='<p>barfoo</p>', order=0, public=True).save()
|
|
441 |
TextCell(page=page, placeholder='content', text='<p>foobar</p>', order=0, public=False).save()
|
|
442 |
TextCell(page=page, placeholder='content', text='<p>barfoo</p>', order=0, public=True).save()
|
443 |
443 |
|
444 |
444 |
request = RequestFactory().get('/')
|
445 |
445 |
request.user = AnonymousUser()
|
... | ... | |
463 |
463 |
page = Page(title='example page', slug='example-page')
|
464 |
464 |
page.save()
|
465 |
465 |
|
466 |
|
cell = TextCell(page=page, text='<p>foobar</p>', order=0, public=False)
|
|
466 |
cell = TextCell(page=page, placeholder='content', text='<p>foobar</p>', order=0, public=False)
|
467 |
467 |
cell.save()
|
468 |
468 |
cell.groups.set([group])
|
469 |
|
TextCell(page=page, text='<p>barfoo</p>', order=0, public=False).save()
|
|
469 |
TextCell(page=page, placeholder='content', text='<p>barfoo</p>', order=0, public=False).save()
|
470 |
470 |
index_site()
|
471 |
471 |
|
472 |
472 |
# first cell is restricted, it's not found
|
... | ... | |
507 |
507 |
def test_no_sub_slug_search(app):
|
508 |
508 |
page = Page(title='example page', slug='example-page')
|
509 |
509 |
page.save()
|
510 |
|
TextCell(page=page, text='<p>foobar</p>', order=0, public=True).save()
|
|
510 |
TextCell(page=page, placeholder='content', text='<p>foobar</p>', order=0, public=True).save()
|
511 |
511 |
page = Page(title='example page with sub_slug', slug='sub-slugged-page',
|
512 |
512 |
sub_slug='(?P<foo>\d+)')
|
513 |
513 |
page.save()
|
514 |
|
TextCell(page=page, text='<p>barfoo</p>', order=0, public=True).save()
|
|
514 |
TextCell(page=page, placeholder='content', text='<p>barfoo</p>', order=0, public=True).save()
|
515 |
515 |
|
516 |
516 |
request = RequestFactory().get('/')
|
517 |
517 |
request.user = AnonymousUser()
|
... | ... | |
522 |
522 |
assert len(hits) == 0
|
523 |
523 |
|
524 |
524 |
|
|
525 |
def test_index_site_inactive_placeholder(app):
|
|
526 |
page = Page.objects.create(title='page', slug='example-page')
|
|
527 |
cell = TextCell.objects.create(page=page, placeholder='content', text='<p>foobar</p>', order=0)
|
|
528 |
|
|
529 |
assert cell.is_placeholder_active() is True
|
|
530 |
index_site()
|
|
531 |
assert IndexedCell.objects.count() == 1
|
|
532 |
|
|
533 |
cell.placeholder = ''
|
|
534 |
cell.save()
|
|
535 |
assert cell.is_placeholder_active() is False
|
|
536 |
index_site()
|
|
537 |
assert IndexedCell.objects.count() == 0
|
|
538 |
|
|
539 |
|
525 |
540 |
def test_index_site_num_queries(app):
|
526 |
541 |
group = Group.objects.create(name='plop')
|
527 |
542 |
for i in range(0, 10):
|
528 |
543 |
page = Page.objects.create(title='page %s' % i, slug='example-page-%s' % i)
|
529 |
544 |
page.groups.set([group])
|
530 |
545 |
for j in range(0, 5):
|
531 |
|
cell = TextCell.objects.create(page=page, text='<p>foobar %s</p>' % j, order=j, public=False)
|
|
546 |
cell = TextCell.objects.create(page=page, placeholder='content', text='<p>foobar %s</p>' % j, order=j, public=False)
|
532 |
547 |
cell.groups.set([group])
|
533 |
548 |
|
534 |
549 |
index_site() # populate cache
|
|
550 |
assert IndexedCell.objects.count() == 50
|
535 |
551 |
with CaptureQueriesContext(connection) as ctx:
|
536 |
552 |
index_site()
|
537 |
|
assert len(ctx.captured_queries) == 195
|
|
553 |
assert len(ctx.captured_queries) == 225
|
538 |
|
-
|