Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing requires elastic search #86

Open
cameronneylon opened this issue Apr 16, 2014 · 1 comment
Open

Testing requires elastic search #86

cameronneylon opened this issue Apr 16, 2014 · 1 comment

Comments

@cameronneylon
Copy link
Contributor

Currently tests don't run unless you have Elastic Search available. This is a problem for contributions because it means third party contributors can't test their code properly.

UK-MC-10081:tests cneylon$ nosetests test_bmc_new.py
E
======================================================================
ERROR: Failure: ConnectionError (HTTPConnectionPool(host='localhost', port=9200): Max retries exceeded with url: /oag/publisher/_mapping (Caused by : [Errno 61] Connection refused))
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/nose/loader.py", line 413, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/cneylon/Documents/Programming/plos/OpenArticleGauge/openarticlegauge/tests/test_bmc_new.py", line 5, in 
    from openarticlegauge import config, models
  File "/Users/cneylon/Documents/Programming/plos/OpenArticleGauge/openarticlegauge/models.py", line 10, in 
    from openarticlegauge.dao import DomainObject
  File "/Users/cneylon/Documents/Programming/plos/OpenArticleGauge/openarticlegauge/dao.py", line 13, in 
    from openarticlegauge.core import app #, current_user
  File "/Users/cneylon/Documents/Programming/plos/OpenArticleGauge/openarticlegauge/core.py", line 56, in 
    app = create_app()
  File "/Users/cneylon/Documents/Programming/plos/OpenArticleGauge/openarticlegauge/core.py", line 11, in create_app
    if app.config['INITIALISE_INDEX']: initialise_index(app)
  File "/Users/cneylon/Documents/Programming/plos/OpenArticleGauge/openarticlegauge/core.py", line 36, in initialise_index
    exists = requests.get(im)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/requests-1.1.0-py2.7.egg/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/requests-1.1.0-py2.7.egg/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.py", line 279, in request
    resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.py", line 374, in send
    r = adapter.send(request, **kwargs)
  File "/Users/cneylon/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/requests-1.1.0-py2.7.egg/requests/adapters.py", line 209, in send
    raise ConnectionError(e)
ConnectionError: HTTPConnectionPool(host='localhost', port=9200): Max retries exceeded with url: /oag/publisher/_mapping (Caused by : [Errno 61] Connection refused)
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost
--------------------- >> end captured logging << ---------------------

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (errors=1)
@emanuil-tolev
Copy link
Contributor

the problem: tests rely on models.MessageObject

Suggest mock MessageObject which does not rely on ES? There won't be a way for it to subclass the real models.MessageObject, any importing of models will import the code which prepares the index (correctly so..). It will have to explicitly mock functions needed by the tests, which are only a few, so should not be a big deal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants