9701: Merge branch '9463-change-arvput-use-collection-class' into 9701-collection...
[arvados.git] / services / api / test / functional / arvados / v1 / schema_controller_test.rb
index 71d49dd9da729ea2644411fafafc8be37aa8b0d0..f651d81eb3dd13a049896e0e9cdccb87eda6d548 100644 (file)
@@ -2,9 +2,16 @@ require 'test_helper'
 
 class Arvados::V1::SchemaControllerTest < ActionController::TestCase
 
+  setup do forget end
+  teardown do forget end
+  def forget
+    Rails.cache.delete 'arvados_v1_rest_discovery'
+    AppVersion.forget
+  end
+
   test "should get fresh discovery document" do
     MAX_SCHEMA_AGE = 60
-    get :discovery_rest_description
+    get :index
     assert_response :success
     discovery_doc = JSON.parse(@response.body)
     assert_equal 'discovery#restDescription', discovery_doc['kind']
@@ -13,4 +20,26 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase
                  "discovery document was generated >#{MAX_SCHEMA_AGE}s ago")
   end
 
+  test "discovery document has defaultTrashLifetime" 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
+  end
+
+  test "discovery document has source_version" do
+    get :index
+    assert_response :success
+    discovery_doc = JSON.parse(@response.body)
+    assert_match /^[0-9a-f]+(-modified)?$/, discovery_doc['source_version']
+  end
+
+  test "discovery document overrides source_version with config" do
+    Rails.configuration.source_version = 'aaa888fff'
+    get :index
+    assert_response :success
+    discovery_doc = JSON.parse(@response.body)
+    assert_equal 'aaa888fff', discovery_doc['source_version']
+  end
 end