#!perl
use Cassandane::Tiny;

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

    xlog "Assert Problem Details report";

    my $uri = $jmap->upload_uri;
    $uri .= "garbage";
    $jmap->upload_uri($uri);

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

    $self->assert(!$upload_res->is_success);

    my $http_res = $upload_res->http_response;
    $self->assert_str_equals("404", $http_res->code);
    my $res = eval {
        decode_json($http_res->decoded_content(charset => undef))
    };
    $self->assert_str_equals("404", $res->{status});
    $self->assert_str_equals("Not Found", $res->{title});
    $self->assert_str_equals("about:blank", $res->{type});
    $self->assert_str_equals("unknown uploadUrl", $res->{detail});
}
