diff options
Diffstat (limited to 'qa/qa/vendor/smocker/smocker_api.rb')
-rw-r--r-- | qa/qa/vendor/smocker/smocker_api.rb | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/qa/qa/vendor/smocker/smocker_api.rb b/qa/qa/vendor/smocker/smocker_api.rb index 230656776b7..359d1497825 100644 --- a/qa/qa/vendor/smocker/smocker_api.rb +++ b/qa/qa/vendor/smocker/smocker_api.rb @@ -17,36 +17,21 @@ module QA body: '{}' YAML - # @param wait [Integer] seconds to wait for server - # @yieldparam [SmockerApi] the api object ready for interaction - def self.init(**wait_args) - if @container.nil? - @container = Service::DockerRun::Smocker.new - @container.register! - @container.wait_for_running - end - - yield new(@container, **wait_args) - end - - def self.teardown! - @container&.remove! - @container = nil - end - - def initialize(container, **wait_args) - @container = container - wait_for_ready(**wait_args) + def initialize(host:, public_port: 8080, admin_port: 8081, tls: false) + @host = host + @public_port = public_port + @admin_port = admin_port + @scheme = tls ? "https" : "http" end # @return [String] Base url of mock endpoint def base_url - @container.base_url + @base_url ||= "#{scheme}://#{host}:#{public_port}" end # @return [String] Url of admin endpoint def admin_url - @container.admin_url + @admin_url ||= "#{scheme}://#{host}:#{admin_port}" end # @param endpoint [String] path for mock endpoint @@ -130,6 +115,8 @@ module QA private + attr_reader :host, :public_port, :admin_port, :scheme + def build_params(**args) args.each_with_object([]) do |(k, v), memo| memo << "#{k}=#{v}" if v |