X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dfe0ec7bfec3fd72cd40d3962e5c8af08d2413d2..8a0e9c549595e114a0eadc9d6792a17fb59d0f3e:/services/api/test/functional/arvados/v1/schema_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/schema_controller_test.rb b/services/api/test/functional/arvados/v1/schema_controller_test.rb index 2e370ec9cd..9d49128052 100644 --- a/services/api/test/functional/arvados/v1/schema_controller_test.rb +++ b/services/api/test/functional/arvados/v1/schema_controller_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class Arvados::V1::SchemaControllerTest < ActionController::TestCase @@ -20,27 +24,36 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase "discovery document was generated >#{MAX_SCHEMA_AGE}s ago") end - test "discovery document has defaultTrashLifetime" do + test "discovery document fields" do get :index assert_response :success discovery_doc = JSON.parse(@response.body) assert_includes discovery_doc, 'defaultTrashLifetime' assert_equal discovery_doc['defaultTrashLifetime'], Rails.application.config.default_trash_lifetime + assert_match(/^[0-9a-f]+(-modified)?$/, discovery_doc['source_version']) + assert_match(/^[0-9a-f]+(-modified)?$/, discovery_doc['sourceVersion']) + assert_match(/^unknown$/, discovery_doc['packageVersion']) + assert_equal discovery_doc['websocketUrl'], Rails.application.config.websocket_address + assert_equal discovery_doc['workbenchUrl'], Rails.application.config.workbench_address + assert_equal('zzzzz', discovery_doc['uuidPrefix']) end - test "discovery document has source_version" do + test "discovery document overrides source_version & sourceVersion with config" do + Rails.configuration.source_version = 'aaa888fff' get :index assert_response :success discovery_doc = JSON.parse(@response.body) - assert_match /^[0-9a-f]+(-modified)?$/, discovery_doc['source_version'] + # Key source_version will be replaced with sourceVersion + assert_equal 'aaa888fff', discovery_doc['source_version'] + assert_equal 'aaa888fff', discovery_doc['sourceVersion'] end - test "discovery document overrides source_version with config" do - Rails.configuration.source_version = 'aaa888fff' + test "discovery document overrides packageVersion with config" do + Rails.configuration.package_version = '1.0.0-stable' get :index assert_response :success discovery_doc = JSON.parse(@response.body) - assert_equal 'aaa888fff', discovery_doc['source_version'] + assert_equal '1.0.0-stable', discovery_doc['packageVersion'] end test "empty disable_api_methods" do @@ -52,7 +65,7 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase end test "non-empty disable_api_methods" do - Rails.configuration.disable_api_methods = + Rails.configuration.API["DisabledAPIs"] = ['jobs.create', 'pipeline_instances.create', 'pipeline_templates.create'] get :index assert_response :success @@ -61,4 +74,38 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase refute_includes(discovery_doc['resources'][r]['methods'].keys(), 'create') end end + + test "groups contents parameters" do + get :index + assert_response :success + + discovery_doc = JSON.parse(@response.body) + + group_index_params = discovery_doc['resources']['groups']['methods']['index']['parameters'] + group_contents_params = discovery_doc['resources']['groups']['methods']['contents']['parameters'] + + assert_equal group_contents_params.keys.sort, (group_index_params.keys - ['select'] + ['uuid', 'recursive']).sort + + recursive_param = group_contents_params['recursive'] + assert_equal 'boolean', recursive_param['type'] + assert_equal false, recursive_param['required'] + assert_equal 'query', recursive_param['location'] + end + + test "collections index parameters" do + get :index + assert_response :success + + discovery_doc = JSON.parse(@response.body) + + specimens_index_params = discovery_doc['resources']['specimens']['methods']['index']['parameters'] # no changes from super + coll_index_params = discovery_doc['resources']['collections']['methods']['index']['parameters'] + + assert_equal (specimens_index_params.keys + ['include_trash', 'include_old_versions']).sort, coll_index_params.keys.sort + + include_trash_param = coll_index_params['include_trash'] + assert_equal 'boolean', include_trash_param['type'] + assert_equal false, include_trash_param['required'] + assert_equal 'query', include_trash_param['location'] + end end