summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/kubernetes/service_account_token_spec.rb
blob: 0773d3d9aec11b4ac4a3b5a61a2aad976a524ae1 (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
28
29
30
31
32
33
34
35
# frozen_string_literal: true

require 'spec_helper'

describe Gitlab::Kubernetes::ServiceAccountToken do
  let(:name) { 'token-name' }
  let(:service_account_name) { 'a_service_account' }
  let(:namespace_name) { 'a_namespace' }
  let(:service_account_token) { described_class.new(name, service_account_name, namespace_name) }

  it { expect(service_account_token.name).to eq(name) }
  it { expect(service_account_token.service_account_name).to eq(service_account_name) }
  it { expect(service_account_token.namespace_name).to eq(namespace_name) }

  describe '#generate' do
    let(:resource) do
      ::Kubeclient::Resource.new(
        metadata: {
          name: name,
          namespace: namespace_name,
          annotations: {
            'kubernetes.io/service-account.name': service_account_name
          }
        },
        type: 'kubernetes.io/service-account-token'
      )
    end

    subject { service_account_token.generate }

    it 'should build a Kubeclient Resource' do
      is_expected.to eq(resource)
    end
  end
end