diff options
author | Mayra Cabrera <mcabrera@gitlab.com> | 2018-10-23 00:47:54 +0300 |
---|---|---|
committer | Mayra Cabrera <mcabrera@gitlab.com> | 2018-10-23 01:16:14 +0300 |
commit | 1e4d61500039ad84e2ab95b58910f592994f56e5 (patch) | |
tree | 614fee02a747fd8d27ffe0d3d573e91887df1873 /spec | |
parent | 4cf1845e7ea5d9a52fe5af49dd1644f98a921010 (diff) |
Add RoleBinding methods
Includes RoleBinding methods to Kubeclient and introduce a new lib class
to generate RoleBinding resources.
This MR is part of
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22011
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/kubernetes/role_binding_spec.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/lib/gitlab/kubernetes/role_binding_spec.rb b/spec/lib/gitlab/kubernetes/role_binding_spec.rb new file mode 100644 index 00000000000..da3f5d27b25 --- /dev/null +++ b/spec/lib/gitlab/kubernetes/role_binding_spec.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Gitlab::Kubernetes::RoleBinding, '#generate' do + let(:role_name) { 'edit' } + let(:namespace) { 'my-namespace' } + let(:service_account_name) { 'my-service-account' } + + let(:subjects) do + [ + { + kind: 'ServiceAccount', + name: service_account_name, + namespace: namespace + } + ] + end + + let(:role_ref) do + { + apiGroup: 'rbac.authorization.k8s.io', + kind: 'Role', + name: role_name + } + end + + let(:resource) do + ::Kubeclient::Resource.new( + metadata: { name: "gitlab-#{namespace}", namespace: namespace }, + roleRef: role_ref, + subjects: subjects + ) + end + + subject do + described_class.new( + role_name: role_name, + namespace: namespace, + service_account_name: service_account_name + ).generate + end + + it 'should build a Kubeclient Resource' do + is_expected.to eq(resource) + end +end |