summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/elasticsearch/logs/pods_spec.rb
blob: 07fa0980d369418dbd90a64f6e85bdcadff955c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Gitlab::Elasticsearch::Logs::Pods do
  let(:client) { Elasticsearch::Transport::Client }

  let(:es_query) { Gitlab::Json.parse(fixture_file('lib/elasticsearch/pods_query.json'), symbolize_names: true) }
  let(:es_response) { Gitlab::Json.parse(fixture_file('lib/elasticsearch/pods_response.json')) }
  let(:namespace) { "autodevops-deploy-9-production" }

  subject { described_class.new(client) }

  describe '#pods' do
    it 'returns the pods' do
      expect(client).to receive(:search).with(body: es_query).and_return(es_response)

      result = subject.pods(namespace)
      expect(result).to eq([
        {
          name: "runner-gitlab-runner-7bbfb5dcb5-p6smb",
          container_names: %w[runner-gitlab-runner]
        },
        {
          name: "elastic-stack-elasticsearch-master-1",
          container_names: %w[elasticsearch chown sysctl]
        },
        {
          name: "ingress-nginx-ingress-controller-76449bcc8d-8qgl6",
          container_names: %w[nginx-ingress-controller]
        }
     ])
    end
  end
end