diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -8,3 +8,4 @@ tmp/ dist/ django_conntrackt.egg-info/ projtect/.coverage +test_binaries/ \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in --- a/MANIFEST.in +++ b/MANIFEST.in @@ -27,4 +27,5 @@ recursive-include conntrackt/templates * recursive-include docs * recursive-include requirements * recursive-exclude * *.py[co] -recursive-exclude docs/_build * \ No newline at end of file +recursive-exclude docs/_build * +recursive-exclude test_binaries * \ No newline at end of file diff --git a/docs/development.rst b/docs/development.rst --- a/docs/development.rst +++ b/docs/development.rst @@ -62,6 +62,40 @@ 4. Install required packages in the virt workon conntrackt && pip install -r ~/projects/conntrackt/requirements/development.txt +5. Download and unpack `Mozilla Firefox + `_ version **57.0.x** for + your platform into directory ``test_binaries/``. If using 64-bit + GNU/Linux distribution, this should be as easy as: + + .. warning:: + In order to ensure the functional tests run well, it is + important to use correct combination of geckodriver and Mozilla + Firefox. + + :: + + workon conntrackt && \ + cd test_binaries/ && \ + wget 'https://ftp.mozilla.org/pub/firefox/releases/57.0.2/linux-x86_64/en-US/firefox-57.0.2.tar.bz2' && \ + tar xjf firefox-57.0.2.tar.bz2 + +6. Download `geckodriver + `_ version + **v0.19.1**. If using 64-bit GNU/Linux distribution, this should be + as easy as: + + .. warning:: + In order to ensure the functional tests run well, it is + important to use correct combination of geckodriver and Mozilla + Firefox. + + :: + + workon conntrackt && \ + cd test_binaries/ && \ + wget 'https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz' && \ + tar xzf geckodriver-v0.19.1-linux64.tar.gz + Development/test Django project ------------------------------- diff --git a/requirements/development.in b/requirements/development.in --- a/requirements/development.in +++ b/requirements/development.in @@ -32,4 +32,7 @@ mock~=1.3.0 sphinx~=1.6.0 # Used for handling of timezones. -pytz \ No newline at end of file +pytz + +# Used for running functional tests. +selenium~=3.8.0 \ No newline at end of file diff --git a/requirements/development.txt b/requirements/development.txt --- a/requirements/development.txt +++ b/requirements/development.txt @@ -22,11 +22,12 @@ markupsafe==1.0 # via jinja2 mock==1.3.0 palette==0.2 pbr==3.1.1 # via mock -pydot==1.2.3 +pydot==1.2.4 pygments==2.2.0 # via sphinx pyparsing==2.2.0 # via pydot pytz==2017.3 requests==2.18.4 # via sphinx +selenium==3.8.0 six==1.11.0 # via mock, sphinx snowballstemmer==1.2.1 # via sphinx sphinx==1.6.5 diff --git a/requirements/test.txt b/requirements/test.txt --- a/requirements/test.txt +++ b/requirements/test.txt @@ -22,11 +22,12 @@ markupsafe==1.0 # via jinja2 mock==1.3.0 palette==0.2 pbr==3.1.1 # via mock -pydot==1.2.3 +pydot==1.2.4 pygments==2.2.0 # via sphinx pyparsing==2.2.0 # via pydot pytz==2017.3 requests==2.18.4 # via sphinx +selenium==3.8.0 six==1.11.0 # via mock, sphinx snowballstemmer==1.2.1 # via sphinx sphinx==1.6.5 diff --git a/test_binaries/.keep b/test_binaries/.keep new file mode 100644