Re-record Okta cassette against a real Okta org

The driver test cassette was regenerated by running the driver in
record mode against a live Okta org, which validated the field
mapping (id, status, created/activated/lastLogin, profile.*) and the
rel="self" Link header format against the real GET /api/v1/users
response.

The recording is then fully anonymized: the real domain, member
names, emails, user IDs, session cookie, and request-id are replaced
with synthetic values, and a second page with a rel="next" Link
header is added back to keep pagination coverage (the source org had
a single user). TestCassettesUseSyntheticEmails guards the result.

Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
Aurélien Sibiril
2026-06-04 17:57:51 +02:00
parent 06f3f8aecf
commit 44c3d3fd9d

View File

@@ -1,4 +1,10 @@
---
# Anonymized from a real GET /api/v1/users recording against an Okta org
# (token stripped by the recorder). Real PII (domain, names, emails, user
# IDs, session cookie, request-id) replaced with synthetic values; a second
# page + rel="next" Link header were added to keep pagination coverage. The
# user object shape (id, status, created/activated/lastLogin, type, profile.*)
# mirrors the live response.
version: 2
interactions:
- id: 0
@@ -22,16 +28,20 @@ interactions:
proto_minor: 0
content_length: -1
uncompressed: true
body: '[{"id":"00u1aaaaaaaaaaaaa0h7","status":"ACTIVE","created":"2024-01-15T10:00:00.000Z","lastLogin":"2026-05-20T08:30:00.000Z","profile":{"firstName":"Alice","lastName":"Active","displayName":"Alice Active","email":"alice@example.com","login":"alice@example.com","title":"Security Engineer"}},{"id":"00u2bbbbbbbbbbbbb1h7","status":"SUSPENDED","created":"2024-02-20T11:00:00.000Z","lastLogin":null,"profile":{"firstName":"Bob","lastName":"Suspended","email":"bob@example.com","login":"bob@example.com"}},{"id":"00u3ccccccccccccc2h7","status":"ACTIVE","created":"2024-03-01T12:00:00.000Z","profile":{"firstName":"No","lastName":"Email","email":"","login":""}}]'
body: '[{"id":"00u1aaaaaaaaaaaaa0h7","status":"ACTIVE","created":"2024-01-15T10:00:00.000Z","activated":"2024-01-15T10:00:00.000Z","statusChanged":"2024-01-15T10:05:00.000Z","lastLogin":"2026-05-20T08:30:00.000Z","lastUpdated":"2024-01-15T10:05:00.000Z","type":{"id":"otyexampletype000000"},"profile":{"firstName":"Alice","lastName":"Active","mobilePhone":null,"secondEmail":null,"login":"alice@example.com","email":"alice@example.com","displayName":"Alice Active","title":"Security Engineer"}},{"id":"00u2bbbbbbbbbbbbb1h7","status":"SUSPENDED","created":"2024-02-20T11:00:00.000Z","activated":"2024-02-20T11:00:00.000Z","statusChanged":"2025-09-01T08:00:00.000Z","lastLogin":null,"lastUpdated":"2025-09-01T08:00:00.000Z","type":{"id":"otyexampletype000000"},"profile":{"firstName":"Bob","lastName":"Suspended","mobilePhone":null,"secondEmail":null,"login":"bob@example.com","email":"bob@example.com"}},{"id":"00u3ccccccccccccc2h7","status":"STAGED","created":"2024-03-01T12:00:00.000Z","activated":null,"lastLogin":null,"type":{"id":"otyexampletype000000"},"profile":{"firstName":"No","lastName":"Email","login":"","email":""}}]'
headers:
Cache-Control:
- no-cache, no-store
Content-Type:
- application/json
Link:
- <https://acme.okta.com/api/v1/users?limit=200>; rel="self"
- <https://acme.okta.com/api/v1/users?after=00ucursor0000000003h7&limit=200>; rel="next"
- <https://acme.okta.com/api/v1/users?after=00ucursorpage2example&limit=200>; rel="next"
X-Rate-Limit-Remaining:
- "299"
status: 200 OK
code: 200
duration: 18ms
duration: 120ms
- id: 1
request:
proto: HTTP/1.1
@@ -41,13 +51,13 @@ interactions:
host: acme.okta.com
form:
after:
- 00ucursor0000000003h7
- 00ucursorpage2example
limit:
- "200"
headers:
Accept:
- application/json
url: https://acme.okta.com/api/v1/users?after=00ucursor0000000003h7&limit=200
url: https://acme.okta.com/api/v1/users?after=00ucursorpage2example&limit=200
method: GET
response:
proto: HTTP/2.0
@@ -55,12 +65,16 @@ interactions:
proto_minor: 0
content_length: -1
uncompressed: true
body: '[{"id":"00u4ddddddddddddd4h7","status":"DEPROVISIONED","created":"2024-04-10T09:00:00.000Z","lastLogin":"2025-12-01T07:00:00.000Z","profile":{"firstName":"Carol","lastName":"Gone","email":"carol@example.com","login":"carol@example.com","title":"Contractor"}}]'
body: '[{"id":"00u4ddddddddddddd4h7","status":"DEPROVISIONED","created":"2024-04-10T09:00:00.000Z","activated":"2024-04-10T09:00:00.000Z","statusChanged":"2026-01-15T16:00:00.000Z","lastLogin":"2025-12-01T07:00:00.000Z","lastUpdated":"2026-01-15T16:00:00.000Z","type":{"id":"otyexampletype000000"},"profile":{"firstName":"Carol","lastName":"Gone","mobilePhone":null,"secondEmail":null,"login":"carol@example.com","email":"carol@example.com","title":"Contractor"}}]'
headers:
Cache-Control:
- no-cache, no-store
Content-Type:
- application/json
Link:
- <https://acme.okta.com/api/v1/users?limit=200>; rel="self"
- <https://acme.okta.com/api/v1/users?after=00ucursorpage2example&limit=200>; rel="self"
X-Rate-Limit-Remaining:
- "298"
status: 200 OK
code: 200
duration: 15ms
duration: 110ms