#!perl
use Cassandane::Tiny;

sub test_request_too_large ($self)
{
    my $jmap = $self->{jmap};

    xlog "Assert Problem Details report";
    my $http_req = HTTP::Request->new(
        POST => $jmap->api_uri,
        [
            'Content-Type' => 'application/json',
            $jmap->_maybe_auth_header,
        ],
        'X' x 1025,
    );

    my $http_res = $jmap->http_request($http_req);

    $self->assert_str_equals("413", $http_res->code);
    my $res = eval { decode_json($http_res->decoded_content(charset => undef)) };
    $self->assert_str_equals("413", $res->{status});
    $self->assert_str_equals("JMAP request exceeds a server limit",
                             $res->{title});
    $self->assert_str_equals("urn:ietf:params:jmap:error:limit", $res->{type});
    $self->assert_str_equals("maxSizeRequest", $res->{limit});
}
