From 9d8b792c4a620671fc7bfa94c8c24e1ddf8ebc29 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Wed, 8 Feb 2017 17:10:38 -0800 Subject: [PATCH] (POOLER-73) Add spec tests for move_vm_queue Add spec tests for move_vm_queue --- spec/unit/pool_manager_spec.rb | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/spec/unit/pool_manager_spec.rb b/spec/unit/pool_manager_spec.rb index 34838d4..43b9541 100644 --- a/spec/unit/pool_manager_spec.rb +++ b/spec/unit/pool_manager_spec.rb @@ -11,6 +11,7 @@ describe 'Pool Manager' do let(:vm) { 'vm1' } let(:timeout) { 5 } let(:host) { double('host') } + let(:token) { 'token1234'} subject { Vmpooler::PoolManager.new(config, logger, redis, metrics) } @@ -458,6 +459,44 @@ EOT end end + describe '#move_vm_queue' do + let(:queue_from) { 'pending' } + let(:queue_to) { 'completed' } + let(:message) { 'message' } + + before do + expect(subject).not_to be_nil + end + + before(:each) do + create_pending_vm(pool, vm, token) + end + + it 'VM should be in the "from queue" before the move' do + expect(redis.sismember("vmpooler__#{queue_from}__#{pool}",vm)) + end + + it 'VM should not be in the "from queue" after the move' do + subject.move_vm_queue(pool, vm, queue_from, queue_to, message) + expect(!redis.sismember("vmpooler__#{queue_from}__#{pool}",vm)) + end + + it 'VM should not be in the "to queue" before the move' do + expect(!redis.sismember("vmpooler__#{queue_to}__#{pool}",vm)) + end + + it 'VM should be in the "to queue" after the move' do + subject.move_vm_queue(pool, vm, queue_from, queue_to, message) + expect(redis.sismember("vmpooler__#{queue_to}__#{pool}",vm)) + end + + it 'should log a message' do + allow(logger).to receive(:log).with('d', "[!] [#{pool}] '#{vm}' #{message}") + + subject.move_vm_queue(pool, vm, queue_from, queue_to, message) + end + end + describe '#move_running_to_completed' do before do expect(subject).not_to be_nil