@Test
public void testGetDownloadAuthorizationWithAllOverrides() throws B2Exception {

    final B2GetDownloadAuthorizationRequest request = B2GetDownloadAuthorizationRequest
            .builder(bucketId(1), fileName(1), 123)
            .setB2ContentDisposition("attachment; filename=\"example file name.txt\"")
            .setB2ContentLanguage("en-us")
            .setB2Expires(LocalDateTime.of(2030, 1, 1, 1, 0))
            .setB2CacheControl("max-age=100")
            .setB2ContentEncoding("gzip")
            .setB2ContentType("text/plain")
            .build();
    webifier.getDownloadAuthorization(ACCOUNT_AUTH, request);
    webApiClient.check("postJsonReturnJson.\n" +
            "url:\n" +
            "    apiUrl1/b2api/v2/b2_get_download_authorization\n" +
            "headers:\n" +
            "    Authorization: accountToken1\n" +
            "    User-Agent: SecretAgentMan/3.19.28\n" +
            "    X-Bz-Test-Mode: force_cap_exceeded\n" +
            "request:\n" +
            "    {\n" +
            "      \"b2CacheControl\": \"max-age=100\",\n" +
            "      \"b2ContentDisposition\": \"attachment; filename=\\\"example file name.txt\\\"\",\n" +
            "      \"b2ContentEncoding\": \"gzip\",\n" +
            "      \"b2ContentLanguage\": \"en-us\",\n" +
            "      \"b2ContentType\": \"text/plain\",\n" +
            "      \"b2Expires\": \"Tue, 1 Jan 2030 01:00:00 GMT\",\n" +
            "      \"bucketId\": \"bucket1\",\n" +
            "      \"fileNamePrefix\": \"files/\u81ea\u7531/0001\",\n" +
            "      \"validDurationInSeconds\": 123\n" +
            "    }\n" +
            "responseClass:\n" +
            "    B2DownloadAuthorization\n"
    );
    checkRequestCategory(OTHER, w -> w.getDownloadAuthorization(ACCOUNT_AUTH, request));
}