Sha256: 2aa6f25fcde8ad21ffe27a7d048d04d54858fd7d33c44b5d949372770a3278eb

Contents?: true

Size: 1.57 KB

Versions: 17

Compression:

Stored size: 1.57 KB

Contents

require "kontena/cli/stacks/deploy_command"

describe Kontena::Cli::Stacks::DeployCommand do

  include ClientHelpers
  include RequirementsHelper

  expect_to_require_current_master
  expect_to_require_current_master_token

  mock_current_master

  describe '#execute' do
    before(:each) do
      allow(subject).to receive(:wait_for_deploy_to_finish).and_return(true)
      allow(subject).to receive(:wait_for_deployment_to_start).and_return(true)
      allow(subject).to receive(:wait_for_service_deploy).and_return(true)
    end

    it 'sends deploy command to master' do
      expect(client).to receive(:post).with(
        'stacks/test-grid/test-stack/deploy', {}
      ).and_return({})
      subject.run(['test-stack'])
    end
  end

  it 'exits with error if the stack deploy fails to start' do
    expect(client).to receive(:post).with('stacks/test-grid/test-stack/deploy', {}).once.and_return({
        'id' => '59524bd753caed000801b6a3',
        'stack_id' => 'test-grid/test-stack',
        'created_at' => '2017-06-27T12:13:11.181Z',
        'state' => 'created',
        'service_deploys' => [],
    })

    expect(client).to receive(:get).with('stacks/test-grid/test-stack/deploys/59524bd753caed000801b6a3').once.and_return({
        'id' => '59524bd753caed000801b6a3',
        'stack_id' => 'test-grid/test-stack',
        'created_at' => '2017-06-27T12:13:11.181Z',
        'state' => 'error',
        'service_deploys' => [],
    })
    expect(subject).to receive(:sleep).once

    expect{subject.run(['test-stack'])}.to exit_with_error.and output(/Stack deploy failed/).to_stdout
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
kontena-cli-1.5.4 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.4.rc1 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.3 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.2 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.1 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0.rc1 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0.pre5 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0.pre4 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0.pre3 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0.pre2 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.5.0.pre1 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.4.3 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.4.3.rc1 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.4.2 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.4.2.rc1 spec/kontena/cli/stacks/deploy_command_spec.rb
kontena-cli-1.4.2.pre1 spec/kontena/cli/stacks/deploy_command_spec.rb