|
31 | 31 | SERVER_URL = "http://server:5000"
|
32 | 32 | IS_LOCAL = False
|
33 | 33 |
|
| 34 | + |
34 | 35 | try:
|
35 | 36 | from secrets_dict import SHELTERLUV_SECRET_TOKEN
|
36 | 37 | except ImportError:
|
37 | 38 | SHELTERLUV_SECRET_TOKEN = os.getenv("SHELTERLUV_SECRET_TOKEN")
|
38 |
| - |
39 |
| -SL_Token = True if SHELTERLUV_SECRET_TOKEN else False |
40 |
| -print(os.getenv("SHELTERLUV_SECRET_TOKEN")) |
41 |
| - |
| 39 | +finally: |
| 40 | + SL_Token = True if SHELTERLUV_SECRET_TOKEN else False |
42 | 41 |
|
43 | 42 |
|
44 | 43 | ### DNS lookup tests ##############################
|
@@ -148,93 +147,6 @@ def test_inact_userblocked(state: State):
|
148 | 147 | response = requests.post(SERVER_URL + "/api/user/login", json=data)
|
149 | 148 | assert response.status_code == 401
|
150 | 149 |
|
151 |
| - |
152 |
| -### Shelterluv API tests ###################################### |
153 |
| - |
154 |
| -@pytest.mark.skipif(SL_Token, reason="Not run when SL_Token Present") |
155 |
| -def test_user_get_person_animal_events(state: State): |
156 |
| - """ Test that the api returns mock data if the Shelterluv Token |
157 |
| - is missing from secrets |
158 |
| - """ |
159 |
| - |
160 |
| - # Build auth string value including token from state |
161 |
| - b_string = 'Bearer ' + state.state['base_user'] |
162 |
| - |
163 |
| - assert len(b_string) > 24 |
164 |
| - |
165 |
| - auth_hdr = {'Authorization' : b_string} |
166 |
| - url = SERVER_URL + "/api/person/12345/animal/12345/events" |
167 |
| - response = requests.get(url, headers = auth_hdr) |
168 |
| - |
169 |
| - assert response.status_code == 200 |
170 |
| - |
171 |
| - from api.fake_data import sl_mock_data |
172 |
| - assert response.json() == sl_mock_data("events") |
173 |
| - |
174 |
| - |
175 |
| -@pytest.mark.skipif(SL_Token, reason="Not run when SL_Token Present") |
176 |
| -def test_user_get_animals(state: State): |
177 |
| - """ Test that the api returns mock data if the Shelterluv Token |
178 |
| - is missing from secrets |
179 |
| - """ |
180 |
| - |
181 |
| - # Build auth string value including token from state |
182 |
| - b_string = 'Bearer ' + state.state['base_user'] |
183 |
| - |
184 |
| - assert len(b_string) > 24 |
185 |
| - |
186 |
| - auth_hdr = {'Authorization' : b_string} |
187 |
| - url = SERVER_URL + "/api/person/12345/animals" |
188 |
| - response = requests.get(url, headers = auth_hdr) |
189 |
| - |
190 |
| - assert response.status_code == 200 |
191 |
| - |
192 |
| - from api.fake_data import sl_mock_data |
193 |
| - assert response.json() == sl_mock_data("animals") |
194 |
| - |
195 |
| - |
196 |
| -@pytest.mark.skipif(not SL_Token, reason="Run when SL_Token Present") |
197 |
| -def test_user_get_animals_sl_token(state: State): |
198 |
| - """ Test to confirm api does not return mock values if the Shelterluv Token |
199 |
| - is present in the secrets_dict file. |
200 |
| - Note this works on the assumption the SL token is not valid, and returns |
201 |
| - a default empty value |
202 |
| - """ |
203 |
| - |
204 |
| - # Build auth string value including token from state |
205 |
| - b_string = 'Bearer ' + state.state['base_user'] |
206 |
| - |
207 |
| - assert len(b_string) > 24 |
208 |
| - |
209 |
| - auth_hdr = {'Authorization' : b_string} |
210 |
| - url = SERVER_URL + "/api/person/12345/animals" |
211 |
| - response = requests.get(url, headers = auth_hdr) |
212 |
| - |
213 |
| - assert response.status_code == 200 |
214 |
| - assert response.json() == {'person_details': {}, 'animal_details': {}} |
215 |
| - |
216 |
| - |
217 |
| -@pytest.mark.skipif(not SL_Token, reason="Run when SL_Token Present") |
218 |
| -def test_user_get_person_animal_events_sl_token(state: State): |
219 |
| - """ Test to confirm api does not return mock values if the Shelterluv Token |
220 |
| - is present in the secrets_dict file. |
221 |
| - Note this works on the assumption the SL token is not valid, and returns |
222 |
| - a default empty value |
223 |
| - """ |
224 |
| - |
225 |
| - # Build auth string value including token from state |
226 |
| - b_string = 'Bearer ' + state.state['base_user'] |
227 |
| - |
228 |
| - assert len(b_string) > 24 |
229 |
| - |
230 |
| - auth_hdr = {'Authorization' : b_string} |
231 |
| - url = SERVER_URL + "/api/person/12345/animal/12345/events" |
232 |
| - response = requests.get(url, headers = auth_hdr) |
233 |
| - |
234 |
| - assert response.status_code == 200 |
235 |
| - assert response.json() == {} |
236 |
| - |
237 |
| - |
238 | 150 | ### Admin-level tests ######################################
|
239 | 151 |
|
240 | 152 | def test_adminlogin(state: State):
|
@@ -355,3 +267,102 @@ def test_statistics(state: State):
|
355 | 267 | response = requests.get(SERVER_URL + "/api/statistics", headers=auth_hdr)
|
356 | 268 | assert response.status_code == 200
|
357 | 269 |
|
| 270 | + |
| 271 | +### Shelterluv API tests ###################################### |
| 272 | + |
| 273 | +@pytest.mark.skipif(SL_Token, reason="Not run when SL_Token Present") |
| 274 | +def test_user_get_person_animal_events(state: State): |
| 275 | + """ Test that the api returns mock data if the Shelterluv Token |
| 276 | + is missing from secrets |
| 277 | + """ |
| 278 | + |
| 279 | + # Build auth string value including token from state |
| 280 | + b_string = 'Bearer ' + state.state['base_user'] |
| 281 | + |
| 282 | + assert len(b_string) > 24 |
| 283 | + |
| 284 | + auth_hdr = {'Authorization' : b_string} |
| 285 | + url = SERVER_URL + "/api/person/12345/animal/12345/events" |
| 286 | + |
| 287 | + try: |
| 288 | + response = requests.get(url, headers = auth_hdr) |
| 289 | + except RuntimeError as err: |
| 290 | + print(err) |
| 291 | + else: |
| 292 | + assert response.status_code == 200 |
| 293 | + from api.fake_data import sl_mock_data |
| 294 | + assert response.json() == sl_mock_data("events") |
| 295 | + |
| 296 | + |
| 297 | +@pytest.mark.skipif(SL_Token, reason="Not run when SL_Token Present") |
| 298 | +def test_user_get_animals(state: State): |
| 299 | + """ Test that the api returns mock data if the Shelterluv Token |
| 300 | + is missing from secrets |
| 301 | + """ |
| 302 | + |
| 303 | + # Build auth string value including token from state |
| 304 | + b_string = 'Bearer ' + state.state['base_user'] |
| 305 | + |
| 306 | + assert len(b_string) > 24 |
| 307 | + |
| 308 | + auth_hdr = {'Authorization' : b_string} |
| 309 | + url = SERVER_URL + "/api/person/12345/animals" |
| 310 | + |
| 311 | + try: |
| 312 | + response = requests.get(url, headers = auth_hdr) |
| 313 | + except RuntimeError as err: |
| 314 | + print(err) |
| 315 | + else: |
| 316 | + assert response.status_code == 200 |
| 317 | + from api.fake_data import sl_mock_data |
| 318 | + assert response.json() == sl_mock_data("animals") |
| 319 | + |
| 320 | + |
| 321 | +@pytest.mark.skipif(not SL_Token, reason="Run when SL_Token Present") |
| 322 | +def test_user_get_animals_sl_token(state: State): |
| 323 | + """ Test to confirm api does not return mock values if the Shelterluv Token |
| 324 | + is present in the secrets_dict file. |
| 325 | + Note this works on the assumption the SL token is not valid, and returns |
| 326 | + a default empty value |
| 327 | + """ |
| 328 | + |
| 329 | + # Build auth string value including token from state |
| 330 | + b_string = 'Bearer ' + state.state['base_user'] |
| 331 | + |
| 332 | + assert len(b_string) > 24 |
| 333 | + |
| 334 | + auth_hdr = {'Authorization' : b_string} |
| 335 | + url = SERVER_URL + "/api/person/12345/animals" |
| 336 | + |
| 337 | + try: |
| 338 | + response = requests.get(url, headers = auth_hdr) |
| 339 | + except RuntimeError as err: |
| 340 | + print(err) |
| 341 | + else: |
| 342 | + assert response.status_code == 200 |
| 343 | + assert response.json() == {'person_details': {}, 'animal_details': {}} |
| 344 | + |
| 345 | + |
| 346 | +@pytest.mark.skipif(not SL_Token, reason="Run when SL_Token Present") |
| 347 | +def test_user_get_person_animal_events_sl_token(state: State): |
| 348 | + """ Test to confirm api does not return mock values if the Shelterluv Token |
| 349 | + is present in the secrets_dict file. |
| 350 | + Note this works on the assumption the SL token is not valid, and returns |
| 351 | + a default empty value |
| 352 | + """ |
| 353 | + |
| 354 | + # Build auth string value including token from state |
| 355 | + b_string = 'Bearer ' + state.state['base_user'] |
| 356 | + |
| 357 | + assert len(b_string) > 24 |
| 358 | + |
| 359 | + auth_hdr = {'Authorization' : b_string} |
| 360 | + url = SERVER_URL + "/api/person/12345/animal/12345/events" |
| 361 | + |
| 362 | + try: |
| 363 | + response = requests.get(url, headers = auth_hdr) |
| 364 | + except RuntimeError as err: |
| 365 | + print(err) |
| 366 | + else: |
| 367 | + assert response.status_code == 200 |
| 368 | + assert response.json() == {} |
0 commit comments