#!perl
use Cassandane::Tiny;

sub test_blob_upload_too_large
    :min_version_3_9 :JMAPExtensions
    ($self)
{
    my $jmap = $self->{jmap};

    xlog "Assert Problem Details report";
    my $big_blob = 'X' x 1025;

    my $upload_res = $jmap->upload({
        accountId => 'cassandane',
        blob      => \$big_blob,
        type      => "text/plain",
    });

    my $http_res = $upload_res->http_response;

    $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("Content Too Large", $res->{title});
    $self->assert_str_equals("urn:ietf:params:jmap:error:limit", $res->{type});
    $self->assert_str_equals("maxSizeUpload", $res->{limit});
}
