Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test_gcp_command_credentials.rb « test « kubeclient « gems « vendor - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: f95b8fd045e441176bba03c02e092b3f4e2cd06a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require_relative 'test_helper'
require 'open3'

# Unit tests for the GCPCommandCredentials token provider
class GCPCommandCredentialsTest < MiniTest::Test
  def test_token
    opts = { 'cmd-args' => 'config config-helper --format=json',
             'cmd-path' => '/path/to/gcloud',
             'expiry-key' => '{.credential.token_expiry}',
             'token-key' => '{.credential.access_token}' }

    creds = JSON.dump(
      'credential' => {
        'access_token' => '9A3A941836F2458175BE18AA1971EBBF47949B07',
        'token_expiry' => '2019-04-12T15:02:51Z'
      }
    )

    st = Minitest::Mock.new
    st.expect(:success?, true)

    Open3.stub(:capture3, [creds, nil, st]) do
      assert_equal('9A3A941836F2458175BE18AA1971EBBF47949B07',
                   Kubeclient::GCPCommandCredentials.token(opts))
    end
  end
end