Sha256: 550eaa8357d7b54097fe594cd5947bc2ca0d7eb0ab5d00d725041031b95b704f

Contents?: true

Size: 1.21 KB

Versions: 13

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true
require 'spec_helper'

describe Ethon::Easy::Mirror do
  let(:options) { nil }
  let(:mirror) { described_class.new(options) }

  describe "::INFORMATIONS_TO_LOG" do
    [
      :return_code, :response_code, :response_body, :response_headers,
      :total_time, :starttransfer_time, :appconnect_time,
      :pretransfer_time, :connect_time, :namelookup_time, :redirect_time,
      :effective_url, :primary_ip, :redirect_count, :debug_info
    ].each do |name|
      it "contains #{name}" do
        expect(described_class::INFORMATIONS_TO_MIRROR).to include(name)
      end
    end
  end

  describe "#to_hash" do
    let(:options) { {:return_code => 1} }

    it "returns mirror as hash" do
      expect(mirror.to_hash).to eq(options)
    end
  end

  describe "#log_informations" do
    let(:options) { {:return_code => 1} }

    it "returns hash" do
      expect(mirror.log_informations).to be_a(Hash)
    end

    it "only calls methods that exist" do
      described_class::INFORMATIONS_TO_LOG.each do |method_name|
        expect(mirror.respond_to? method_name).to eql(true)
      end
    end

    it "includes return code" do
      expect(mirror.log_informations).to include(options)
    end
  end
end

Version data entries

13 entries across 13 versions & 5 rubygems

Version Path
svix-0.53.1 vendor/bundle/ruby/2.7.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
svix-0.53.0 vendor/bundle/ruby/2.7.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-keto-client-0.7.0.alpha0 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.6.alpha7 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.6.alpha6 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.6.alpha5 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.6.alpha4 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.6.alpha3 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.6.alpha1 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ory-kratos-client-0.7.5.alpha2 vendor/bundle/ruby/2.5.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
cloudsmith-api-0.57.1 vendor/bundle/ruby/2.6.0/gems/ethon-0.14.0/spec/ethon/easy/mirror_spec.rb
ethon-0.14.0 spec/ethon/easy/mirror_spec.rb
ethon-0.13.0 spec/ethon/easy/mirror_spec.rb