diff options
Diffstat (limited to 'spec/lib/api/entities/clusters/agent_authorization_spec.rb')
-rw-r--r-- | spec/lib/api/entities/clusters/agent_authorization_spec.rb | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/spec/lib/api/entities/clusters/agent_authorization_spec.rb b/spec/lib/api/entities/clusters/agent_authorization_spec.rb index 101a8af4ac4..3a1deb43bf8 100644 --- a/spec/lib/api/entities/clusters/agent_authorization_spec.rb +++ b/spec/lib/api/entities/clusters/agent_authorization_spec.rb @@ -3,15 +3,34 @@ require 'spec_helper' RSpec.describe API::Entities::Clusters::AgentAuthorization do - let_it_be(:authorization) { create(:agent_group_authorization) } - subject { described_class.new(authorization).as_json } - it 'includes basic fields' do - expect(subject).to include( - id: authorization.agent_id, - config_project: a_hash_including(id: authorization.agent.project_id), - configuration: authorization.config - ) + shared_examples 'generic authorization' do + it 'includes shared fields' do + expect(subject).to include( + id: authorization.agent_id, + config_project: a_hash_including(id: authorization.agent.project_id), + configuration: authorization.config + ) + end + end + + context 'project authorization' do + let(:authorization) { create(:agent_project_authorization) } + + include_examples 'generic authorization' + end + + context 'group authorization' do + let(:authorization) { create(:agent_group_authorization) } + + include_examples 'generic authorization' + end + + context 'implicit authorization' do + let(:agent) { create(:cluster_agent) } + let(:authorization) { Clusters::Agents::ImplicitAuthorization.new(agent: agent) } + + include_examples 'generic authorization' end end |