Skip to content

Commit 40623c7

Browse files
author
afabiani
committed
- Test CircleCI Test Suite
1 parent 032328c commit 40623c7

File tree

3 files changed

+79
-93
lines changed

3 files changed

+79
-93
lines changed

.circleci/config.yml

+56-73
Original file line numberDiff line numberDiff line change
@@ -99,93 +99,76 @@ jobs:
9999
- run:
100100
name: Run test suite
101101
command: |
102-
docker exec db4geonode psql -U postgres -c 'SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid();'
103-
docker exec db4geonode createdb -U postgres -T postgres test_postgres
104-
docker exec db4geonode createdb -U postgres -T postgres test_geonode
105-
docker exec db4geonode createdb -U postgres -T postgres test_geonode_data
106-
docker exec db4geonode psql -U postgres -d test_geonode -c 'CREATE EXTENSION IF NOT EXISTS postgis;'
107-
docker exec db4geonode psql -U postgres -d test_geonode_data -c 'CREATE EXTENSION IF NOT EXISTS postgis;'
108-
docker-compose -f docker-compose.yml run --rm django bash -c 'coverage run --branch --source=geonode manage.py test -v 3 --keepdb <<parameters.test_suite>>'
109-
docker-compose -f docker-compose.yml run --rm django bash -c 'flake8 geonode'
102+
docker-compose -f docker-compose.yml exec db psql -U postgres -c 'SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid();'
103+
docker-compose -f docker-compose.yml exec db createdb -U postgres -T postgres test_postgres
104+
docker-compose -f docker-compose.yml exec db createdb -U postgres -T postgres test_geonode
105+
docker-compose -f docker-compose.yml exec db createdb -U postgres -T postgres test_geonode_data
106+
docker-compose -f docker-compose.yml exec db psql -U postgres -d test_geonode -c 'CREATE EXTENSION IF NOT EXISTS postgis;'
107+
docker-compose -f docker-compose.yml exec db psql -U postgres -d test_geonode_data -c 'CREATE EXTENSION IF NOT EXISTS postgis;'
108+
docker-compose -f docker-compose.yml exec django bash -c '<<parameters.test_suite>>'
109+
working_directory: ./
110+
- run:
111+
name: Run pep8 checks
112+
command: |
113+
docker-compose -f docker-compose.yml exec django bash -c 'flake8 geonode'
110114
working_directory: ./
111115

112116
workflows:
113117

114118
commit:
115119
jobs:
116120
- build:
117-
name: setup
121+
name: geonode_test_suite
118122
load_docker_cache: true
119123
save_docker_cache: true
120-
test_suite: 'geonode.tests.smoke'
121-
- build:
122-
name: tests_core
123-
load_docker_cache: true
124-
save_docker_cache: false
125-
test_suite: $(python -c "import sys;from geonode import settings;sys.stdout.write('\'' '\''.join([a+'\''.tests'\'' for a in settings.GEONODE_CORE_APPS]))")
126-
requires:
127-
- setup
128-
- build:
129-
name: tests_internal
130-
load_docker_cache: true
131-
save_docker_cache: false
132-
test_suite: $(python -c "import sys;from geonode import settings;sys.stdout.write('\'' '\''.join([a+'\''.tests'\'' for a in settings.GEONODE_INTERNAL_APPS]))")
133-
requires:
134-
- setup
135-
- build:
136-
name: tests_contrib
137-
load_docker_cache: true
138-
save_docker_cache: false
139-
test_suite: $(python -c "import sys;from geonode import settings;sys.stdout.write('\'' '\''.join([a+'\''.tests'\'' for a in settings.GEONODE_CONTRIB_APPS]))")
140-
requires:
141-
- setup
124+
test_suite: coverage run --branch --source=geonode manage.py test -v 3 --keepdb geonode.tests.smoke $(python -c "import sys;from geonode import settings;sys.stdout.write('\'' '\''.join([a+'\''.tests'\'' for a in settings.GEONODE_APPS]))")
142125
- build:
143-
name: tests_csw
126+
name: geonode_test_integration_csw
144127
load_docker_cache: true
145128
save_docker_cache: false
146-
test_suite: 'geonode.tests.csw'
129+
test_suite: SITEURL=http://localhost:8001/ ./test_csw.sh
147130
requires:
148-
- setup
131+
- geonode_test_suite
149132
- build:
150-
name: tests_integration
133+
name: geonode_test_integration_monitoring
151134
load_docker_cache: true
152135
save_docker_cache: false
153-
test_suite: 'geonode.tests.integration'
136+
test_suite: coverage run --branch --source=geonode manage.py test -v 3 --keepdb geonode.tests.smoke geonode.monitoring.tests.integration
154137
requires:
155-
- setup
156-
- build:
157-
name: tests_geoserver_integration
158-
load_docker_cache: true
159-
save_docker_cache: false
160-
test_suite: 'geonode.geoserver.tests.integration'
161-
requires:
162-
- setup
163-
- build:
164-
name: tests_upload_integration
165-
load_docker_cache: true
166-
save_docker_cache: false
167-
test_suite: 'geonode.upload.tests.integration'
168-
requires:
169-
- setup
170-
- build:
171-
name: tests_monitoring_integration
172-
load_docker_cache: true
173-
save_docker_cache: false
174-
test_suite: 'geonode.monitoring.tests.integration'
175-
requires:
176-
- setup
177-
178-
nightly:
179-
triggers:
180-
- schedule:
181-
cron: "0 0 * * *"
182-
filters:
183-
branches:
184-
only:
185-
- master
186-
- 3.x
187-
jobs:
188-
- build:
189-
load_docker_cache: false
190-
save_docker_cache: true
191-
test_suite: geonode.tests.smoke geonode.tests.integration $(python -c "import sys;from geonode import settings;sys.stdout.write('\'' '\''.join([a+'\''.tests'\'' for a in settings.GEONODE_APPS]))")
138+
- geonode_test_suite
139+
# - build:
140+
# name: tests_integration
141+
# load_docker_cache: true
142+
# save_docker_cache: false
143+
# test_suite: 'geonode.tests.integration'
144+
# requires:
145+
# - geonode_test_suite
146+
# - build:
147+
# name: tests_geoserver_integration
148+
# load_docker_cache: true
149+
# save_docker_cache: false
150+
# test_suite: 'geonode.geoserver.tests.integration'
151+
# requires:
152+
# - geonode_test_suite
153+
# - build:
154+
# name: tests_upload_integration
155+
# load_docker_cache: true
156+
# save_docker_cache: false
157+
# test_suite: 'geonode.upload.tests.integration'
158+
# requires:
159+
# - geonode_test_suite
160+
161+
# nightly:
162+
# triggers:
163+
# - schedule:
164+
# cron: "0 0 * * *"
165+
# filters:
166+
# branches:
167+
# only:
168+
# - master
169+
# - 3.x
170+
# jobs:
171+
# - build:
172+
# load_docker_cache: false
173+
# save_docker_cache: true
174+
# test_suite: geonode.tests.smoke geonode.tests.integration $(python -c "import sys;from geonode import settings;sys.stdout.write('\'' '\''.join([a+'\''.tests'\'' for a in settings.GEONODE_APPS]))")

pavement.py

+15-12
Original file line numberDiff line numberDiff line change
@@ -862,15 +862,17 @@ def test_javascript(options):
862862
@task
863863
@cmdopts([
864864
('name=', 'n', 'Run specific tests.'),
865-
('settings=', 's', 'Specify custom DJANGO_SETTINGS_MODULE')
865+
('settings=', 's', 'Specify custom DJANGO_SETTINGS_MODULE'),
866+
('local=', 'l', 'Set to True if running bdd tests locally')
866867
])
867868
def test_integration(options):
868869
"""
869870
Run GeoNode's Integration test suite against the external apps
870871
"""
871872
prefix = options.get('prefix')
873+
local = str2bool(options.get('local', 'false'))
872874
_backend = os.environ.get('BACKEND', OGC_SERVER['default']['BACKEND'])
873-
if _backend == 'geonode.geoserver' or 'geonode.qgis_server' not in INSTALLED_APPS:
875+
if local and _backend == 'geonode.geoserver' or 'geonode.qgis_server' not in INSTALLED_APPS:
874876
call_task('stop_geoserver')
875877
_reset()
876878
else:
@@ -888,9 +890,10 @@ def test_integration(options):
888890
settings = 'geonode.local_settings' if _backend == 'geonode.qgis_server' else 'geonode.settings'
889891
settings = 'REUSE_DB=1 DJANGO_SETTINGS_MODULE=%s' % settings
890892
call_task('sync', options={'settings': settings})
891-
if _backend == 'geonode.geoserver':
892-
call_task('start_geoserver', options={'settings': settings, 'force_exec': True})
893-
call_task('start', options={'settings': settings})
893+
if local:
894+
if _backend == 'geonode.geoserver':
895+
call_task('start_geoserver', options={'settings': settings, 'force_exec': True})
896+
call_task('start', options={'settings': settings})
894897
if integration_server_tests:
895898
call_task('setup_data', options={'settings': settings})
896899
elif _backend == 'geonode.geoserver' and 'geonode.geoserver' in INSTALLED_APPS:
@@ -919,11 +922,11 @@ def test_integration(options):
919922
live_server_option = ''
920923
info("Running the tests now...")
921924
sh(('%s %s manage.py test %s'
922-
' %s --noinput %s' % (settings,
923-
prefix,
924-
name,
925-
_keepdb,
926-
live_server_option)))
925+
' -v 3 %s --noinput %s' % (settings,
926+
prefix,
927+
name,
928+
_keepdb,
929+
live_server_option)))
927930

928931
except BuildFailure as e:
929932
info('Tests failed! %s' % str(e))
@@ -942,7 +945,7 @@ def test_integration(options):
942945
'start_qgis_server'])
943946
@cmdopts([
944947
('coverage', 'c', 'use this flag to generate coverage during test runs'),
945-
('local=', 'l', 'Set to True if running bdd tests locally')
948+
('local=', 'l', 'Set to True if running tests locally')
946949
])
947950
def run_tests(options):
948951
"""
@@ -966,7 +969,7 @@ def run_tests(options):
966969
elif integration_monitoring_tests:
967970
call_task('test_integration', options={'prefix': prefix, 'name': 'geonode.monitoring.tests.integration'})
968971
elif integration_csw_tests:
969-
call_task('test_integration', options={'prefix': prefix, 'name': 'geonode.tests.csw'})
972+
call_task('test_integration', options={'prefix': prefix, 'name': 'geonode.tests.csw', 'local': local})
970973
elif integration_bdd_tests:
971974
call_task('test_bdd', options={'local': local})
972975
else:

test_csw.sh

+8-8
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22

33
export BACKEND=geonode.geoserver
44
export DOCKER_COMPOSE_VERSION=1.19.0
5-
export GEOSERVER_SERVER_URL=http://localhost:8080/geoserver/
5+
export GEOSERVER_SERVER_URL=http://geoserver:8080/geoserver/
66
export GEOSERVER_SERVER_PORT=8080
77
export ON_TRAVIS=True
88
export TEST_RUNNER_KEEPDB=True
99
export TEST_RUN_INTEGRATION=True
10-
export TEST_RUN_INTEGRATION_SERVER=True
10+
export TEST_RUN_INTEGRATION_SERVER=False
1111
export TEST_RUN_INTEGRATION_UPLOAD=False
1212
export TEST_RUN_INTEGRATION_MONITORING=False
1313
export TEST_RUN_INTEGRATION_CSW=True
1414
export TEST_RUN_INTEGRATION_BDD=False
1515
export MONITORING_ENABLED=False
1616
export SESSION_EXPIRED_CONTROL_ENABLED=True
1717
export CELERY_ALWAYS_EAGER=True
18-
export DATABASE_URL=postgis://geonode:geonode@localhost:5432/upload_test
19-
export GEODATABASE_URL=postgis://geonode:geonode@localhost:5432/upload_test
18+
export DATABASE_URL=postgis://geonode:geonode@db:5432/geonode
19+
export GEODATABASE_URL=postgis://geonode:geonode@db:5432/geonode_data
2020
export DEFAULT_BACKEND_DATASTORE=datastore
2121

22-
echo "Initialize DB";
23-
chmod +x scripts/misc/create_dbs_travis.sh;
24-
scripts/misc/create_dbs_travis.sh before_script;
22+
# echo "Initialize DB";
23+
# chmod +x scripts/misc/create_dbs_travis.sh;
24+
# scripts/misc/create_dbs_travis.sh before_script;
2525

26-
paver run_tests --coverage --local false
26+
paver run_tests --coverage --local false

0 commit comments

Comments
 (0)