[ARVADOS] updated: 73e28547278ddff84847c12ad7f926e717ae553a
git at public.curoverse.com
git at public.curoverse.com
Wed Apr 23 17:28:36 EDT 2014
Summary of changes:
.../app/controllers/arvados/v1/users_controller.rb | 2 +-
services/api/app/models/pipeline_instance.rb | 101 +++++++++++++++
services/api/app/models/user.rb | 6 +-
.../views/user_notifier/account_is_setup.text.erb | 13 ++-
services/api/config/environments/test.rb.example | 3 +
.../20140422011506_pipeline_instance_state.rb | 87 +++++++++++++
services/api/db/schema.rb | 4 +-
services/api/lib/current_api_client.rb | 8 +-
services/api/test/fixtures/pipeline_instances.yml | 3 +
.../arvados/v1/groups_controller_test.rb | 28 ++--
.../functional/arvados/v1/users_controller_test.rb | 50 ++++++--
.../api_client_authorizations_api_test.rb | 6 +-
.../api/test/integration/collections_api_test.rb | 16 ++--
services/api/test/integration/jobs_api_test.rb | 4 +-
services/api/test/integration/permissions_test.rb | 12 +-
services/api/test/integration/valid_links_test.rb | 2 +-
services/api/test/test_helper.rb | 21 +++-
services/api/test/unit/application_test.rb | 32 +++++
services/api/test/unit/pipeline_instance_test.rb | 129 +++++++++++++++++++-
services/api/test/unit/user_test.rb | 61 +++++++++-
20 files changed, 525 insertions(+), 63 deletions(-)
create mode 100644 services/api/db/migrate/20140422011506_pipeline_instance_state.rb
create mode 100644 services/api/test/fixtures/pipeline_instances.yml
create mode 100644 services/api/test/unit/application_test.rb
via 73e28547278ddff84847c12ad7f926e717ae553a (commit)
via 6f918d1fc451f1ad72350677155a0d67f40a9628 (commit)
via 22db59393203f550e0c77e65c650e664667492ab (commit)
via 6a0ce3e88fc2122fe7749b6e4bc3eb01fb37b97c (commit)
via a955d5a89402d4b68ccec2d00c1ecf7d86334875 (commit)
via 1059fd1f9e22ebcae51413d2b0fde0416c71c79b (commit)
via 49aaa9f26dfaf50056abd7527976b681be26208b (commit)
via f03e21f7d50e34e7f7f7e7f570e8604fbd4d27da (commit)
via 35295980b918232db8a8f3321e3bf02729e26c9f (commit)
via 074147b4138f7a29ed9ff054b916ac1856b71e9f (commit)
via beef5fec7c77e3de84902969f877f1b4d5b89eef (commit)
via 8072742e6557966b3e3d699e18fd3ee8656ed5b7 (commit)
via 007a1e6edf9125990e286c71b00f51405470a4a6 (commit)
via c92d3fcdc2ab6bc3ec9bb03567de9203ff9b1f79 (commit)
via 3aa0915d0b9b0affd9a784df3d138f0d13df303b (commit)
via 5cb205c567c312345376bcd2b7104075b5710d7f (commit)
via a3c5fac3f7849cab38bedd313b522b994be17b15 (commit)
from c0aeec88f6507f441796d25ad2dfb49c78185731 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 73e28547278ddff84847c12ad7f926e717ae553a
Merge: 6f918d1 22db593
Author: Tom Clegg <tom at curoverse.com>
Date: Wed Apr 23 17:06:51 2014 -0400
Merge branch 'master' of git.curoverse.com:arvados into 2640-folder-api
Conflicts:
services/api/db/schema.rb
services/api/test/test_helper.rb
diff --cc services/api/db/schema.rb
index 373c279,ab39901..af751fa
--- a/services/api/db/schema.rb
+++ b/services/api/db/schema.rb
@@@ -311,10 -311,12 +311,12 @@@ ActiveRecord::Schema.define(:version =
t.string "pipeline_template_uuid"
t.string "name"
t.text "components"
- t.datetime "updated_at"
- t.text "properties"
- t.boolean "active"
t.boolean "success"
+ t.boolean "active", :default => false
+ t.datetime "updated_at", :null => false
+ t.text "properties"
+ t.string "state"
+ t.text "components_summary"
end
add_index "pipeline_instances", ["created_at"], :name => "index_pipeline_instances_on_created_at"
diff --cc services/api/test/test_helper.rb
index 3062c52,a4c1445..286cf66
--- a/services/api/test/test_helper.rb
+++ b/services/api/test/test_helper.rb
@@@ -25,6 -29,19 +33,15 @@@ class ActiveSupport::TestCas
end
class ActionDispatch::IntegrationTest
+
+ teardown do
+ Thread.current[:api_client_ip_address] = nil
+ Thread.current[:api_client_authorization] = nil
+ Thread.current[:api_client_uuid] = nil
+ Thread.current[:api_client] = nil
+ Thread.current[:user] = nil
+ end
+
- def jresponse
- @jresponse ||= ActiveSupport::JSON.decode @response.body
- end
-
def auth auth_fixture
{'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(auth_fixture).api_token}"}
end
commit 6f918d1fc451f1ad72350677155a0d67f40a9628
Author: Tom Clegg <tom at curoverse.com>
Date: Wed Apr 23 17:00:39 2014 -0400
Rename jresponse test helper to json_response.
diff --git a/services/api/test/functional/arvados/v1/groups_controller_test.rb b/services/api/test/functional/arvados/v1/groups_controller_test.rb
index 017984c..74110ae 100644
--- a/services/api/test/functional/arvados/v1/groups_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb
@@ -19,7 +19,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
get :index, filters: [['group_class', '=', 'folder']], format: :json
assert_response :success
group_uuids = []
- jresponse['items'].each do |group|
+ json_response['items'].each do |group|
assert_equal 'folder', group['group_class']
group_uuids << group['uuid']
end
@@ -34,7 +34,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
get :index, filters: [['group_class', '=', nil]], format: :json
assert_response :success
group_uuids = []
- jresponse['items'].each do |group|
+ json_response['items'].each do |group|
assert_equal nil, group['group_class']
group_uuids << group['uuid']
end
@@ -50,8 +50,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_equal [], jresponse['items']
- assert_equal 0, jresponse['items_available']
+ assert_equal [], json_response['items']
+ assert_equal 0, json_response['items_available']
end
test 'get group-owned objects' do
@@ -61,8 +61,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_operator 2, :<=, jresponse['items_available']
- assert_operator 2, :<=, jresponse['items'].count
+ assert_operator 2, :<=, json_response['items_available']
+ assert_operator 2, :<=, json_response['items'].count
end
test 'get group-owned objects with limit' do
@@ -73,8 +73,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_operator 1, :<, jresponse['items_available']
- assert_equal 1, jresponse['items'].count
+ assert_operator 1, :<, json_response['items_available']
+ assert_equal 1, json_response['items'].count
end
test 'get group-owned objects with limit and offset' do
@@ -86,8 +86,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_operator 1, :<, jresponse['items_available']
- assert_equal 0, jresponse['items'].count
+ assert_operator 1, :<, json_response['items_available']
+ assert_equal 0, json_response['items'].count
end
test 'get group-owned objects with additional filter matching nothing' do
@@ -98,8 +98,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_equal [], jresponse['items']
- assert_equal 0, jresponse['items_available']
+ assert_equal [], json_response['items']
+ assert_equal 0, json_response['items_available']
end
test 'get group-owned objects without include_linked' do
@@ -110,7 +110,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- uuids = jresponse['items'].collect { |i| i['uuid'] }
+ uuids = json_response['items'].collect { |i| i['uuid'] }
assert_equal nil, uuids.index(unexpected_uuid)
end
@@ -123,7 +123,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- uuids = jresponse['items'].collect { |i| i['uuid'] }
+ uuids = json_response['items'].collect { |i| i['uuid'] }
assert_includes uuids, expected_uuid, "Did not get #{expected_uuid}"
end
end
diff --git a/services/api/test/functional/arvados/v1/users_controller_test.rb b/services/api/test/functional/arvados/v1/users_controller_test.rb
index 948b601..8608e52 100644
--- a/services/api/test/functional/arvados/v1/users_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/users_controller_test.rb
@@ -889,9 +889,9 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_operator 2, :<=, jresponse['items_available']
- assert_operator 2, :<=, jresponse['items'].count
- kinds = jresponse['items'].collect { |i| i['kind'] }.uniq
+ assert_operator 2, :<=, json_response['items_available']
+ assert_operator 2, :<=, json_response['items'].count
+ kinds = json_response['items'].collect { |i| i['kind'] }.uniq
expect_kinds = %w'arvados#group arvados#specimen arvados#pipelineTemplate arvados#job'
assert_equal expect_kinds, (expect_kinds & kinds)
end
@@ -907,7 +907,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
while true
# Behaving badly here, using the same controller multiple
# times within a test.
- @jresponse = nil
+ @json_response = nil
get :owned_items, {
id: users(:active).uuid,
include_linked: inc_ind,
@@ -916,14 +916,14 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
format: :json,
}
assert_response :success
- assert_operator(0, :<, jresponse['items'].count,
+ assert_operator(0, :<, json_response['items'].count,
"items_available=#{items_available} but received 0 "\
"items with offset=#{offset}")
- items_available ||= jresponse['items_available']
- assert_equal(items_available, jresponse['items_available'],
+ items_available ||= json_response['items_available']
+ assert_equal(items_available, json_response['items_available'],
"items_available changed between page #{offset/limit} "\
"and page #{1+offset/limit}")
- jresponse['items'].each do |item|
+ json_response['items'].each do |item|
uuid = item['uuid']
assert_equal(nil, uuid_received[uuid],
"Received '#{uuid}' again on page #{1+offset/limit}")
@@ -937,7 +937,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
break if offset >= items_available
end
if inc_ind
- assert_operator 0, :<, (jresponse.keys - [users(:active).uuid]).count,
+ assert_operator 0, :<, (json_response.keys - [users(:active).uuid]).count,
"Set include_linked=true but did not receive any non-owned items"
end
end
diff --git a/services/api/test/integration/api_client_authorizations_api_test.rb b/services/api/test/integration/api_client_authorizations_api_test.rb
index fef4b5b..78841fe 100644
--- a/services/api/test/integration/api_client_authorizations_api_test.rb
+++ b/services/api/test/integration/api_client_authorizations_api_test.rb
@@ -19,9 +19,9 @@ class ApiClientAuthorizationsApiTest < ActionDispatch::IntegrationTest
get "/arvados/v1/users/current", {
:format => :json
- }, {'HTTP_AUTHORIZATION' => "OAuth2 #{jresponse['api_token']}"}
- @jresponse = nil
- assert_equal users(:spectator).uuid, jresponse['uuid']
+ }, {'HTTP_AUTHORIZATION' => "OAuth2 #{json_response['api_token']}"}
+ @json_response = nil
+ assert_equal users(:spectator).uuid, json_response['uuid']
end
test "refuse to create token for different user if not trusted client" do
diff --git a/services/api/test/integration/collections_api_test.rb b/services/api/test/integration/collections_api_test.rb
index 5fa77c3..8856fd5 100644
--- a/services/api/test/integration/collections_api_test.rb
+++ b/services/api/test/integration/collections_api_test.rb
@@ -6,33 +6,33 @@ class CollectionsApiTest < ActionDispatch::IntegrationTest
test "should get index" do
get "/arvados/v1/collections", {:format => :json}, auth(:active)
assert_response :success
- assert_equal "arvados#collectionList", jresponse['kind']
+ assert_equal "arvados#collectionList", json_response['kind']
end
test "get index with filters= (empty string)" do
get "/arvados/v1/collections", {:format => :json, :filters => ''}, auth(:active)
assert_response :success
- assert_equal "arvados#collectionList", jresponse['kind']
+ assert_equal "arvados#collectionList", json_response['kind']
end
test "get index with where= (empty string)" do
get "/arvados/v1/collections", {:format => :json, :where => ''}, auth(:active)
assert_response :success
- assert_equal "arvados#collectionList", jresponse['kind']
+ assert_equal "arvados#collectionList", json_response['kind']
end
test "controller 404 response is json" do
get "/arvados/v1/thingsthatdonotexist", {:format => :xml}, auth(:active)
assert_response 404
- assert_equal 1, jresponse['errors'].length
- assert_equal true, jresponse['errors'][0].is_a?(String)
+ assert_equal 1, json_response['errors'].length
+ assert_equal true, json_response['errors'][0].is_a?(String)
end
test "object 404 response is json" do
get "/arvados/v1/groups/zzzzz-j7d0g-o5ba971173cup4f", {}, auth(:active)
assert_response 404
- assert_equal 1, jresponse['errors'].length
- assert_equal true, jresponse['errors'][0].is_a?(String)
+ assert_equal 1, json_response['errors'].length
+ assert_equal true, json_response['errors'][0].is_a?(String)
end
test "store collection as json" do
@@ -41,6 +41,6 @@ class CollectionsApiTest < ActionDispatch::IntegrationTest
collection: "{\"manifest_text\":\". bad42fa702ae3ea7d888fef11b46f450+44 0:44:md5sum.txt\\n\",\"uuid\":\"ad02e37b6a7f45bbe2ead3c29a109b8a+54\"}"
}, auth(:active)
assert_response 200
- assert_equal 'ad02e37b6a7f45bbe2ead3c29a109b8a+54', jresponse['uuid']
+ assert_equal 'ad02e37b6a7f45bbe2ead3c29a109b8a+54', json_response['uuid']
end
end
diff --git a/services/api/test/integration/jobs_api_test.rb b/services/api/test/integration/jobs_api_test.rb
index 1c4e294..9302a73 100644
--- a/services/api/test/integration/jobs_api_test.rb
+++ b/services/api/test/integration/jobs_api_test.rb
@@ -6,8 +6,8 @@ class JobsApiTest < ActionDispatch::IntegrationTest
test "cancel job" do
post "/arvados/v1/jobs/#{jobs(:running).uuid}/cancel", {:format => :json}, {'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(:active).api_token}"}
assert_response :success
- assert_equal "arvados#job", jresponse['kind']
- assert_not_nil jresponse['cancelled_at']
+ assert_equal "arvados#job", json_response['kind']
+ assert_not_nil json_response['cancelled_at']
end
test "cancel someone else's visible job" do
diff --git a/services/api/test/integration/permissions_test.rb b/services/api/test/integration/permissions_test.rb
index e3f6cc1..2ebd62b 100644
--- a/services/api/test/integration/permissions_test.rb
+++ b/services/api/test/integration/permissions_test.rb
@@ -32,7 +32,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
properties: {}
}
}, auth(:admin)
- u = jresponse['uuid']
+ u = json_response['uuid']
assert_response :success
# read collection as spectator
@@ -86,7 +86,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
properties: {}
}
}, auth(:admin)
- u = jresponse['uuid']
+ u = json_response['uuid']
assert_response :success
# try to read collection as spectator
@@ -137,7 +137,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
properties: {}
}
}, auth(:admin)
- u = jresponse['uuid']
+ u = json_response['uuid']
assert_response :success
# try to read collection as spectator
@@ -196,7 +196,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
properties: {}
}
}, auth(:admin)
- u = jresponse['uuid']
+ u = json_response['uuid']
assert_response :success
# try to read collection as spectator
@@ -215,7 +215,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
test "read-only group-admin sees correct subset of user list" do
get "/arvados/v1/users", {:format => :json}, auth(:rominiadmin)
assert_response :success
- resp_uuids = jresponse['items'].collect { |i| i['uuid'] }
+ resp_uuids = json_response['items'].collect { |i| i['uuid'] }
[[true, users(:rominiadmin).uuid],
[true, users(:active).uuid],
[false, users(:miniadmin).uuid],
@@ -254,7 +254,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
[:miniadmin, true]].each do |which_user, update_should_succeed|
get "/arvados/v1/specimens", {:format => :json}, auth(which_user)
assert_response :success
- resp_uuids = jresponse['items'].collect { |i| i['uuid'] }
+ resp_uuids = json_response['items'].collect { |i| i['uuid'] }
[[true, specimens(:owned_by_active_user).uuid],
[true, specimens(:owned_by_private_group).uuid],
[false, specimens(:owned_by_spectator).uuid],
diff --git a/services/api/test/integration/valid_links_test.rb b/services/api/test/integration/valid_links_test.rb
index 657bf02..63c8e88 100644
--- a/services/api/test/integration/valid_links_test.rb
+++ b/services/api/test/integration/valid_links_test.rb
@@ -16,7 +16,7 @@ class ValidLinksTest < ActionDispatch::IntegrationTest
}
}, admin_auth
assert_response :success
- u = jresponse['uuid']
+ u = json_response['uuid']
put "/arvados/v1/links/#{u}", {
:format => :json,
diff --git a/services/api/test/test_helper.rb b/services/api/test/test_helper.rb
index 4a53b25..3062c52 100644
--- a/services/api/test/test_helper.rb
+++ b/services/api/test/test_helper.rb
@@ -13,8 +13,8 @@ class ActiveSupport::TestCase
self.request.headers["Accept"] = "text/json"
end
- def jresponse
- @jresponse ||= ActiveSupport::JSON.decode @response.body
+ def json_response
+ @json_response ||= ActiveSupport::JSON.decode @response.body
end
def authorize_with(api_client_auth_name)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list