1+ # Environment variables to be defined in the build configuration:
2+ # AUTH0_TEST_CLIENT_ID = Client id to use in test
3+ # AUTH0_TEST_DOMAIN = Domain to use in test
4+ # AUTH0_TEST_API_IDENTIFIER = API Audience to use in test
5+
6+ # Common logic
7+ defaults : &defaults
8+ steps :
9+ - attach_workspace :
10+ at : ~/
11+ - run :
12+ name : Replace Auth0 test credentials
13+ command : |
14+ echo "export const AUTH_CONFIG = {" >> $AUTH0_CFG
15+ echo " clientId: '$AUTH0_TEST_CLIENT_ID'," >> $AUTH0_CFG
16+ echo " domain: '$AUTH0_TEST_DOMAIN'," >> $AUTH0_CFG
17+ echo " callbackUrl: 'http://localhost:3000/callback'," >> $AUTH0_CFG
18+ echo " apiUrl: '$AUTH0_TEST_AUDIENCE'" >> $AUTH0_CFG
19+ echo "}" >> $AUTH0_CFG
20+
21+ - run :
22+ name : Build pull request
23+ command : |
24+ docker build -t $CIRCLE_JOB ./$SAMPLE_PATH
25+ docker run -d -p 3000:3000 --name $CIRCLE_SHA1 -e AUTH0_DOMAIN=$AUTH0_TEST_DOMAIN -e AUTH0_AUDIENCE=$AUTH0_TEST_API_IDENTIFIER $CIRCLE_JOB
26+ - run :
27+ name : Wait for app to be available
28+ command : |
29+ sleep 10
30+ docker run --network host --rm appropriate/curl --retry 8 --retry-connrefused -v localhost:3000
31+ - run :
32+ name : Run tests
33+ command : |
34+ docker create --network host --name tester codeception/codeceptjs codeceptjs run-multiple --all --steps --verbose
35+ docker cp $(pwd)/lock_login_test.js tester:/tests/lock_login_test.js
36+ docker cp $(pwd)/codecept.conf.js tester:/tests/codecept.conf.js
37+ docker start -i tester
38+ working_directory : scripts
39+ - run :
40+ name : Copy app container logs
41+ command : |
42+ mkdir -p /tmp/out
43+ docker logs $CIRCLE_SHA1 > /tmp/out/app_logs.log
44+ docker cp tester:/tests/out /tmp/
45+ when : on_fail
46+ - store_artifacts :
47+ path : /tmp/out
48+
49+ # Jobs and Workflows
50+ version : 2
51+ jobs :
52+ checkout :
53+ machine : true
54+ steps :
55+ - checkout
56+ - run : git clone https://github.com/auth0-samples/spa-quickstarts-tests scripts
57+ - persist_to_workspace :
58+ root : ~/
59+ paths :
60+ - project
61+ - scripts
62+ 01-login :
63+ machine : true
64+ environment :
65+ - AUTH0_CFG : 01-Login/src/Auth/auth0-variables.js
66+ - SAMPLE_PATH : 01-Login
67+ << : *defaults
68+ 02-user-profile :
69+ machine : true
70+ environment :
71+ - AUTH0_CFG : 02-User-Profile/src/Auth/auth0-variables.js
72+ - SAMPLE_PATH : 02-User-Profile
73+ << : *defaults
74+ 03-calling-an-api :
75+ machine : true
76+ environment :
77+ - AUTH0_CFG : 03-Calling-an-API/src/Auth/auth0-variables.js
78+ - SAMPLE_PATH : 03-Calling-an-API
79+ << : *defaults
80+ 04-authorization :
81+ machine : true
82+ environment :
83+ - AUTH0_CFG : 04-Authorization/src/Auth/auth0-variables.js
84+ - SAMPLE_PATH : 04-Authorization
85+ << : *defaults
86+ 05-token-renewal :
87+ machine : true
88+ environment :
89+ - AUTH0_CFG : 05-Token-Renewal/src/Auth/auth0-variables.js
90+ - SAMPLE_PATH : 05-Token-Renewal
91+ << : *defaults
92+
93+ workflows :
94+ version : 2
95+ quickstarts_login :
96+ jobs :
97+ - checkout :
98+ context : Quickstart SPA Test
99+ - 01-login :
100+ context : Quickstart SPA Test
101+ requires :
102+ - checkout
103+ - 02-user-profile :
104+ context : Quickstart SPA Test
105+ requires :
106+ - checkout
107+ - 03-calling-an-api :
108+ context : Quickstart SPA Test
109+ requires :
110+ - checkout
111+ - 04-authorization :
112+ context : Quickstart SPA Test
113+ requires :
114+ - checkout
115+ - 05-token-renewal :
116+ context : Quickstart SPA Test
117+ requires :
118+ - checkout
0 commit comments