Project

General

Profile

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

class ImagesControllerTest < ActionController::TestCase
setup do
@image = images(:one)
@image.uuid = Foreman.uuid.to_s
end

test "should get index" do
get :index, params: { :compute_resource_id => @image.compute_resource_id }, session: set_session_user
assert_response :success
assert_not_nil assigns(:images)
end

test "should get new" do
get :new, params: { :compute_resource_id => @image.compute_resource_id }, session: set_session_user
assert_response :success
end

test "should create image" do
assert_difference('Image.unscoped.count') do
image_attributes = {:name => 'gold', :username => 'ec2-user', :uuid => Foreman.uuid.to_s, :operatingsystem_id => Operatingsystem.first.id, :architecture_id => Architecture.first.id, :compute_resource_id => @image.compute_resource_id}
post :create, params: { :image => image_attributes, :compute_resource_id => @image.compute_resource_id }, session: set_session_user
end

as_admin do
assert_redirected_to compute_resource_path(@image.compute_resource)
end
end

test "should get edit" do
get :edit, params: { :id => @image.to_param, :compute_resource_id => @image.compute_resource_id }, session: set_session_user
assert_response :success
end

test "should update image" do
put :update, params: { :id => @image.to_param, :image => {:name => 'lala', :username => 'ec2-user'}, :compute_resource_id => @image.compute_resource_id }, session: set_session_user
as_admin do
assert_redirected_to compute_resource_path(@image.compute_resource)
end
end

test "should destroy image" do
assert_difference('Image.count', -1) do
delete :destroy, params: { :id => @image.to_param, :compute_resource_id => @image.compute_resource_id }, session: set_session_user
end

as_admin do
assert_redirected_to compute_resource_path(@image.compute_resource)
end
end

# listing images in /hosts/new requries a JSON response from this controller
test "should list json images" do
# This value is tested by the deprecation warning in application_controller
# so we need to set it or the test will crash
request.env['REQUEST_URI'] = "compute_resources/#{@image.compute_resource_id}/images"
get :index, params: { :format => :json, :compute_resource_id => @image.compute_resource_id, :operatingsystem_id => @image.operatingsystem_id, :architecture_id => @image.architecture_id }, session: set_session_user
assert_response :success
body = JSON.parse(response.body)
assert_equal 2, body.size
end
end
(24-24/53)