summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/kubernetes/helm/parsers/list_v2_spec.rb
diff options
context:
space:
mode:
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.rb100
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