Sha256: 4cedcd44ef65d7000f37fd819b31d5bfe51b065a548757eff61795f466357ea7

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require "gitlab"

module CiToolkit
  # Utility class that provides an faraday connection
  class SeeTestBot
    attr_reader :faraday_conn

    # Provides a base url, an endpoint and an access token that can be used to
    # interact with the SeeTest web service
    class Credentials
      attr_reader :base_url, :access_token

      def initialize(
        base_url = ENV["SEETEST_BASE_URL"],
        access_token = ENV["SEETEST_ACCESS_TOKEN"]
      )
        @base_url = base_url
        @access_token = access_token
      end
    end

    def initialize(
      credentials = CiToolkit::SeeTestBot::Credentials.new,
      faraday_conn = Faraday.new(url: credentials.base_url) do |f|
        f.request :authorization, "Bearer", credentials.access_token
        f.request :multipart
        f.request :url_encoded
        f.response :json, parser_options: { object_class: OpenStruct }
        f.adapter :net_http # A MUST for file upload to work with Faraday::Multipart::FilePart
      end
    )
      @faraday_conn = faraday_conn
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ci_toolkit-1.5.22 lib/ci_toolkit/seetest_bot.rb
ci_toolkit-1.5.21 lib/ci_toolkit/seetest_bot.rb
ci_toolkit-1.5.20 lib/ci_toolkit/seetest_bot.rb
ci_toolkit-1.5.19 lib/ci_toolkit/seetest_bot.rb