diff options
Diffstat (limited to 'spec/lib/gitlab/kubernetes/helm/parsers/list_v2_spec.rb')
-rw-r--r-- | spec/lib/gitlab/kubernetes/helm/parsers/list_v2_spec.rb | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/spec/lib/gitlab/kubernetes/helm/parsers/list_v2_spec.rb b/spec/lib/gitlab/kubernetes/helm/parsers/list_v2_spec.rb deleted file mode 100644 index 435c296d5f1..00000000000 --- a/spec/lib/gitlab/kubernetes/helm/parsers/list_v2_spec.rb +++ /dev/null @@ -1,100 +0,0 @@ -# frozen_string_literal: true - -require 'fast_spec_helper' - -RSpec.describe Gitlab::Kubernetes::Helm::Parsers::ListV2 do - let(:valid_file_contents) do - <<~EOF - { - "Next": "", - "Releases": [ - { - "Name": "certmanager", - "Revision": 2, - "Updated": "Sun Mar 29 06:55:42 2020", - "Status": "DEPLOYED", - "Chart": "cert-manager-v0.10.1", - "AppVersion": "v0.10.1", - "Namespace": "gitlab-managed-apps" - }, - { - "Name": "certmanager-crds", - "Revision": 2, - "Updated": "Sun Mar 29 06:55:32 2020", - "Status": "DEPLOYED", - "Chart": "cert-manager-crds-v0.2.0", - "AppVersion": "release-0.10", - "Namespace": "gitlab-managed-apps" - }, - { - "Name": "certmanager-issuer", - "Revision": 1, - "Updated": "Tue Feb 18 10:04:04 2020", - "Status": "FAILED", - "Chart": "cert-manager-issuer-v0.1.0", - "AppVersion": "", - "Namespace": "gitlab-managed-apps" - }, - { - "Name": "runner", - "Revision": 2, - "Updated": "Sun Mar 29 07:01:01 2020", - "Status": "DEPLOYED", - "Chart": "gitlab-runner-0.14.0", - "AppVersion": "12.8.0", - "Namespace": "gitlab-managed-apps" - } - ] - } - EOF - end - - describe '#initialize' do - it 'initializes without error' do - expect do - described_class.new(valid_file_contents) - end.not_to raise_error - end - - it 'raises an error on invalid JSON' do - expect do - described_class.new('') - end.to raise_error(described_class::ParserError) - end - end - - describe '#releases' do - subject(:list_v2) { described_class.new(valid_file_contents) } - - it 'returns list of releases' do - expect(list_v2.releases).to match([ - a_hash_including('Name' => 'certmanager', 'Status' => 'DEPLOYED'), - a_hash_including('Name' => 'certmanager-crds', 'Status' => 'DEPLOYED'), - a_hash_including('Name' => 'certmanager-issuer', 'Status' => 'FAILED'), - a_hash_including('Name' => 'runner', 'Status' => 'DEPLOYED') - ]) - end - - context 'empty Releases' do - let(:valid_file_contents) { '{}' } - - it 'returns an empty array' do - expect(list_v2.releases).to eq([]) - end - end - - context 'invalid Releases' do - let(:invalid_file_contents) do - '{ "Releases" : ["a", "b"] }' - end - - subject(:list_v2) { described_class.new(invalid_file_contents) } - - it 'raises an error' do - expect do - list_v2.releases - end.to raise_error(described_class::ParserError, 'Invalid format for Releases') - end - end - end -end |