"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_equal discovery_doc['defaultTrashLifetime'], Rails.configuration.Collections.DefaultTrashLifetime
+ 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.configuration.Services.Websocket.ExternalURL.to_s
+ assert_equal discovery_doc['workbenchUrl'], Rails.configuration.Services.Workbench1.ExternalURL.to_s
+ 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
end
test "non-empty disable_api_methods" do
- Rails.configuration.disable_api_methods =
- ['jobs.create', 'pipeline_instances.create', 'pipeline_templates.create']
+ Rails.configuration.API.DisabledAPIs = ConfigLoader.to_OrderedOptions(
+ {'jobs.create'=>{}, 'pipeline_instances.create'=>{}, 'pipeline_templates.create'=>{}})
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
+ assert_equal group_contents_params.keys.sort, (group_index_params.keys - ['select'] + ['uuid', 'recursive', 'include', 'include_old_versions']).sort
recursive_param = group_contents_params['recursive']
assert_equal 'boolean', recursive_param['type']
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 coll_index_params.keys.sort, (specimens_index_params.keys + ['include_trash']).sort
+ 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']