Sha256: b8b6d7ac99d56e13d5986af77efd85e5097834d9c0f31f805683f0887ee54120

Contents?: true

Size: 1.77 KB

Versions: 57

Compression:

Stored size: 1.77 KB

Contents

require_relative "../../../spec_helper"
require "kontena/cli/grid_options"
require "kontena/cli/services/update_command"

describe Kontena::Cli::Services::UpdateCommand do

  include ClientHelpers

  describe '#execute' do

    before(:each) do
      allow(subject).to receive(:update_service).and_return({})
    end

    it 'requires api url' do
      expect(subject).to receive(:require_api_url).once
      subject.run(['service'])
    end

    it 'requires token' do
      expect(subject).to receive(:require_token).once
      subject.run(['service'])
    end

    it 'sends update command' do
      expect(subject).to receive(:update_service).with(duck_type(:access_token), 'service', {privileged: false})
      subject.run(['service'])
    end

    it 'sends --cap-add' do
      expect(subject).to receive(:update_service).with(duck_type(:access_token), 'service', hash_including(cap_add: ['NET_ADMIN']))
      subject.run(['--cap-add', 'NET_ADMIN', 'service'])
    end

    it 'sends --cap-drop' do
      expect(subject).to receive(:update_service).with(duck_type(:access_token), 'service', hash_including(cap_drop: ['MKNOD']))
      subject.run(['--cap-drop', 'MKNOD', 'service'])
    end

    it 'sends --log-driver' do
      expect(subject).to receive(:update_service).with(duck_type(:access_token), 'service', hash_including(log_driver: 'syslog'))
      subject.run(['--log-driver', 'syslog', 'service'])
    end

    it 'sends --log-opt' do
      expect(subject).to receive(:update_service).with(
        duck_type(:access_token), 'service', hash_including(log_opts: {
          'gelf-address'  => 'udp://log_forwarder-logstash_internal:12201'
        })
      )
      subject.run([
        '--log-opt', 'gelf-address=udp://log_forwarder-logstash_internal:12201', 'service'
      ])
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
kontena-cli-1.1.1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.1.1.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.1.0 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.1.0.rc2 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.1.0.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.1.0.pre1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.6 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.6.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.5 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.5.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.5.pre1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.4 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.4.rc2 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.4.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.3 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.3.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.2 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.2.rc2 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.2.rc1 spec/kontena/cli/services/update_command_spec.rb
kontena-cli-1.0.2.pre1 spec/kontena/cli/services/update_command_spec.rb