[ARVADOS] updated: 1.3.0-635-ga7d2e8bc0
Git user
git at public.curoverse.com
Thu Apr 4 22:25:35 UTC 2019
Summary of changes:
.../arvados/v1/groups_controller_test.rb | 69 ----------------------
.../functional/arvados/v1/jobs_controller_test.rb | 50 ----------------
services/api/test/integration/groups_test.rb | 43 ++++++++++++++
services/api/test/integration/jobs_api_test.rb | 39 ++++++++++++
services/api/test/performance/links_index_test.rb | 26 +++++---
services/api/test/performance/permission_test.rb | 1 +
6 files changed, 102 insertions(+), 126 deletions(-)
via a7d2e8bc017ffaebd6fa7df0187ef6421f6fa9df (commit)
via 1963cf522fe547dd88474f29d2263a7d98e99fea (commit)
via 49754950aa80cd1163a053de0f37d975c277e012 (commit)
from 66cab5a1f2b24c903a1a1c8b2316cc8b3f35ce1b (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 a7d2e8bc017ffaebd6fa7df0187ef6421f6fa9df
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date: Thu Apr 4 19:25:11 2019 -0300
14873: Fixes permission benchmark test
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>
diff --git a/services/api/test/performance/permission_test.rb b/services/api/test/performance/permission_test.rb
index 4dbc81e81..ad14e031d 100644
--- a/services/api/test/performance/permission_test.rb
+++ b/services/api/test/performance/permission_test.rb
@@ -40,6 +40,7 @@ class PermissionPerfTest < ActionDispatch::IntegrationTest
end
end
end
+ User.invalidate_permissions_cache
end
end)
end
commit 1963cf522fe547dd88474f29d2263a7d98e99fea
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date: Thu Apr 4 18:24:50 2019 -0300
14873: Changes perftest with benchmark because of unidentified errors.
Didn't want to dilate the migraton any longer because of this. If it's
critical we could investigate further.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>
diff --git a/services/api/test/performance/links_index_test.rb b/services/api/test/performance/links_index_test.rb
index c3f9e9452..092c01fe1 100644
--- a/services/api/test/performance/links_index_test.rb
+++ b/services/api/test/performance/links_index_test.rb
@@ -3,18 +3,30 @@
# SPDX-License-Identifier: AGPL-3.0
require 'test_helper'
-require 'rails/performance_test_help'
+require 'benchmark'
-class IndexTest < ActionDispatch::PerformanceTest
+class IndexTest < ActionDispatch::IntegrationTest
def test_links_index
- get '/arvados/v1/links', params: {format: :json}, headers: auth(:admin)
+ puts("Get links index: ", Benchmark.measure do
+ get '/arvados/v1/links', params: {
+ limit: 1000,
+ format: :json
+ }, headers: auth(:admin)
+ end)
end
def test_links_index_with_filters
- get '/arvados/v1/links',
- params: {format: :json, filters: [%w[head_uuid is_a arvados#collection]].to_json},
- headers: auth(:admin)
+ puts("Get links index with filters: ", Benchmark.measure do
+ get '/arvados/v1/links', params: {
+ format: :json,
+ filters: [%w[head_uuid is_a arvados#collection]].to_json
+ }, headers: auth(:admin)
+ end)
end
def test_collections_index
- get '/arvados/v1/collections', params: {format: :json}, headers: auth(:admin)
+ puts("Get collections index: ", Benchmark.measure do
+ get '/arvados/v1/collections', params: {
+ format: :json
+ }, headers: auth(:admin)
+ end)
end
end
commit 49754950aa80cd1163a053de0f37d975c277e012
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date: Thu Apr 4 16:11:55 2019 -0300
14873: Migrated functional tests to be integration tests.
Making more than 1 request on functional tests produces issues hard
to debug. Instead, those kind of tests should be done as integration tests.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>
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 bc1f5c184..37b606409 100644
--- a/services/api/test/functional/arvados/v1/groups_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb
@@ -405,75 +405,6 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
new_project['name'])
end
- test "unsharing a project results in hiding it from previously shared user" do
- # Make the same call as in line 448.
- @controller = Arvados::V1::LinksController.new
- authorize_with :system_user
- post :create, params: {
- link: {
- link_class: "permission",
- name: "can_read",
- head_uuid: groups(:starred_and_shared_active_user_project).uuid,
- tail_uuid: users(:project_viewer).uuid,
- }
- }
- assert_response :success
- assert_equal 'permission', json_response['link_class']
- l = Link.find_by_uuid(json_response['uuid'])
- l.destroy
- @test_counter = 0
-
- # remove sharing link for project
- @controller = Arvados::V1::LinksController.new
- authorize_with :admin
- post :destroy, params: {id: links(:share_starred_project_with_project_viewer).uuid}
- assert_response :success
-
- # verify that the user can no longer see the project
- @test_counter = 0 # Reset executed action counter
- @controller = Arvados::V1::GroupsController.new
- authorize_with :project_viewer
- get :index, params: {filters: [['group_class', '=', 'project']], format: :json}
- assert_response :success
- found_projects = {}
- json_response['items'].each do |g|
- found_projects[g['uuid']] = g
- end
- assert_equal false, found_projects.include?(groups(:starred_and_shared_active_user_project).uuid)
-
- # share the project
- @test_counter = 0
- @controller = Arvados::V1::LinksController.new
- authorize_with :system_user
- post :create, params: {
- link: {
- link_class: "permission",
- name: "can_read",
- head_uuid: groups(:starred_and_shared_active_user_project).uuid,
- tail_uuid: users(:project_viewer).uuid,
- }
- }
- assert_response :success
- # This fails if the call at the beginning of the test isn't
- # made, because for some reason the links controller gets
- # an empty params list.
- assert_equal 'permission', json_response['link_class']
- # NOTE that if I manually create the link, the test pass:
- # Link.create(link_class: 'permission', name: 'can_read', head_uuid: groups(:starred_and_shared_active_user_project).uuid, tail_uuid: users(:project_viewer).uuid)
-
- # verify that project_viewer user can now see shared project again
- @test_counter = 0
- @controller = Arvados::V1::GroupsController.new
- authorize_with :project_viewer
- get :index, params: {filters: [['group_class', '=', 'project']], format: :json}
- assert_response :success
- found_projects = {}
- json_response['items'].each do |g|
- found_projects[g['uuid']] = g
- end
- assert_equal true, found_projects.include?(groups(:starred_and_shared_active_user_project).uuid)
- end
-
[
[['owner_uuid', '!=', 'zzzzz-tpzed-xurymjxw79nv3jz'], 200,
'zzzzz-d1hrv-subprojpipeline', 'zzzzz-d1hrv-1xfj6xkicf2muk2'],
diff --git a/services/api/test/functional/arvados/v1/jobs_controller_test.rb b/services/api/test/functional/arvados/v1/jobs_controller_test.rb
index be325aabe..fb81f2363 100644
--- a/services/api/test/functional/arvados/v1/jobs_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/jobs_controller_test.rb
@@ -479,56 +479,6 @@ class Arvados::V1::JobsControllerTest < ActionController::TestCase
end
end
- test 'get_delete components_get again for job with components' do
- authorize_with :active
- get :show, params: {id: jobs(:running_job_with_components).uuid}
- assert_response :success
- assert_not_nil json_response["components"]
- assert_equal ["component1", "component2"], json_response["components"].keys
-
- # delete second component
- @test_counter = 0 # Reset executed action counter
- @controller = Arvados::V1::JobsController.new
- put :update, params: {
- id: jobs(:running_job_with_components).uuid,
- job: {
- components: {"component1" => "zzzzz-8i9sb-jobuuid00000001"}
- }
- }
- assert_response :success
-
- @test_counter = 0 # Reset executed action counter
- @controller = Arvados::V1::JobsController.new
- get :show, params: {id: jobs(:running_job_with_components).uuid}
- assert_response :success
- assert_not_nil json_response["components"]
- assert_equal ["component1"], json_response["components"].keys
-
- # delete all components
- @test_counter = 0 # Reset executed action counter
- @controller = Arvados::V1::JobsController.new
- put :update, params: {
- id: jobs(:running_job_with_components).uuid,
- job: {
- components: {}
- }
- }
- assert_response :success
- # These assertions shouldn't pass. It seems that the @request var is cached
- # from the previous call on line 492.
- assert_not_equal 0, json_response['components'].size
- assert_not_equal [], SafeJSON.load(@request.params['job'])['components'].keys
-
- @test_counter = 0 # Reset executed action counter
- @controller = Arvados::V1::JobsController.new
- get :show, params: {id: jobs(:running_job_with_components).uuid}
- assert_response :success
- assert_not_nil json_response["components"]
- # The commented assertion below fails because of what's happening on the
- # previous request
- # assert_equal [], json_response["components"].keys
- end
-
test 'jobs.create disabled in config' do
Rails.configuration.disable_api_methods = ["jobs.create",
"pipeline_instances.create"]
diff --git a/services/api/test/integration/groups_test.rb b/services/api/test/integration/groups_test.rb
index 3a59aff9a..e45dd4eb5 100644
--- a/services/api/test/integration/groups_test.rb
+++ b/services/api/test/integration/groups_test.rb
@@ -134,6 +134,49 @@ class GroupsTest < ActionDispatch::IntegrationTest
assert_includes coll_uuids, collections(:foo_collection_in_aproject).uuid
assert_not_includes coll_uuids, collections(:expired_collection).uuid
end
+
+ test "unsharing a project results in hiding it from previously shared user" do
+ # remove sharing link for project
+ delete "/arvados/v1/links/#{links(:share_starred_project_with_project_viewer).uuid}", headers: auth(:admin)
+ assert_response 200
+
+ # verify that the user can no longer see the project
+ get "/arvados/v1/groups",
+ params: {
+ filters: [['group_class', '=', 'project']].to_json,
+ limit: 1000
+ }, headers: auth(:project_viewer)
+ assert_response 200
+ found_projects = {}
+ json_response['items'].each do |g|
+ found_projects[g['uuid']] = g
+ end
+ assert_equal false, found_projects.include?(groups(:starred_and_shared_active_user_project).uuid)
+
+ # share the project
+ post "/arvados/v1/links", params: {
+ link: {
+ link_class: "permission",
+ name: "can_read",
+ head_uuid: groups(:starred_and_shared_active_user_project).uuid,
+ tail_uuid: users(:project_viewer).uuid,
+ }
+ }, headers: auth(:system_user)
+ assert_response 200
+ assert_equal 'permission', json_response['link_class']
+
+ # verify that project_viewer user can now see shared project again
+ get "/arvados/v1/groups", params: {
+ filters: [['group_class', '=', 'project']].to_json,
+ limit: 1000
+ }, headers: auth(:project_viewer)
+ assert_response 200
+ found_projects = {}
+ json_response['items'].each do |g|
+ found_projects[g['uuid']] = g
+ end
+ assert_equal true, found_projects.include?(groups(:starred_and_shared_active_user_project).uuid)
+ end
end
class NonTransactionalGroupsTest < ActionDispatch::IntegrationTest
diff --git a/services/api/test/integration/jobs_api_test.rb b/services/api/test/integration/jobs_api_test.rb
index 4499a92cd..f5fb920b4 100644
--- a/services/api/test/integration/jobs_api_test.rb
+++ b/services/api/test/integration/jobs_api_test.rb
@@ -49,4 +49,43 @@ class JobsApiTest < ActionDispatch::IntegrationTest
last_qsequence = qsequence
end
end
+
+ test 'get_delete components_get again for job with components' do
+ authorize_with :active
+ get "/arvados/v1/jobs/#{jobs(:running_job_with_components).uuid}",
+ headers: auth(:active)
+ assert_response 200
+ assert_not_nil json_response["components"]
+ assert_equal ["component1", "component2"], json_response["components"].keys
+
+ # delete second component
+ put "/arvados/v1/jobs/#{jobs(:running_job_with_components).uuid}", params: {
+ job: {
+ components: {"component1" => "zzzzz-8i9sb-jobuuid00000001"}
+ },
+ limit: 1000
+ }, headers: auth(:active)
+ assert_response 200
+
+ get "/arvados/v1/jobs/#{jobs(:running_job_with_components).uuid}",
+ headers: auth(:active)
+ assert_response 200
+ assert_not_nil json_response["components"]
+ assert_equal ["component1"], json_response["components"].keys
+
+ # delete all components
+ put "/arvados/v1/jobs/#{jobs(:running_job_with_components).uuid}", params: {
+ job: {
+ components: nil
+ },
+ limit: 1000
+ }, headers: auth(:active)
+ assert_response 200
+
+ get "/arvados/v1/jobs/#{jobs(:running_job_with_components).uuid}",
+ headers: auth(:active)
+ assert_response 200
+ assert_not_nil json_response["components"]
+ assert_equal [], json_response["components"].keys
+ end
end
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list