diff --git a/ckanext/odsh/tests_tpsh/test_icap.py b/ckanext/odsh/tests_tpsh/test_icap.py index 6dbdae1652d96b3e124eb54b88c3c382c362ef25..f97bbc74249eadeeb2e36ebdf07aae53191d0d82 100644 --- a/ckanext/odsh/tests_tpsh/test_icap.py +++ b/ckanext/odsh/tests_tpsh/test_icap.py @@ -1,4 +1,5 @@ import nose.tools as nt +from testfixtures import log_capture from ckan.common import config from ckanext.odsh.lib.odsh_icap_client import ODSHICAPRequest, _read_from_config @@ -20,6 +21,36 @@ class Test_ODSHICAPRequest(object): nt.assert_equal(request.PORT, 123) nt.assert_equal(request.CLIENTIP, 'some_ip') + @log_capture() + def test_it_logs_missing_parameter_host_to_error_log(self, capture): + del config['ckanext.odsh.icap.host'] + ODSHICAPRequest('some_filename', 'some_filebuffer') + capture.check(( + 'ckanext.odsh.lib.odsh_icap_client', + 'ERROR', + "'key ckanext.odsh.icap.host is not defined in ckan config file.'" + )) + + @log_capture() + def test_it_logs_missing_parameter_port_to_error_log(self, capture): + del config['ckanext.odsh.icap.port'] + ODSHICAPRequest('some_filename', 'some_filebuffer') + capture.check(( + 'ckanext.odsh.lib.odsh_icap_client', + 'ERROR', + "'key ckanext.odsh.icap.port is not defined in ckan config file.'" + )) + + @log_capture() + def test_it_logs_missing_parameter_clientip_to_error_log(self, capture): + del config['ckanext.odsh.icap.clientip'] + ODSHICAPRequest('some_filename', 'some_filebuffer') + capture.check(( + 'ckanext.odsh.lib.odsh_icap_client', + 'ERROR', + "'key ckanext.odsh.icap.clientip is not defined in ckan config file.'" + )) + def test_read_from_config_raises_KeyError_if_host_not_defined_in_config(self): del config['ckanext.odsh.icap.host'] with nt.assert_raises(KeyError): diff --git a/dev-requirements.txt b/dev-requirements.txt index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c574e4eaf013c487e6c63e0048eb9132b71c2627 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -0,0 +1,185 @@ +alabaster==0.7.11 +amqp==1.4.9 +anyjson==0.3.3 +arrow==0.13.1 +asn1crypto==0.24.0 +astroid==1.6.6 +atomicwrites==1.3.0 +attrs==19.3.0 +Babel==2.3.4 +backports.functools-lru-cache==1.5 +Beaker==1.8.1 +beautifulsoup4==4.5.1 +billiard==3.3.0.23 +bleach==1.5.0 +blinker==1.4 +celery==3.1.25 +certifi==2018.8.13 +cffi==1.11.5 +chardet==3.0.4 +click==6.7 +configparser==3.7.4 +contextlib2==0.6.0.post1 +cookies==2.2.1 +coverage==4.5.1 +coveralls==1.3.0 +cryptography==2.3 +decorator==4.0.6 +defusedxml==0.6.0 +dnspython==1.16.0 +docopt==0.6.2 +docutils==0.12 +entrypoints==0.3 +enum34==1.1.6 +eventlet==0.24.1 +extras==1.0.0 +factory-boy==2.1.1 +fanstatic==0.12 +filehash==0.1.dev3 +first==2.0.1 +fixtures==3.0.0 +flake8==3.7.8 +Flask==0.11.1 +Flask-DebugToolbar==0.10.0 +FormEncode==1.3.0 +funcsigs==1.0.2 +functools32==3.2.3.post2 +futures==3.3.0 +GeoAlchemy==0.7.2 +GeoAlchemy2==0.4.2 +geolinks==0.2.0 +geomet==0.2.0.post2 +greenlet==0.4.15 +html5lib==0.9999999 +httpretty==0.8.3 +hupper==1.6.1 +idna==2.7 +imagesize==1.0.0 +importlib-metadata==0.23 +ipaddress==1.0.22 +isodate==0.6.0 +isort==4.3.21 +itsdangerous==0.24 +Jinja2==2.8 +json-table-schema==0.2.1 +kombu==3.0.37 +lazy-object-proxy==1.4.1 +linecache2==1.0.0 +lxml==3.6.2 +Mako==1.0.4 +Markdown==2.6.7 +MarkupSafe==0.23 +mccabe==0.6.1 +messytables==0.15.2 +mock==2.0.0 +monotonic==1.5 +more-itertools==5.0.0 +mox3==0.26.0 +multiline-log-formatter==0.1.8 +nose==1.3.7 +ofs==0.4.2 +ordereddict==1.1 +OWSLib==0.16.0 +packaging==17.1 +Pairtree===0.7.1-T +passlib==1.6.5 +Paste==1.7.5.1 +PasteDeploy==2.0.1 +PasteScript==2.0.2 +pathlib==1.0.1 +pathlib2==2.3.5 +pbr==1.10.0 +pdf2image==1.9.0 +pdftotext==2.1.2 +pika==0.12.0 +Pillow==6.1.0 +pip-tools==1.7.0 +piwikapi==0.3 +pkg-resources==0.0.0 +plaster==1.0 +plaster-pastedeploy==0.7 +pluggy==0.13.0 +polib==1.0.7 +progressbar==2.3 +psycopg2==2.7.3.2 +py==1.8.0 +pyasn1==0.4.8 +pycodestyle==2.5.0 +pycountry==18.5.26 +pycparser==2.18 +pycrypto==2.6.1 +pycryptodome==3.9.0 +pycsw==2.2.0 +pyfakefs==2.9 +pyflakes==2.1.1 +Pygments==2.1.3 +pylint==1.9.5 +Pylons==0.9.7 +pymongo==3.9.0 +pyOpenSSL==18.0.0 +pyparsing==2.2.0 +pyproj==1.9.5.1 +pyramid==1.10.4 +pyramid-exclog==0.1 +-e git+https://github.com/IdentityPython/pysaml2.git@247e2f642b37de90a61c4f5ca49d8403840b6ea2#egg=pysaml2 +pysolr==3.6.0 +pytest==4.6.6 +pytest-cov==2.8.1 +python-dateutil==2.8.0 +python-json-logger==0.1.11 +python-magic==0.4.12 +python-memcached==1.48 +python-mimeparse==1.6.0 +pytz==2016.7 +pyutilib.component.core==4.6.4 +rdflib==4.2.1 +rdflib-jsonld==0.4.0 +redis==2.10.1 +repoze.lru==0.6 +repoze.who==2.3 +repoze.who-friendlyform==1.0.8 +requests==2.11.1 +responses==0.10.6 +rope==0.14.0 +Routes==1.13 +rq==0.6.0 +rq-dashboard==0.4.0 +scandir==1.10.0 +selenium==3.141.0 +Shapely==1.5.17 +simplejson==3.10.0 +singledispatch==3.4.0.3 +six==1.10.0 +snowballstemmer==1.2.1 +SPARQLWrapper==1.8.2 +Sphinx==1.7.1 +sphinx-rtd-theme==0.3.1 +sphinxcontrib-websupport==1.1.0 +SQLAlchemy==0.9.6 +sqlalchemy-migrate==0.10.0 +sqlparse==0.2.2 +Tempita==0.5.2 +testfixtures==6.10.3 +testtools==2.3.0 +traceback2==1.4.0 +translationstring==1.3 +typing==3.6.4 +tzlocal==1.3 +unicodecsv==0.14.1 +unittest2==1.1.0 +urllib3==1.23 +vdm==0.13 +venusian==1.2.0 +vine==1.1.4 +wcwidth==0.1.7 +WebError==0.13.1 +WebHelpers==1.3 +WebOb==1.0.8 +WebTest==1.4.3 +Werkzeug==0.11.10 +wrapt==1.11.2 +xlrd==1.0.0 +xmltodict==0.10.2 +zipp==0.6.0 +zope.deprecation==4.4.0 +zope.interface==4.3.2