Skip to content

Commit

Permalink
Remove legacy test_cli
Browse files Browse the repository at this point in the history
  • Loading branch information
smotornyuk committed Jan 20, 2020
1 parent c0f4947 commit 2a69ced
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 85 deletions.
3 changes: 1 addition & 2 deletions ckan/lib/search/__init__.py
Expand Up @@ -231,12 +231,11 @@ def check():
len(pkgs)))
for pkg_id in pkgs_not_indexed:
pkg = model.Session.query(model.Package).get(pkg_id)
print((pkg.revision.timestamp.strftime('%Y-%m-%d'), pkg.name))
print((pkg.metadata_modified.strftime('%Y-%m-%d'), pkg.name))


def show(package_reference):
package_query = query_for(model.Package)

return package_query.get_index(package_reference)


Expand Down
77 changes: 77 additions & 0 deletions ckan/tests/cli/test_search_index.py
@@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-

import pytest

import ckan.model as model
import ckan.tests.factories as factories
import ckan.tests.helpers as helpers
from ckan.cli.cli import ckan


@pytest.mark.usefixtures(u"clean_db", u"clean_index")
class TestSearchIndex(object):
def test_search_index_rebuild(self, cli):
"""Direct update on package won't be reflected in search results till
re-index.
"""
dataset = factories.Dataset(title=u"Before rebuild")
model.Session.query(model.Package).filter_by(id=dataset[u'id']).update(
{u'title': u'After update'})
model.Session.commit()

search_result = helpers.call_action(u'package_search', q=u"After")
assert search_result[u'count'] == 0

result = cli.invoke(ckan, [u'search-index', u'rebuild'])
assert not result.exit_code
search_result = helpers.call_action(u'package_search', q=u"After")
assert search_result[u'count'] == 1

def test_test_main_operations(self, cli):
"""Create few datasets, clear index, rebuild it - make sure search results
are always reflect correct state of index.
"""
# Create two datasets and check if they are available in search results
dataset = factories.Dataset(title=u"First package")
another_dataset = factories.Dataset(title=u"Second package")
search_result = helpers.call_action(u'package_search', q=u"package")
assert search_result[u'count'] == 2

# Remove one dataset
result = cli.invoke(ckan, [u'search-index', u'clear', dataset[u'id']])
assert not result.exit_code
search_result = helpers.call_action(u'package_search', q=u"package")
assert search_result[u'count'] == 1

# Rebuild index and make sure all dataset are there
result = cli.invoke(ckan,
[u'search-index', u'rebuild'])
assert not result.exit_code
search_result = helpers.call_action(u'package_search', q=u"package")
assert search_result[u'count'] == 2

# Remove one package from index and test `check` tool
result = cli.invoke(ckan, [u'search-index', u'clear', another_dataset[u'id']])
result = cli.invoke(ckan, [u'search-index', u'check'])
assert not result.exit_code
assert u'1 out of 2' in result.output
search_result = helpers.call_action(u'package_search', q=u"package")
assert search_result[u'count'] == 1

# One can view data from index using CLI
result = cli.invoke(ckan, [u'search-index', u'show', dataset[u'id']])
assert not result.exit_code
assert u'First package' in result.output
assert u'Second package' not in result.output

# Only search index is checked, not actual data in DB
result = cli.invoke(ckan,
[u'search-index', u'show', another_dataset[u'id']])
assert result.exit_code

result = cli.invoke(ckan, [u'search-index', u'rebuild', u'-o'])
assert not result.exit_code
search_result = helpers.call_action(u'package_search', q=u"package")
assert search_result[u'count'] == 2
83 changes: 0 additions & 83 deletions ckan/tests/legacy/lib/test_cli.py

This file was deleted.

0 comments on commit 2a69ced

Please sign in to comment.