Sha256: 394f1981e3aabdbe3974b724bec02981578e47dba8605459a1f067f397c583fc

Contents?: true

Size: 1.81 KB

Versions: 5

Compression:

Stored size: 1.81 KB

Contents

require 'spec_helper'

describe Conjur::User do
  context "#new" do
    let(:login) { 'the-login' }
    let(:url) { "https://example.com/users/#{login}" }
    let(:api_key) { 'the-api-key' }
    let(:credentials) { { user: login, password: api_key } }
    let(:user) { Conjur::User.new(url, credentials)}
    describe "attributes" do
      subject { user }

      describe '#id' do
        subject { super().id }
        it { is_expected.to eq(login) }
      end

      describe '#login' do
        subject { super().login }
        it { is_expected.to eq(login) }
      end

      describe '#resource_id' do
        subject { super().resource_id }
        it { is_expected.to eq(login) }
      end

      describe '#resource_kind' do
        subject { super().resource_kind }
        it { is_expected.to eq("user") }
      end

      describe '#options' do
        subject { super().options }
        it { is_expected.to match(hash_including credentials) }
      end
      specify {
        expect { user.roleid }.to raise_error
      }
    end
    it "connects to a Resource" do
      require 'conjur/resource'
      expect(Conjur::Core::API).to receive(:conjur_account).and_return 'ci'
      expect(Conjur::Resource).to receive(:new).with(
        Conjur::Authz::API.host, hash_including(credentials)
      ).and_return resource = double(:resource)
      expect(resource).to receive(:[]).with("ci/resources/user/the-login")
      
      user.resource
    end
    it "connects to a Role" do
      require 'conjur/role'
      expect(Conjur::Core::API).to receive(:conjur_account).and_return 'ci'
      expect(Conjur::Role).to receive(:new).with(
        Conjur::Authz::API.host, hash_including(credentials)
      ).and_return role = double(:role)
      expect(role).to receive(:[]).with("ci/roles/user/the-login")
      
      user.role
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
conjur-api-4.19.1 spec/lib/user_spec.rb
conjur-api-4.19.0 spec/lib/user_spec.rb
conjur-api-4.16.0 spec/lib/user_spec.rb
conjur-api-4.15.0 spec/lib/user_spec.rb
conjur-api-4.14.0 spec/lib/user_spec.rb