Sha256: 196aacb574c0f1c1ea73b7e7697fc8d402ed059165dfc886e7f8fdd7577ac5f7

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Rhea::Kubernetes::Commands::Scale, :vcr do
  include KubernetesSpecHelper

  before(:each) { delete_replication_controllers }
  after(:each) { delete_replication_controllers }

  let(:process_count) { 2 }

  describe '#perform' do
    context 'no existing rc' do
      it 'creates an rc' do
        described_class.new(expression: command_expression, process_count: process_count).perform
        matches = -> (request) do
          data = ActiveSupport::JSON.decode(request.body)
          container = data['spec']['template']['spec']['containers'][0]
          expected_container = {
            'command' => command_expression.split(' '),
            'image' => kube_image,
            'name' => kube_replication_controller_name,
            'env' => kube_env_vars.map { |name, value| { 'name' => name, 'value' => value } }
          }
          hash_includes_hash?(container, expected_container)
        end
        url = "#{kube_authed_api_url}replicationcontrollers"
        expect(WebMock).to have_requested(:post, url).with { |request| matches.call(request) }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rhea-0.2.0 spec/lib/rhea/kubernetes/commands/scale_spec.rb
rhea-0.1.0 spec/lib/rhea/kubernetes/commands/scale_spec.rb