15716: Merge branch 'master' into 15716-api-keepservice-list-fix
authorLucas Di Pentima <ldipentima@veritasgenetics.com>
Fri, 18 Oct 2019 22:04:08 +0000 (19:04 -0300)
committerLucas Di Pentima <ldipentima@veritasgenetics.com>
Fri, 18 Oct 2019 22:04:08 +0000 (19:04 -0300)
services/api/app/helpers/commits_helper.rb
services/api/app/models/keep_service.rb
services/api/lib/tasks/symbols.rake

index b1c02b2a76a1597f7caf0837cf609b2deffa1eac..fdb83a03751b1b81e45b0e9cd71ec910a81f7cca 100644 (file)
@@ -3,6 +3,7 @@
 # SPDX-License-Identifier: AGPL-3.0
 
 module CommitsHelper
+  extend CurrentApiClient
 
   class GitError < RequestError
     def http_status
index 60f2632029dc4bf2cf2ead9dc19522551b8bbb10..f76f5e47a5c68c7cb338a1e2bc836d80bf05a314 100644 (file)
@@ -7,6 +7,7 @@ class KeepService < ArvadosModel
   include KindAndEtag
   include CommonApiTemplate
   extend DbCurrentTime
+  extend CurrentApiClient
 
   SERVER_START_TIME = db_current_time
 
index a2e6df8b580c0fc8c80f7a97188699870352f754..dc9ed461dd95831a1f67318f2eeb47c9c63d0e21 100644 (file)
@@ -4,7 +4,12 @@
 
 require 'current_api_client'
 
-include CurrentApiClient
+# This is needed instead of just including CurrentApiClient so that its
+# methods don't get imported as Object's class methods; this is a problem because
+# the methods would be imported only on test environment. See #15716 for more info.
+class CurrentApiClientHelper
+  extend CurrentApiClient
+end
 
 def has_symbols? x
   if x.is_a? Hash
@@ -83,7 +88,7 @@ namespace :symbols do
      Node, PipelineInstance, PipelineTemplate,
      Repository, Specimen, Trait, User, VirtualMachine,
      Workflow].each do |klass|
-      act_as_system_user do
+      CurrentApiClientHelper.act_as_system_user do
         klass.all.each do |c|
           check_for_serialized_symbols c
         end
@@ -99,7 +104,7 @@ namespace :symbols do
      Node, PipelineInstance, PipelineTemplate,
      Repository, Specimen, Trait, User, VirtualMachine,
      Workflow].each do |klass|
-      act_as_system_user do
+      CurrentApiClientHelper.act_as_system_user do
         klass.all.each do |c|
           stringify_serialized_symbols c
         end