fluke/devops-service/spec/workers/create_server_worker_spec.rb

34 lines
1.2 KiB
Ruby
Raw Normal View History

2016-03-17 13:49:35 +03:00
require 'workers/create_server_worker'
2018-04-04 22:44:39 +03:00
RSpec.describe CreateServerWorker, type: :worker do
2016-03-17 13:49:35 +03:00
let(:worker) { described_class.new }
2018-04-04 22:44:39 +03:00
let(:server_attrs) { {'environment' => 'foo'} }
let(:category) { build(:category) }
let(:env) { build(:environment) }
let(:project) { build(:project) }
2016-03-17 13:49:35 +03:00
before do
2018-04-04 22:44:39 +03:00
allow(worker).to receive(:set_task_data)
allow(project).to receive(:environment) { env }
allow(env).to receive(:get_category) { category }
2016-03-17 13:49:35 +03:00
allow_any_instance_of(Devops::Executor::ServerExecutor).to receive(:create_server)
2018-04-04 22:44:39 +03:00
allow(Devops::Model::Project).to receive_message_chain(:find_with_environment) { project }
allow(Sidekiq.logger).to receive(:info)
2016-03-17 13:49:35 +03:00
end
it 'requires server attrs and owner' do
expect{ worker.perform('owner' => 'user') }.to raise_error KeyError
expect{ worker.perform('server_attrs' => {}) }.to raise_error KeyError
end
2018-04-04 22:44:39 +03:00
it 'updates task' do
expect(worker).to receive(:set_task_data)
worker.perform('owner' => 'user', 'server_attrs' => server_attrs)
2016-03-17 13:49:35 +03:00
end
2018-04-04 22:44:39 +03:00
it 'calls #create_server on executor' do
expect_any_instance_of(Devops::Executor::ServerExecutor).to receive(:create_server)
worker.perform('owner' => 'user', 'server_attrs' => server_attrs)
2016-03-17 13:49:35 +03:00
end
2018-04-04 22:44:39 +03:00
end