sefrone-api-e2e 1.3.2__tar.gz → 1.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/PKG-INFO +1 -1
  2. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/2_account_endpoints.yaml +1 -1
  3. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/3_admin_account_endpoints.yaml +163 -2
  4. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/4_workspace_endpoints.yaml +1 -1
  5. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/5_apikey_endpoints.yaml +30 -14
  6. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e.egg-info/PKG-INFO +1 -1
  7. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/setup.py +1 -1
  8. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/README.md +0 -0
  9. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/__init__.py +0 -0
  10. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/api_e2e_manager.py +0 -0
  11. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/0_check_features.yaml +0 -0
  12. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/1_normal_auth_flow.yaml +0 -0
  13. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/6_project_endpoints.yaml +0 -0
  14. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/7_email_2fa_flow.yaml +0 -0
  15. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Auth/8_temporary_passwords_flow.yaml +0 -0
  16. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Oidc/1_relying_party_admin.yaml +0 -0
  17. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Oidc/2_authorization_code_flow.yaml +0 -0
  18. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Oidc/3_disable_propagation_flow.yaml +0 -0
  19. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e/Scenarios/Oidc/4_multi_project_isolation.yaml +0 -0
  20. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/e2e_scenarios_manager.py +0 -0
  21. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/env_patch.py +0 -0
  22. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/json_mock_server.py +0 -0
  23. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/runner_assets.py +0 -0
  24. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/runner_email_mock.py +0 -0
  25. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/runner_rest_api.py +0 -0
  26. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/runner_satim_mock.py +0 -0
  27. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/runner_webhook_mock.py +0 -0
  28. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e/step_runner.py +0 -0
  29. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e.egg-info/SOURCES.txt +0 -0
  30. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e.egg-info/dependency_links.txt +0 -0
  31. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e.egg-info/requires.txt +0 -0
  32. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/sefrone_api_e2e.egg-info/top_level.txt +0 -0
  33. {sefrone_api_e2e-1.3.2 → sefrone_api_e2e-1.3.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sefrone_api_e2e
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: A Python package to provide e2e testing helpers for sefrone API projects
5
5
  Home-page: https://bitbucket.org/sefrone/sefrone_pypi
6
6
  Author: Sefrone
@@ -28,7 +28,7 @@ steps:
28
28
  skip_if:
29
29
  - "'$var(DEFAULT_WORKSPACE_NAME)' == ''"
30
30
  method: "POST"
31
- endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/workspace/$var(DEFAULT_WORKSPACE_NAME)/create"
31
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/workspace/$var(DEFAULT_WORKSPACE_NAME)/create?accountType=standard"
32
32
  request_headers:
33
33
  - x-api-token: "{$stored.admin_token}"
34
34
  send_as: "json"
@@ -29,9 +29,26 @@ steps:
29
29
  randomize:
30
30
  seed_account_id: 8
31
31
 
32
+ - name: "Root fetches own target account types"
33
+ method: "POST"
34
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/own/targets"
35
+ request_headers:
36
+ - x-api-token: "{$stored.root_admin_token}"
37
+ expect:
38
+ status: 200
39
+ body:
40
+ errorCode: number
41
+ errorCodeStr: string
42
+ message: string
43
+ response:
44
+ targetAccountTypes: []
45
+ assertions:
46
+ - "{{body.response.targetAccountTypes}} include 'standard'"
47
+ - "{{body.response.targetAccountTypes}} include 'admin'"
48
+
32
49
  - name: "Root create managed standard account"
33
50
  method: "POST"
34
- endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create"
51
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create?accountType=standard"
35
52
  request_headers:
36
53
  - x-api-token: "{$stored.root_admin_token}"
37
54
  send_as: "json"
@@ -221,6 +238,22 @@ steps:
221
238
  save:
222
239
  limited_admin_token: "{{body.response.token}}"
223
240
 
241
+ - name: "Limited admin fetches own target account types"
242
+ method: "POST"
243
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/own/targets"
244
+ request_headers:
245
+ - x-api-token: "{$stored.limited_admin_token}"
246
+ expect:
247
+ status: 200
248
+ body:
249
+ errorCode: number
250
+ errorCodeStr: string
251
+ message: string
252
+ response:
253
+ targetAccountTypes: []
254
+ assertions:
255
+ - "{{body.response.targetAccountTypes}} include 'standard'"
256
+
224
257
  - name: "Limited admin can list accounts using accounts permission alone"
225
258
  method: "POST"
226
259
  endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/list"
@@ -247,7 +280,7 @@ steps:
247
280
 
248
281
  - name: "Limited admin can create standard accounts using accounts permission alone"
249
282
  method: "POST"
250
- endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create"
283
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create?accountType=standard"
251
284
  request_headers:
252
285
  - x-api-token: "{$stored.limited_admin_token}"
253
286
  send_as: "json"
@@ -352,6 +385,122 @@ steps:
352
385
  errorCodeStr: string
353
386
  message: string
354
387
 
388
+ - name: "Root creates a standard account for account type changes"
389
+ method: "POST"
390
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create?accountType=standard"
391
+ request_headers:
392
+ - x-api-token: "{$stored.root_admin_token}"
393
+ send_as: "json"
394
+ body:
395
+ username: "e2e_type_change_{$stored.seed_account_id}"
396
+ password: "e2e_type_change_pwd_v1"
397
+ expect:
398
+ status: 200
399
+ body:
400
+ response:
401
+ accountId: string
402
+ accountType: string
403
+ save:
404
+ type_change_account_id: "{{body.response.accountId}}"
405
+ assertions:
406
+ - "{{body.response.accountType}} == 'standard'"
407
+
408
+ - name: "Root cannot change own account type"
409
+ method: "POST"
410
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/accountType/{$stored.root_admin_account_id}?accountType=admin"
411
+ request_headers:
412
+ - x-api-token: "{$stored.root_admin_token}"
413
+ expect:
414
+ status: 401
415
+ body:
416
+ errorCode: number
417
+ errorCodeStr: string
418
+ message: string
419
+
420
+ - name: "Admin account cannot change account type to admin"
421
+ method: "POST"
422
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/accountType/{$stored.type_change_account_id}?accountType=admin"
423
+ request_headers:
424
+ - x-api-token: "{$stored.limited_admin_token}"
425
+ expect:
426
+ status: 400
427
+ body:
428
+ errorCode: number
429
+ errorCodeStr: string
430
+ message: string
431
+
432
+ - name: "Admin account cannot change account type to root"
433
+ method: "POST"
434
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/accountType/{$stored.type_change_account_id}?accountType=root"
435
+ request_headers:
436
+ - x-api-token: "{$stored.limited_admin_token}"
437
+ expect:
438
+ status: 400
439
+ body:
440
+ errorCode: number
441
+ errorCodeStr: string
442
+ message: string
443
+
444
+ - name: "Admin account can change account type to an allowed target type"
445
+ method: "POST"
446
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/accountType/{$stored.type_change_account_id}?accountType=oauth2"
447
+ request_headers:
448
+ - x-api-token: "{$stored.limited_admin_token}"
449
+ expect:
450
+ status: 200
451
+ body:
452
+ errorCode: number
453
+ errorCodeStr: string
454
+ message: string
455
+
456
+ - name: "Account type change by admin is reflected on login"
457
+ method: "POST"
458
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/login"
459
+ send_as: "json"
460
+ body:
461
+ device: "e2e_test_device"
462
+ pseudo: "e2e_type_change_{$stored.seed_account_id}"
463
+ password: "e2e_type_change_pwd_v1"
464
+ expect:
465
+ status: 200
466
+ body:
467
+ response:
468
+ accountId: string
469
+ accountType: string
470
+ assertions:
471
+ - "{{body.response.accountId}} == '{$stored.type_change_account_id}'"
472
+ - "{{body.response.accountType}} == 'oauth2'"
473
+
474
+ - name: "Root can promote an account to admin"
475
+ method: "POST"
476
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/accountType/{$stored.type_change_account_id}?accountType=admin"
477
+ request_headers:
478
+ - x-api-token: "{$stored.root_admin_token}"
479
+ expect:
480
+ status: 200
481
+ body:
482
+ errorCode: number
483
+ errorCodeStr: string
484
+ message: string
485
+
486
+ - name: "Account type promotion by root is reflected on login"
487
+ method: "POST"
488
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/login"
489
+ send_as: "json"
490
+ body:
491
+ device: "e2e_test_device"
492
+ pseudo: "e2e_type_change_{$stored.seed_account_id}"
493
+ password: "e2e_type_change_pwd_v1"
494
+ expect:
495
+ status: 200
496
+ body:
497
+ response:
498
+ accountId: string
499
+ accountType: string
500
+ assertions:
501
+ - "{{body.response.accountId}} == '{$stored.type_change_account_id}'"
502
+ - "{{body.response.accountType}} == 'admin'"
503
+
355
504
  - name: "Root can set permissions for an admin account"
356
505
  method: "POST"
357
506
  endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/permission/{$stored.second_admin_account_id}"
@@ -448,6 +597,18 @@ steps:
448
597
  errorCodeStr: string
449
598
  message: string
450
599
 
600
+ - name: "Root admin deletes account type change test account"
601
+ method: "DELETE"
602
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/delete/{$stored.type_change_account_id}"
603
+ request_headers:
604
+ - x-api-token: "{$stored.root_admin_token}"
605
+ expect:
606
+ status: 200
607
+ body:
608
+ errorCode: number
609
+ errorCodeStr: string
610
+ message: string
611
+
451
612
  - name: "Root admin deletes managed account"
452
613
  method: "DELETE"
453
614
  endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/delete/{$stored.admin_managed_account_id}"
@@ -179,7 +179,7 @@ steps:
179
179
 
180
180
  - name: "Register standard test account"
181
181
  method: "POST"
182
- endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create"
182
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/create?accountType=standard"
183
183
  request_headers:
184
184
  - x-api-token: "{$stored.admin_token}"
185
185
  send_as: "json"
@@ -305,28 +305,44 @@ steps:
305
305
  response:
306
306
  - accountId: string
307
307
 
308
- - name: "Limited admin cannot create project-level API key without PermProjects"
308
+ - name: "Limited admin can create project-level API key with PermApiKeys"
309
309
  method: "POST"
310
310
  endpoint: "/api/v1/apiAuth/apiKey/$var(AUTH_PROJECT_NAME)/create"
311
311
  request_headers:
312
312
  - x-api-token: "{$stored.limited_admin_token}"
313
313
  send_as: "json"
314
314
  body:
315
- alias: "e2e_limited_project_apikey"
315
+ alias: "e2e_limited_project_apikey_{$stored.seed_account_id}"
316
316
  expect:
317
- status: 403
317
+ status: 200
318
+ body:
319
+ errorCode: number
320
+ errorCodeStr: string
321
+ message: string
322
+ response:
323
+ accountId: string
324
+ apiKey: string
325
+ apiKeyAlias: string
326
+ save:
327
+ limited_admin_project_apikey_account_id: "{{body.response.accountId}}"
328
+ assertions:
329
+ - "{{body.response.apiKeyAlias}} == 'e2e_limited_project_apikey_{$stored.seed_account_id}'"
318
330
 
319
- - name: "Limited admin cannot update API key without PermProjects"
331
+ - name: "Limited admin can update project-level API key with PermApiKeys"
320
332
  method: "POST"
321
333
  endpoint: "/api/v1/apiAuth/apiKey/$var(AUTH_PROJECT_NAME)/update"
322
334
  request_headers:
323
335
  - x-api-token: "{$stored.limited_admin_token}"
324
336
  send_as: "json"
325
337
  body:
326
- alias: "e2e_limited_update_apikey"
338
+ alias: "e2e_project_apikey_updated_by_admin_{$stored.seed_account_id}"
327
339
  apiKey: "{$stored.project_apikey_value}"
328
340
  expect:
329
- status: 403
341
+ status: 200
342
+ body:
343
+ errorCode: number
344
+ errorCodeStr: string
345
+ message: string
330
346
 
331
347
  - name: "Cleanup: Delete limited admin"
332
348
  method: "DELETE"
@@ -336,14 +352,6 @@ steps:
336
352
  expect:
337
353
  status: 200
338
354
 
339
- - name: "Cleanup: Delete standard account"
340
- method: "DELETE"
341
- endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/delete/{$stored.std_account_id}"
342
- request_headers:
343
- - x-api-token: "{$stored.admin_token}"
344
- expect:
345
- status: 200
346
-
347
355
  - name: "Cleanup: Delete workspace API key account"
348
356
  skip_if:
349
357
  - "'$var(DEFAULT_WORKSPACE_NAME)' == ''"
@@ -361,3 +369,11 @@ steps:
361
369
  - x-api-token: "{$stored.admin_token}"
362
370
  expect:
363
371
  status: 200
372
+
373
+ - name: "Cleanup: Delete limited admin's project API key account"
374
+ method: "DELETE"
375
+ endpoint: "/api/v1/apiAuth/account/$var(AUTH_PROJECT_NAME)/delete/{$stored.limited_admin_project_apikey_account_id}"
376
+ request_headers:
377
+ - x-api-token: "{$stored.admin_token}"
378
+ expect:
379
+ status: 200
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sefrone_api_e2e
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: A Python package to provide e2e testing helpers for sefrone API projects
5
5
  Home-page: https://bitbucket.org/sefrone/sefrone_pypi
6
6
  Author: Sefrone
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="sefrone_api_e2e",
8
- version="1.3.2",
8
+ version="1.3.4",
9
9
  author="Sefrone",
10
10
  author_email="contact@sefrone.com",
11
11
  description="A Python package to provide e2e testing helpers for sefrone API projects",