spec/kontena/cli/stacks/build_command_spec.rb in kontena-cli-1.1.0.pre1 vs spec/kontena/cli/stacks/build_command_spec.rb in kontena-cli-1.1.0.rc1
- old
+ new
@@ -1,10 +1,14 @@
require_relative "../../../spec_helper"
require "kontena/cli/stacks/build_command"
describe Kontena::Cli::Stacks::BuildCommand do
+ include RequirementsHelper
+
+ mock_current_master
+
let(:subject) do
described_class.new(File.basename($0))
end
describe '#execute' do
@@ -27,34 +31,41 @@
'context' => File.expand_path('.')
}
}
end
- describe '#execute' do
- before(:each) do
- allow(subject).to receive(:require_config_file).with('kontena.yml').and_return(true)
- allow(subject).to receive(:stack_from_yaml).with('kontena.yml').and_return(stack)
- allow(subject).to receive(:system).and_return(true)
- end
+ before(:each) do
+ allow(subject).to receive(:require_config_file).with('kontena.yml').and_return(true)
+ allow(subject).to receive(:stack_from_yaml).with('kontena.yml', hash_including(:name, :values)).and_return(stack)
+ allow(subject).to receive(:system).and_return(true)
+ end
- it 'requires config file' do
- expect(subject).to receive(:require_config_file).with('kontena.yml').and_return(true)
- subject.run([])
- end
+ expect_to_require_current_master
+ expect_to_require_current_master_token
- it 'reads stack file' do
- expect(subject).to receive(:stack_from_yaml).with('kontena.yml').and_return(stack)
- subject.run([])
- end
+ it 'requires config file' do
+ expect(subject).to receive(:require_config_file).with('kontena.yml').and_return(true)
+ subject.run([])
+ end
- it 'builds docker image' do
- expect(subject).to receive(:system).with('docker', 'build', '-t', 'registry.kontena.local/test:latest', '--pull', File.expand_path('.'))
- subject.run([])
- end
+ it 'reads stack file' do
+ expect(subject).to receive(:stack_from_yaml).with('kontena.yml', hash_including(:name, :values)).and_return(stack)
+ subject.run([])
+ end
- it 'pushes docker image' do
- expect(subject).to receive(:system).with('docker', 'push', 'registry.kontena.local/test:latest')
- subject.run([])
- end
+ it 'builds docker image' do
+ expect(subject).to receive(:system).with('docker', 'build', '-t', 'registry.kontena.local/test:latest', '--pull', File.expand_path('.'))
+ subject.run([])
+ end
+
+ it 'pushes docker image' do
+ expect(subject).to receive(:system).with('docker', 'push', 'registry.kontena.local/test:latest')
+ subject.run([])
+ end
+
+ it 'uses sudo when --sudo given' do
+ expect(subject).to receive(:system).with('sudo', 'docker', 'build', '-t', 'registry.kontena.local/test:latest', '--pull', File.expand_path('.')).and_return(true)
+ expect(subject).to receive(:system).with('sudo', 'docker', 'push', 'registry.kontena.local/test:latest').and_return(true)
+ subject.run(['--sudo'])
end
end
end