mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 09:06:14 +00:00
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>
40 lines
1.4 KiB
HTTP
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);
|
|
});
|
|
%}
|