Files
Tobias GesellchenandClaude Opus 4.8 d5b298fc43 test(http-client): pin ignored edges + app/provisioning surface (refs #451)
Two deliberately-unimplemented routes, pinned as "currently ignored" so a future
change to them is conscious:
- GET  /v1/blacklist/{deviceId}  -> 405 (inline stub)
- POST /alexa/certificate        -> 501 (no AWS IoT integration)

App / provisioning surface (app-called, not the speaker data-plane). Shapes come
from the _/mitm capture where one exists, otherwise from the handler (canned /
stub responses):
- GET  /streaming/account/{a}/emailaddress  -> 200 (<emailAddress>, _/mitm)
- GET  /customer/account/{a}                -> 200 (<customer> profile, canned)
- POST /customer/account/{a}                -> 200 (profile update, stub)
- POST /customer/account/{a}/password       -> 200 (password change, stub)

COVERAGE.md gains an app/provisioning section and records the source (mitm vs
handler) for each. make test-http-client: 73 requests, 0 failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 19:11:24 +02:00

40 lines
1.4 KiB
HTTP

### POST /customer/account/{accountId} (update account profile)
###
### App / provisioning surface. HandleMargeUpdateAccountProfile is a stub that
### accepts the update with 200. No live recording; this pins the current accept.
POST {{host}}/customer/account/{{accountId}}
User-Agent: Mozilla/5.0 (Linux; Android 13) SOUNDTOUCH_MOBILE_APP
Content-Type: application/xml
Authorization: Bearer {{token}}
<?xml version="1.0" encoding="UTF-8"?>
<customer>
<accountID>{{accountId}}</accountID>
<firstName>SoundTouch</firstName>
<lastName>User</lastName>
</customer>
> {%
client.test("Profile update accepted (200)", function() {
client.assert(response.status === 200, "Response status is not 200, got " + response.status);
});
%}
### POST /customer/account/{accountId}/password (change account password)
###
### App / provisioning surface. HandleMargeChangePassword is a stub that accepts
### the change with 200. No live recording; this pins the current accept.
POST {{host}}/customer/account/{{accountId}}/password
User-Agent: Mozilla/5.0 (Linux; Android 13) SOUNDTOUCH_MOBILE_APP
Content-Type: application/xml
Authorization: Bearer {{token}}
<?xml version="1.0" encoding="UTF-8"?>
<password><old>old-secret</old><new>new-secret</new></password>
> {%
client.test("Password change accepted (200)", function() {
client.assert(response.status === 200, "Response status is not 200, got " + response.status);
});
%}