### GET /streaming/account/{{accountId}}/full
GET {{host}}/streaming/account/{{accountId}}/full
User-Agent: Bose_Lisa/27.0.6
Accept: application/vnd.bose.streaming-v1.2+xml
Authorization: Bearer {{token}}

> {%
    client.test("Request executed successfully", function() {
        client.assert(response.status === 200, "Response status is not 200");
    });

    client.test("Response content-type is correct", function() {
        var type = response.contentType.mimeType;
        client.assert(type === "application/vnd.bose.streaming-v1.2+xml", "Expected 'application/vnd.bose.streaming-v1.2+xml' but received '" + type + "'");
    });

    client.test("Response body structure", function() {
        var account = response.body.getElementsByTagName("account")[0];
        client.assert(account !== null, "Missing 'account' root element");
        // We use accountId from environment variables
        var expectedAccountId = client.variables.environment.get("accountId");
        client.assert(account.getAttribute("id") === expectedAccountId, "Expected account id '" + expectedAccountId + "' but received '" + account.getAttribute("id") + "'");

        var accountStatus = account.getElementsByTagName("accountStatus")[0];
        client.assert(accountStatus.textContent === "OK", "Account status is not OK");

        var devices = account.getElementsByTagName("devices")[0];
        client.assert(devices !== null, "Missing 'devices' element");

        var deviceList = devices.getElementsByTagName("device");
        client.assert(deviceList.length > 0, "No 'device' elements found");

        var firstDevice = deviceList[0];
        client.assert(firstDevice.getAttribute("deviceid").length > 0, "Missing deviceid attribute");

        var attachedProduct = firstDevice.getElementsByTagName("attachedProduct")[0];
        client.assert(attachedProduct !== null, "Missing 'attachedProduct'");
        client.assert(attachedProduct.getAttribute("product_code").length > 0, "Missing product_code");

        var presets = firstDevice.getElementsByTagName("presets")[0];
        client.assert(presets !== undefined, "Missing 'presets' element");

        var recents = firstDevice.getElementsByTagName("recents")[0];
        client.assert(recents !== undefined, "Missing 'recents' element");

        var sources = account.getElementsByTagName("sources")[0];
        client.assert(sources !== null, "Missing 'sources' element");
        var sourceCount = sources.getElementsByTagName("source").length;
        client.assert(sourceCount > 0, "No 'source' elements found in account sources");
        client.assert(sourceCount === 6, "Expected 6 sources (AUX, INTERNET_RADIO, LOCAL_INTERNET_RADIO, TUNEIN, RADIO_BROWSER, Spotify) but got " + sourceCount);
    });
%}
