Add auth from ondemand request to provisioned vms

This commit is contained in:
kirby@puppetlabs.com 2020-05-08 15:43:35 -07:00
parent 74fbc74c4d
commit 203cadf1ed
3 changed files with 29 additions and 3 deletions

View file

@ -130,9 +130,11 @@ def pool_has_ready_vm?(pool, vm, redis)
!!redis.sismember('vmpooler__ready__' + pool, vm)
end
def create_ondemand_request_for_test(request_id, score, platforms_string, redis)
def create_ondemand_request_for_test(request_id, score, platforms_string, redis, user = nil, token = nil)
redis.zadd('vmpooler__provisioning__request', score, request_id)
redis.hset("vmpooler__odrequest__#{request_id}", 'requested', platforms_string)
redis.hset("vmpooler__odrequest__#{request_id}", 'token:token', token) if token
redis.hset("vmpooler__odrequest__#{request_id}", 'token:user', user) if user
end
def set_ondemand_request_ready(request_id, redis)

View file

@ -357,6 +357,28 @@ EOT
end
end
end
context 'with auth on the request' do
let(:user) { 'vmpuser' }
let(:platform_alias) { pool }
let(:platforms_string) { "#{platform_alias}:#{pool}:1" }
let(:score) { current_time.to_i }
before(:each) do
redis_connection_pool.with do |redis|
create_ondemand_request_for_test(request_id, score, platforms_string, redis, user, token)
end
end
it 'should specify auth data on the vm' do
redis_connection_pool.with do |redis|
allow(redis).to receive(:hset)
expect(redis).to receive(:hset).with("vmpooler__vm__#{vm}", 'token:token', token)
expect(redis).to receive(:hset).with("vmpooler__vm__#{vm}", 'token:user', user)
subject.move_pending_vm_to_ready(vm, pool, redis, request_id)
end
end
end
end
end