summaryrefslogtreecommitdiff
path: root/qa/contracts/provider/environments/base.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/contracts/provider/environments/base.rb')
-rw-r--r--qa/contracts/provider/environments/base.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/qa/contracts/provider/environments/base.rb b/qa/contracts/provider/environments/base.rb
new file mode 100644
index 00000000000..695ee6b867d
--- /dev/null
+++ b/qa/contracts/provider/environments/base.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+module Provider
+ module Environments
+ class Base
+ attr_writer :base_url, :merge_request
+
+ def call(env)
+ @payload
+ end
+
+ def http(endpoint)
+ Faraday.default_adapter = :net_http
+ response = Faraday.get(@base_url + endpoint)
+ @payload = [response.status, response.headers, [response.body]]
+ self
+ end
+
+ def merge_request(endpoint)
+ http(@merge_request + endpoint) if endpoint.include? '.json'
+ end
+ end
+ end
+end