Follow-up from "Add backend interface to look up for security training urls"
The following discussion from !81861 (merged) should be addressed:
-
@.luke started a discussion: (+1 comment) Suggestion (not blocking)
I think we can move the remaining two reactive cache methods into this class also, as their values are procs so will execute in the context of the inheriting classes.
When I apply this patch and run the specs, they pass:
diff --git a/ee/app/finders/security/training_providers/base_url_finder.rb b/ee/app/finders/security/training_providers/base_url_finder.rb index 088eecbf3f7..28f21949325 100644 --- a/ee/app/finders/security/training_providers/base_url_finder.rb +++ b/ee/app/finders/security/training_providers/base_url_finder.rb @@ -9,6 +9,8 @@ class BaseUrlFinder self.reactive_cache_refresh_interval = 1.minute self.reactive_cache_lifetime = 10.minutes self.reactive_cache_work_type = :external_dependency + self.reactive_cache_key = ->(finder) { finder.full_url } + self.reactive_cache_worker_finder = ->(id, *args) { from_cache(id) } def initialize(provider, identifier) @provider = provider diff --git a/ee/app/finders/security/training_providers/kontra_url_finder.rb b/ee/app/finders/security/training_providers/kontra_url_finder.rb index 85a50045a67..3aa9f8b5b6f 100644 --- a/ee/app/finders/security/training_providers/kontra_url_finder.rb +++ b/ee/app/finders/security/training_providers/kontra_url_finder.rb @@ -3,9 +3,6 @@ module Security module TrainingProviders class KontraUrlFinder < BaseUrlFinder - self.reactive_cache_key = ->(finder) { finder.full_url } - self.reactive_cache_worker_finder = ->(id, *args) { from_cache(id) } - def calculate_reactive_cache(full_url) bearer_token = "sbdMsxcgW2Xs75Q2uHc9FhUCZSEV3fSg" # To improve the authentication/integration https://gitlab.com/gitlab-org/gitlab/-/issues/354070 response = Gitlab::HTTP.try_get( diff --git a/ee/app/finders/security/training_providers/secure_code_warrior_url_finder.rb b/ee/app/finders/security/training_providers/secure_code_warrior_url_finder.rb index 1f33e5a6867..96462d6119f 100644 --- a/ee/app/finders/security/training_providers/secure_code_warrior_url_finder.rb +++ b/ee/app/finders/security/training_providers/secure_code_warrior_url_finder.rb @@ -3,9 +3,6 @@ module Security module TrainingProviders class SecureCodeWarriorUrlFinder < BaseUrlFinder - self.reactive_cache_key = ->(finder) { finder.full_url } - self.reactive_cache_worker_finder = ->(id, *args) { from_cache(id) } - def calculate_reactive_cache(full_url) response = Gitlab::HTTP.try_get(full_url) { url: response.parsed_response["url"] } if response
Edited by Subashis Chakraborty