2018-11-20 20:47:30 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe Gitlab::Kubernetes::ClusterRoleBinding do
|
|
|
|
let(:cluster_role_binding) { described_class.new(name, cluster_role_name, subjects) }
|
|
|
|
let(:name) { 'cluster-role-binding-name' }
|
|
|
|
let(:cluster_role_name) { 'cluster-admin' }
|
|
|
|
|
|
|
|
let(:subjects) { [{ kind: 'ServiceAccount', name: 'sa', namespace: 'ns' }] }
|
|
|
|
|
|
|
|
describe '#generate' do
|
|
|
|
let(:role_ref) do
|
|
|
|
{
|
|
|
|
apiGroup: 'rbac.authorization.k8s.io',
|
|
|
|
kind: 'ClusterRole',
|
|
|
|
name: cluster_role_name
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
let(:resource) do
|
|
|
|
::Kubeclient::Resource.new(
|
|
|
|
metadata: { name: name },
|
|
|
|
roleRef: role_ref,
|
|
|
|
subjects: subjects
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
|
|
|
subject { cluster_role_binding.generate }
|
|
|
|
|
2019-05-18 00:54:41 +05:30
|
|
|
it 'builds a Kubeclient Resource' do
|
2018-11-20 20:47:30 +05:30
|
|
|
is_expected.to eq(resource)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|