Sha256: f28c6a9f91d45d7887d2bba65a07125db52fbbe64c0486e75b93086dde79abde

Contents?: true

Size: 1.05 KB

Versions: 8

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require 'test_plugin_helper'

class MacrosTest < ActiveSupport::TestCase
  class TestScope < Foreman::Renderer::Scope::Base
    include ::ForemanVault::Macros
  end

  describe '#vault_secret' do
    test 'should have vault_secret helper' do
      host = FactoryBot.build_stubbed(:host)
      template = OpenStruct.new(name: 'Test', template: 'Test')
      source = Foreman::Renderer::Source::Database.new(template)

      vault_connection = FactoryBot.create(:vault_connection, :without_callbacks)
      secret_path = '/kv/my-secret'
      response = OpenStruct.new(data: { foo: 'bar' })
      logical = mock.tap { |object| object.expects(:read).once.with(secret_path).returns(response) }
      client = mock.tap { |object| object.expects(:logical).once.returns(logical) }
      Vault::Client.expects(:new).returns(client)

      subject = TestScope.new(host: host, source: source)

      assert subject.respond_to?(:vault_secret)
      assert_equal response.data, subject.vault_secret(vault_connection.name, secret_path)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
foreman_vault-1.2.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-1.1.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-1.0.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-0.4.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-0.3.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-0.2.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-0.1.0 test/unit/lib/foreman_vault/macros_test.rb
foreman_vault-0.0.1 test/unit/lib/foreman_vault/macros_test.rb