Project

General

Profile

Download (2.49 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class KeyPairsControllerTest < ActionController::TestCase
setup do
@compute_resource = FactoryBot.create(:ec2_cr)
end

test "cr with key_pair should get index" do
get :index, params: { :compute_resource_id => @compute_resource.to_param }, session: set_session_user
assert_response :success
end

test "cr without key_pair should not get index" do
compute_resource = FactoryBot.create(:libvirt_cr)
get :index, params: { :compute_resource_id => compute_resource.to_param }, session: set_session_user
assert_response :not_found
end

test "should download pem file" do
key = FactoryBot.create(:key_pair)
get :show, params: { :compute_resource_id => @compute_resource.to_param, :id => key.id }, session: set_session_user
assert_response :success
assert_equal(key.secret, @response.body)
refute @response.body.size.zero?
end

test "should recreate a key pair" do
Foreman::Model::EC2.any_instance.stubs(:recreate).returns(KeyPair.create(:name => "foreman-#{Foreman.uuid}",
:secret => "shhh",
:compute_resource_id => @compute_resource.id))
key_pair = FactoryBot.create(:key_pair)
key_pair.compute_resource = @compute_resource
post :create, params: { :compute_resource_id => @compute_resource.to_param }, session: set_session_user
assert_response :redirect
assert_redirected_to @compute_resource
refute_nil(@compute_resource.key_pair)
refute_equal(key_pair, @compute_resource.key_pair)
end

test "should remove a key" do
Foreman::Model::EC2.any_instance.stubs(:delete_key_from_resource).returns(true)
delete :destroy, params: { :compute_resource_id => @compute_resource.to_param, :id => "foreman-key" }, session: set_session_user
assert_response :redirect
assert_redirected_to @compute_resource
end

test "should create a key pair" do
Foreman::Model::EC2.any_instance.stubs(:recreate).returns(KeyPair.create(:name => "foreman-#{Foreman.uuid}",
:secret => "shhh",
:compute_resource_id => @compute_resource.id))

post :create, params: { :compute_resource_id => @compute_resource.to_param }, session: set_session_user
assert_response :redirect
assert_redirected_to @compute_resource
end
end
(26-26/53)