13668: Replaced package_version with packageVersion on discovery doc.
authorLucas Di Pentima <ldipentima@veritasgenetics.com>
Tue, 10 Jul 2018 17:47:52 +0000 (14:47 -0300)
committerLucas Di Pentima <ldipentima@veritasgenetics.com>
Tue, 10 Jul 2018 17:47:52 +0000 (14:47 -0300)
Also, enhanced package version caching on api server & workbench.

Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>

apps/workbench/lib/app_version.rb
services/api/app/controllers/arvados/v1/schema_controller.rb
services/api/lib/app_version.rb
services/api/test/functional/arvados/v1/schema_controller_test.rb

index 303d853ec5420ee3dffefbf34c789bb8689a769c..9db76e25728da4e4127ed68cc8064c1d3a4f5d8c 100644 (file)
@@ -64,8 +64,9 @@ class AppVersion
     begin
       @package_version = IO.read(Rails.root.join("package-build.version")).strip
     rescue Errno::ENOENT
+      @package_version = "unknown"
     end
 
-    @package_version || "unknown"
+    @package_version
   end
 end
index 8f6e2be72cd4d2e8bda1c29292eb0194452658de..49fc398e14bc86232ec8f791ffa0d986a376c48a 100644 (file)
@@ -33,7 +33,8 @@ class Arvados::V1::SchemaController < ApplicationController
         version: "v1",
         revision: "20131114",
         source_version: AppVersion.hash,
-        package_version: AppVersion.package_version,
+        sourceVersion: AppVersion.hash, # source_version should be deprecated in the future
+        packageVersion: AppVersion.package_version,
         generatedAt: db_current_time.iso8601,
         title: "Arvados API",
         description: "The API to interact with Arvados.",
index 6dcdafb50be2b204fefffb35cdd584b7090b7aba..335608b2b6611eaac1eba516219d457f549c6862 100644 (file)
@@ -63,8 +63,9 @@ class AppVersion
     begin
       @package_version = IO.read(Rails.root.join("package-build.version")).strip
     rescue Errno::ENOENT
+      @package_version = "unknown"
     end
 
-    @package_version || "unknown"
+    @package_version
   end
 end
index 067e7b2bb28a9cfc952e1a8ef460c982a6e349e6..40868c87b8857ba34cd5aff2bfbf065506d50b00 100644 (file)
@@ -31,26 +31,29 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase
     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(/^unknown$/, discovery_doc['package_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 overrides source_version with config" 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)
+    # 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 package_version with config" do
+  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 '1.0.0-stable', discovery_doc['package_version']
+    assert_equal '1.0.0-stable', discovery_doc['packageVersion']
   end
 
   test "empty disable_api_methods" do