Permit a job to update its output and log attributes even if those
[arvados.git] / services / api / test / integration / collections_api_test.rb
1 require 'test_helper'
2
3 class CollectionsApiTest < ActionDispatch::IntegrationTest
4   fixtures :all
5
6   test "should get index" do
7     get "/arvados/v1/collections", {:format => :json}, auth(:active)
8     assert_response :success
9     assert_equal "arvados#collectionList", jresponse['kind']
10   end
11
12   test "get index with filters= (empty string)" do
13     get "/arvados/v1/collections", {:format => :json, :filters => ''}, auth(:active)
14     assert_response :success
15     assert_equal "arvados#collectionList", jresponse['kind']
16   end
17
18   test "get index with where= (empty string)" do
19     get "/arvados/v1/collections", {:format => :json, :where => ''}, auth(:active)
20     assert_response :success
21     assert_equal "arvados#collectionList", jresponse['kind']
22   end
23
24   test "controller 404 response is json" do
25     get "/arvados/v1/thingsthatdonotexist", {:format => :xml}, auth(:active)
26     assert_response 404
27     assert_equal 1, jresponse['errors'].length
28     assert_equal true, jresponse['errors'][0].is_a?(String)
29   end
30
31   test "object 404 response is json" do
32     get "/arvados/v1/groups/zzzzz-j7d0g-o5ba971173cup4f", {}, auth(:active)
33     assert_response 404
34     assert_equal 1, jresponse['errors'].length
35     assert_equal true, jresponse['errors'][0].is_a?(String)
36   end
37
38   test "store collection as json" do
39     post "/arvados/v1/collections", {
40       format: :json,
41       collection: "{\"manifest_text\":\". bad42fa702ae3ea7d888fef11b46f450+44 0:44:md5sum.txt\\n\",\"uuid\":\"ad02e37b6a7f45bbe2ead3c29a109b8a+54\"}"
42     }, auth(:active)
43     assert_response 200
44     assert_equal 'ad02e37b6a7f45bbe2ead3c29a109b8a+54', jresponse['uuid']
45   end
46 end