From fd3f96320d835d99963224af7926712f0c7fdcf1 Mon Sep 17 00:00:00 2001 From: Arnold Bechtoldt Date: Sat, 8 Oct 2016 11:20:29 +0200 Subject: [PATCH] expect other errno on connection refused error in newer py versions update integration tests container args --- .gitlab-ci.yml | 2 +- .travis.yml | 2 +- README.rst | 9 +++++++++ tests/integration/test_imap.py | 17 +++++++++-------- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5aa84e4..27a2bf5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,7 +11,7 @@ stages: echo -e "FROM ${DOCKER_IMAGE}\nCOPY . /code" > Dockerfile.tmp if [ "${START_INTEGRATION_SERVERS}" = 'yes' ]; then - CID_IMAPSERVER=$(docker run -d -p 143 -p 993 -p 6379 -v /dev/random:/dev/random bechtoldt/tabellarius_tests-docker) + CID_IMAPSERVER=$(docker run -d -p 143 -p 993 -p 6379 -v /dev/random:/dev/random:ro bechtoldt/tabellarius_tests-docker) INTEGRATION_ADDR_IMAPSERVER=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' ${CID_IMAPSERVER}) echo -e "\nENV INTEGRATION_ADDR_IMAPSERVER=${INTEGRATION_ADDR_IMAPSERVER}" >> Dockerfile.tmp fi diff --git a/.travis.yml b/.travis.yml index b9fc7ce..979cd76 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,7 +37,7 @@ install: script: - | if [ "${START_INTEGRATION_SERVERS}" = 'yes' ]; then - CID_IMAPSERVER=$(docker run -d -p 10143:143 -p 10993:993 -p 6379:6379 -v /dev/random:/dev/random bechtoldt/tabellarius_tests-docker) + CID_IMAPSERVER=$(docker run -d -p 10143:143 -p 10993:993 -p 6379:6379 -v /dev/random:/dev/random:ro bechtoldt/tabellarius_tests-docker) export INTEGRATION_PORT_IMAP=10143 export INTEGRATION_PORT_IMAPS=10993 export INTEGRATION_ADDR_IMAPSERVER=127.0.0.1 diff --git a/README.rst b/README.rst index ebf667d..b2b2008 100644 --- a/README.rst +++ b/README.rst @@ -58,6 +58,15 @@ Testing Integration tests require a running Docker daemon with Internet connection. The `container image `_ that is beeing downloaded contains Dovecot and Redis. +Start the Docker container: + +:: + + $ docker run -d -p 10143:143 -p 10993:993 -p 6379:6379 -v /dev/random:/dev/random:ro bechtoldt/tabellarius_tests-docker + $ export INTEGRATION_PORT_IMAP=10143 INTEGRATION_PORT_IMAPS=10993 INTEGRATION_ADDR_IMAPSERVER=$(docker-machine ip docker-dev) + +Notice: I'm gathering the IP addr via docker-machine, your own process may vary. + Run integration tests: :: diff --git a/tests/integration/test_imap.py b/tests/integration/test_imap.py index dd9676d..2dd360f 100644 --- a/tests/integration/test_imap.py +++ b/tests/integration/test_imap.py @@ -65,14 +65,15 @@ def test_connect_imaps(self): def test_connect_error_refused(self): username, password = self.create_imap_user() - self.assertEqual(imap.IMAP(logger=self.logger, - server=self.INTEGRATION_ADDR_IMAPSERVER, - port=1337, - starttls=False, - imaps=True, - tlsverify=False, # TODO test tls verification? - username=username, - password=password).connect(), (False, '[Errno 111] Connection refused')) + self.assertIn(imap.IMAP(logger=self.logger, + server=self.INTEGRATION_ADDR_IMAPSERVER, + port=1337, + starttls=False, + imaps=True, + tlsverify=False, # TODO test tls verification? + username=username, + password=password).connect(), [(False, '[Errno 111] Connection refused'), + (False, '[Errno 61] Connection refused')]) def test_process_error(self): try: