diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml index afc291f6b357e7b76794ccac7614d19da038edbd..e55f1719cde17c9f285d10cbd690fa710e36479a 100644 --- a/.docker/docker-compose.yml +++ b/.docker/docker-compose.yml @@ -8,6 +8,7 @@ services: - caosnet caosdb-server: image: "$CI_REGISTRY/caosdb:$CAOSDB_TAG" + user: 999:999 depends_on: - sqldb networks: diff --git a/.docker/wait-for-it.sh b/.docker/wait-for-it.sh index dd6947cd8412848f9264228cb46e86874459a599..d69e99f1f13257b559dce2433de0515379663efa 100755 --- a/.docker/wait-for-it.sh +++ b/.docker/wait-for-it.sh @@ -1,7 +1,8 @@ #!/usr/bin/env bash -# TODO add proper license -# from githu: -# Use this script to test if a given TCP host/port are available +# License: +# From https://github.com/vishnubob/wait-for-it +# The MIT License (MIT) +# Use this script to test if a given TCP host/port are available WAITFORIT_cmdname=${0##*/} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 30c1b644a4b383ef962678ece2ea624d703a4b52..7cd6307def6f178029e1ac97aca5b9247aad7c46 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,10 +72,11 @@ test: #image: $CI_REGISTRY_IMAGE:latest script: - if [[ "$CAOSDB_TAG" == "" ]]; then - CAOSDB_TAG=latest; + CAOSDB_TAG=dev-latest; fi - echo $CAOSDB_TAG - docker login -u testuser -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker pull $CI_REGISTRY_IMAGE:latest - cd .docker - DIR=`pwd` - CERTPATH=$DIR"/cert" CAOSDB_TAG=$CAOSDB_TAG docker-compose up -d @@ -83,7 +84,6 @@ test: - rc=$? - docker-compose down - exit $rc - - cd .. build-testenv: tags: [docker] diff --git a/tests/test_authentication.py b/tests/test_authentication.py index 884decc89e8a1fb8ab37b4c55886c423269fd933..530e1b8a621369708e6bf8130c57f0ef8853e469 100644 --- a/tests/test_authentication.py +++ b/tests/test_authentication.py @@ -36,7 +36,7 @@ def test_https_support(): from sys import hexversion if hexversion < 0x02070900: raise Exception("version " + str(hex(hexversion))) - elif 0x02999999 <hexversion < 0x03020000: + elif 0x02999999 < hexversion < 0x03020000: raise Exception("version " + str(hex(hexversion))) try: # python2 @@ -72,5 +72,3 @@ def test_login_via_post_form_data_failure(): "username": h.get_config().get("Connection", "username"), "password": "wrongpassphrase" }) - - diff --git a/tests/test_boolean.py b/tests/test_boolean.py index bc6a9fa7102a9563f3cd03cf9f506b565cc8a4bd..dde287ab099e0fd33057ee34929e0cfe4f350cc7 100644 --- a/tests/test_boolean.py +++ b/tests/test_boolean.py @@ -130,8 +130,10 @@ def test_record(): assert_false(rec3.is_valid()) assert_equals( - rec3.get_property("SimpleBooleanProperty").get_errors()[0].description, - "Cannot parse value to boolean (either 'true' or 'false, ignoring case).") + rec3.get_property( + "SimpleBooleanProperty").get_errors()[0].description, + "Cannot parse value to boolean (either 'true' or 'false, " + "ignoring case).") finally: try: diff --git a/tests/test_file.py b/tests/test_file.py index d978b1264cbf1ecacd686a5e4925733417ee1586..015d311229714730005ff33c8dff68e738757767 100644 --- a/tests/test_file.py +++ b/tests/test_file.py @@ -60,7 +60,7 @@ def setup(): def teardown(): try: - execute_query("FIND ENTITY WHICH HAS AN ID > 100").delete() + execute_query("FIND ENTITY WHICH HAS AN ID >= 100").delete() except Exception as e: print(e) try: diff --git a/tests/test_query_template.py b/tests/test_query_template.py index 544b8aa936b28a3b8b4de3d0f4fde76e7438b3d3..cab623791e4b0a9034a01998319891a87b1ec19e 100644 --- a/tests/test_query_template.py +++ b/tests/test_query_template.py @@ -321,25 +321,27 @@ def test_query_select_from_with_wildcard(): assert_equals(len(r.get_entity_by_name("TestRecord").get_properties()), 1) assert_equals(len(r.get_entity_by_name("TestAnimal").get_properties()), 0) + @with_setup(setup, teardown) def test_query_without_permission(): query_def = "FIND TestExperiment WHICH HAS A TestAnimal = Pig" - qt = db.QueryTemplate(name="TestPigExperiment",query=query_def).insert() + qt = db.QueryTemplate(name="TestPigExperiment", query=query_def).insert() - db.administration._insert_user(name="test_user", password="secret_1q!Q", status="ACTIVE", email=None, entity=None) + db.administration._insert_user( + name="test_user", password="secret_1q!Q", status="ACTIVE", email=None, entity=None) db.configure_connection(username="test_user", password="secret_1q!Q") r = db.execute_query(query_def, unique=True) - assert_equals(r.name,"TestRecord") + assert_equals(r.name, "TestRecord") r = db.execute_query("FIND TestPigExperiment", unique=True) - assert_equals(r.name,"TestRecord") + assert_equals(r.name, "TestRecord") db.get_connection()._logout() db.configure_connection() db.get_connection()._login() - e = db.Entity(id = qt.id) + e = db.Entity(id=qt.id) e.retrieve_acl() assert_is_not_none(e.acl) e.deny(username="test_user", permission="RETRIEVE:ENTITY") @@ -348,9 +350,9 @@ def test_query_without_permission(): db.configure_connection(username="test_user", password="secret_1q!Q") r = db.execute_query(query_def, unique=True) - assert_equals(r.name,"TestRecord") + assert_equals(r.name, "TestRecord") r = db.execute_query("FIND TestPigExperiment") - assert_equals(len(r),0) + assert_equals(len(r), 0) @with_setup(setup, teardown) diff --git a/tests/test_tenpoints.py b/tests/test_tenpoints.py index 0499f9316c54660489df13d2df64b8a9250ab6c5..a2156bf9dada37d3b5e086db8e70c48b2c7bccf2 100644 --- a/tests/test_tenpoints.py +++ b/tests/test_tenpoints.py @@ -25,6 +25,9 @@ @author: fitschen """ +from nose.tools import assert_equals, assert_is_not_none, assert_true # @UnresolvedImport +import caosdb as h +import os from caosdb.exceptions import CaosDBException @@ -49,11 +52,6 @@ Datensätzen Description oder einer Zahl''' -import os -import caosdb as h -from nose.tools import assert_equals, assert_is_not_none, assert_true # @UnresolvedImport - - def setup_module(): try: h.execute_query("FIND Complex*").delete() diff --git a/tox.ini b/tox.ini index b3a93ea62f2d782950af9747e9fb71863d76f2fb..b35f949dd39c0a9a68ba4dba00ec1309b63a8099 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist= py27, py34, py35, py36, py37 +envlist= py37 skip_missing_interpreters = true [testenv] sitepackages=true