foreman_datacenter 1.23.0 → 1.24.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/foreman_datacenter/rack_show.css +56 -0
- data/app/controllers/foreman_datacenter/application_controller.rb +2 -0
- data/app/controllers/foreman_datacenter/rack_groups_controller.rb +1 -0
- data/app/controllers/foreman_datacenter/racks_controller.rb +9 -1
- data/app/helpers/foreman_datacenter/racks_helper.rb +96 -0
- data/app/models/foreman_datacenter/device.rb +38 -0
- data/app/models/foreman_datacenter/rack.rb +103 -1
- data/app/views/foreman_datacenter/devices/show.html.erb +1 -1
- data/app/views/foreman_datacenter/racks/_device_position.html.erb +10 -1
- data/app/views/foreman_datacenter/racks/_device_position_new.html.erb +91 -0
- data/app/views/foreman_datacenter/racks/show.html.erb +6 -4
- data/config/routes.rb +21 -1
- data/lib/foreman_datacenter/version.rb +1 -1
- data/test/controllers/foreman_datacenter/device_roles_controller_test.rb +133 -0
- data/test/controllers/foreman_datacenter/device_types_contoller_test.rb +108 -47
- data/test/controllers/foreman_datacenter/devices_controller_test.rb +132 -0
- data/test/controllers/foreman_datacenter/manufacturers_controller_test.rb +133 -0
- data/test/controllers/foreman_datacenter/platforms_contoller_test.rb +91 -48
- data/test/controllers/foreman_datacenter/rack_groups_contoller_test.rb +90 -43
- data/test/controllers/foreman_datacenter/racks_contoller_test.rb +111 -42
- data/test/controllers/foreman_datacenter/sites_contoller_test.rb +108 -81
- data/test/datacenter_helper.rb +8 -1
- data/test/factories/device.rb +5 -0
- data/test/factories/device_role.rb +6 -0
- data/test/factories/device_type.rb +30 -0
- data/test/factories/rack_group.rb +13 -14
- data/test/fixtures/foreman_datacenter/device_roles.yml +0 -1
- data/test/integration/foreman_datacenter/device_role_test.rb +35 -0
- data/test/integration/foreman_datacenter/device_type_test.rb +33 -0
- data/test/integration/foreman_datacenter/manufacturer_test.rb +33 -0
- data/test/integration/foreman_datacenter/platform_test.rb +35 -0
- data/test/integration/foreman_datacenter/rack_group_test.rb +35 -25
- data/test/integration/foreman_datacenter/rack_test.rb +37 -25
- data/test/integration/foreman_datacenter/site_test.rb +39 -29
- data/test/unit/foreman_datacenter_test.rb +1 -1
- metadata +60 -40
@@ -1,5 +1,6 @@
|
|
1
1
|
<% stylesheet 'foreman_datacenter/device_roles' %>
|
2
2
|
<% stylesheet 'foreman_datacenter/datacenter' %>
|
3
|
+
<% stylesheet 'foreman_datacenter/rack_show' %>
|
3
4
|
<% stylesheet 'foreman_datacenter/modal' %>
|
4
5
|
<% javascript 'foreman_datacenter/modal' %>
|
5
6
|
|
@@ -89,10 +90,11 @@
|
|
89
90
|
</div>
|
90
91
|
|
91
92
|
<div class="col-md-6">
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
93
|
+
<%= render "device_position_new", rack: @rack %>
|
94
|
+
<!-- Devices -->
|
95
|
+
<%#= render "device_position", rack: @rack %>
|
96
|
+
<!-- Unpositioned Devices -->
|
97
|
+
<%#= render "unpositioned_devices", rack: @rack if @rack.unpositioned_devices.count != 0 %>
|
96
98
|
<div><h6 class="text-right"><%= _("* side is not defined") %></h6></div>
|
97
99
|
<div><h6 class="text-right"><%= _("** size is not defined") %></h6></div>
|
98
100
|
</div>
|
data/config/routes.rb
CHANGED
@@ -74,11 +74,30 @@ Foreman::Application.routes.draw do
|
|
74
74
|
get 'datacenter/import_to_device', to: 'hosts#import_to_device',
|
75
75
|
as: 'import_to_device'
|
76
76
|
|
77
|
-
get '/api/:controller/(:action(/*welcome))'
|
77
|
+
# get '/api/:controller/(:action(/*welcome))'
|
78
78
|
# get '/datacenter/(:controller)/help', :action => 'welcome', :as => "help"
|
79
79
|
|
80
80
|
scope 'datacenter', module: :foreman_datacenter do
|
81
81
|
|
82
|
+
welcoming_controllers = [
|
83
|
+
'console_ports',
|
84
|
+
'device_interface_connections',
|
85
|
+
'device_interface_connections',
|
86
|
+
'device_roles',
|
87
|
+
'device_types',
|
88
|
+
'devices',
|
89
|
+
'manufacturers',
|
90
|
+
'platforms',
|
91
|
+
'power_ports',
|
92
|
+
'rack_groups',
|
93
|
+
'racks',
|
94
|
+
'sites',
|
95
|
+
]
|
96
|
+
|
97
|
+
welcoming_controllers.each do |welcoming_controller|
|
98
|
+
get "#{welcoming_controller}/help", :action => :welcome, :controller => welcoming_controller
|
99
|
+
end
|
100
|
+
|
82
101
|
post :site_update_associated_objects, to: "sites#update_associated_objects"
|
83
102
|
post :rack_group_update_associated_objects, to: "rack_groups#update_associated_objects"
|
84
103
|
post :rack_update_associated_objects, to: "racks#update_associated_objects"
|
@@ -94,6 +113,7 @@ Foreman::Application.routes.draw do
|
|
94
113
|
end
|
95
114
|
resources :racks do
|
96
115
|
member do
|
116
|
+
get :export_to_csv
|
97
117
|
get :move
|
98
118
|
end
|
99
119
|
collection do
|
@@ -0,0 +1,133 @@
|
|
1
|
+
require_relative '../../test_plugin_helper'
|
2
|
+
|
3
|
+
module ForemanDatacenter
|
4
|
+
class DeviceRolesControllerTest < ActionController::TestCase
|
5
|
+
describe ForemanDatacenter::DeviceRolesController do
|
6
|
+
setup do
|
7
|
+
@model = ForemanDatacenter::DeviceRole.first
|
8
|
+
end
|
9
|
+
|
10
|
+
basic_index_test 'device_roles'
|
11
|
+
basic_new_test
|
12
|
+
basic_edit_test 'device_role'
|
13
|
+
basic_pagination_per_page_test
|
14
|
+
basic_pagination_rendered_test
|
15
|
+
|
16
|
+
def test_create_invalid
|
17
|
+
ForemanDatacenter::DeviceRole.any_instance.stubs(:valid?).returns(false)
|
18
|
+
post :create, params: { :device_role => {:name => nil} }, session: set_session_user
|
19
|
+
assert_template 'new'
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_create_valid(name = "test device_role")
|
23
|
+
ForemanDatacenter::DeviceRole.any_instance.stubs(:valid?).returns(true)
|
24
|
+
post :create, params: { :device_role => {:name => name, :color => 'Teal'} }, session: set_session_user
|
25
|
+
assert_redirected_to device_roles_url
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_update_invalid
|
29
|
+
ForemanDatacenter::DeviceRole.any_instance.stubs(:valid?).returns(false)
|
30
|
+
put :update, params: { :id => @model.to_param, :device_role => {:name => "3243", :color => "Red"} }, session: set_session_user
|
31
|
+
assert_template 'edit'
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_update_valid
|
35
|
+
ForemanDatacenter::DeviceRole.any_instance.stubs(:valid?).returns(true)
|
36
|
+
put :update, params: { :id => @model.to_param, :device_role => {:name => @model.name, :color => "Green"} }, session: set_session_user
|
37
|
+
assert_redirected_to device_roles_url
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_destroy
|
41
|
+
test_create_valid "tobedeleted_test"
|
42
|
+
@new_dr = ForemanDatacenter::DeviceRole.find_by_name("tobedeleted_test")
|
43
|
+
delete :destroy, params: { :id => @new_dr.id }, session: set_session_user
|
44
|
+
assert_redirected_to device_roles_url
|
45
|
+
assert !ForemanDatacenter::DeviceRole.exists?(@new_dr.id)
|
46
|
+
end
|
47
|
+
|
48
|
+
test "should not get index when not permitted" do
|
49
|
+
setup_user
|
50
|
+
get :index, session: { :user => users(:one).id, :expires_at => 5.minutes.from_now }
|
51
|
+
assert_response :forbidden
|
52
|
+
assert_includes @response.body, 'view_device_roles'
|
53
|
+
end
|
54
|
+
|
55
|
+
test 'should not get show when not permitted' do
|
56
|
+
setup_user
|
57
|
+
get :show, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
58
|
+
assert_response :forbidden
|
59
|
+
assert_includes @response.body, 'view_device_roles'
|
60
|
+
end
|
61
|
+
|
62
|
+
test 'should not get edit when not permitted' do
|
63
|
+
setup_user
|
64
|
+
get :edit, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
65
|
+
assert_response :forbidden
|
66
|
+
assert_includes @response.body, 'edit_device_roles'
|
67
|
+
end
|
68
|
+
|
69
|
+
test "should get index" do
|
70
|
+
setup_user("Viewer")
|
71
|
+
get :index, session: set_session_user
|
72
|
+
assert_response :success
|
73
|
+
assert_template 'index'
|
74
|
+
end
|
75
|
+
|
76
|
+
test 'should get show' do
|
77
|
+
setup_user("Viewer")
|
78
|
+
get :show, params: { :id => @model.id }, session: set_session_user
|
79
|
+
assert_response :success
|
80
|
+
assert_template 'show'
|
81
|
+
end
|
82
|
+
|
83
|
+
test 'should not get edit with viewer permissions' do
|
84
|
+
setup_user("Viewer")
|
85
|
+
get :edit, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
86
|
+
assert_response :forbidden
|
87
|
+
assert_includes @response.body, 'edit_device_roles'
|
88
|
+
end
|
89
|
+
|
90
|
+
test 'should get edit' do
|
91
|
+
get :edit, params: { :id => @model.id }, session: set_session_user
|
92
|
+
assert_response :success
|
93
|
+
assert_template 'edit'
|
94
|
+
end
|
95
|
+
|
96
|
+
def setup_user(role = "")
|
97
|
+
@request.session[:user] = users(:one).id
|
98
|
+
users(:one).roles = [Role.default]
|
99
|
+
users(:one).roles << Role.find_by_name(role) if role != ""
|
100
|
+
# users(:one).roles = [Role.default, Role.find_by_name("Viewer")]
|
101
|
+
end
|
102
|
+
|
103
|
+
test "should_render_404_when_device_role_is_not_found" do
|
104
|
+
get :show, params: { id: 'no.such.device.role' }, session: set_session_user
|
105
|
+
assert_response :not_found
|
106
|
+
assert_template 'common/404'
|
107
|
+
end
|
108
|
+
|
109
|
+
test "should_not_destroy_device_role_when_not_permitted" do
|
110
|
+
setup_user
|
111
|
+
assert_difference('ForemanDatacenter::DeviceRole.count', 0) do
|
112
|
+
delete :destroy, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
113
|
+
end
|
114
|
+
assert_response :forbidden
|
115
|
+
end
|
116
|
+
|
117
|
+
test "should search by name" do
|
118
|
+
get :index, params: {:search => "name=\"device_role_1\""}, session: set_session_user
|
119
|
+
assert_response :success
|
120
|
+
refute_empty assigns(:device_roles)
|
121
|
+
assert assigns(:device_roles).include?(device_roles(:one))
|
122
|
+
end
|
123
|
+
|
124
|
+
test "should search by color" do
|
125
|
+
get :index, params: {:search => "color=\"Teal\""}, session: set_session_user
|
126
|
+
assert_response :success
|
127
|
+
refute_empty assigns(:device_roles)
|
128
|
+
assert assigns(:device_roles).include?(device_roles(:one))
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
@@ -13,78 +13,139 @@ module ForemanDatacenter
|
|
13
13
|
basic_pagination_per_page_test
|
14
14
|
basic_pagination_rendered_test
|
15
15
|
|
16
|
-
def
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
def test_create_invalid
|
17
|
+
ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(false)
|
18
|
+
post :create, params: { device_type: { model: nil } }, session: set_session_user
|
19
|
+
assert_template 'new'
|
20
|
+
end
|
20
21
|
|
21
|
-
def
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
def test_show_edit_button_id
|
27
|
-
get :show, params: { :id => ForemanDatacenter::DeviceType.first.to_param }, session: set_session_user
|
28
|
-
assert_select "[data-id='aid_device_types_#{ForemanDatacenter::DeviceType.first.id}_edit']"
|
22
|
+
def test_create_valid(model = "test device_type")
|
23
|
+
ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(true)
|
24
|
+
post :create, params: { device_type: { model: model, manufacturer_id: 1 } }, session: set_session_user
|
25
|
+
assert_redirected_to device_types_url
|
29
26
|
end
|
30
27
|
|
31
|
-
def
|
32
|
-
|
33
|
-
|
28
|
+
def test_update_invalid
|
29
|
+
ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(false)
|
30
|
+
put :update, params: { id: @model.to_param, device_type: { model: '3243', color: 'Red' } }, session: set_session_user
|
31
|
+
assert_template 'edit'
|
34
32
|
end
|
35
33
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
34
|
+
def test_update_valid
|
35
|
+
ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(true)
|
36
|
+
put :update, params: { id: @model.to_param, device_type: { model: @model.model, color: 'Green' } }, session: set_session_user
|
37
|
+
assert_redirected_to device_types_url
|
40
38
|
end
|
41
39
|
|
42
40
|
def test_create_invalid
|
43
41
|
ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(false)
|
44
|
-
post :create, params: { :
|
42
|
+
post :create, params: { device_type: { model: nil } }, session: set_session_user
|
45
43
|
assert_template 'new'
|
46
44
|
end
|
47
45
|
|
48
|
-
def
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
46
|
+
def test_destroy
|
47
|
+
test_create_valid "tobedeleted_test"
|
48
|
+
@new_dt = ForemanDatacenter::DeviceType.find_by_model("tobedeleted_test")
|
49
|
+
delete :destroy, params: { id: @new_dt.id }, session: set_session_user
|
50
|
+
assert_redirected_to device_types_url
|
51
|
+
assert !ForemanDatacenter::DeviceType.exists?(@new_dt.id)
|
53
52
|
end
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
test "should not get index when not permitted" do
|
55
|
+
setup_user
|
56
|
+
get :index, session: { :user => users(:one).id, :expires_at => 5.minutes.from_now }
|
57
|
+
assert_response :forbidden
|
58
|
+
assert_includes @response.body, 'view_device_types'
|
58
59
|
end
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
test 'should not get show when not permitted' do
|
62
|
+
setup_user
|
63
|
+
get :show, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
64
|
+
assert_response :forbidden
|
65
|
+
assert_includes @response.body, 'view_device_types'
|
64
66
|
end
|
65
67
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
68
|
+
test 'should not get edit when not permitted' do
|
69
|
+
setup_user
|
70
|
+
get :edit, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
71
|
+
assert_response :forbidden
|
72
|
+
assert_includes @response.body, 'edit_device_types'
|
70
73
|
end
|
71
74
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
75
|
+
test "should get index" do
|
76
|
+
setup_user("Viewer")
|
77
|
+
get :index, session: set_session_user
|
78
|
+
assert_response :success
|
79
|
+
assert_template 'index'
|
80
|
+
end
|
81
|
+
|
82
|
+
test 'should get show' do
|
83
|
+
setup_user("Viewer")
|
84
|
+
get :show, params: { :id => @model.id }, session: set_session_user
|
85
|
+
assert_response :success
|
86
|
+
assert_template 'show'
|
87
|
+
end
|
88
|
+
|
89
|
+
test 'should not get edit with viewer permissions' do
|
90
|
+
setup_user("Viewer")
|
91
|
+
get :edit, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
92
|
+
assert_response :forbidden
|
93
|
+
assert_includes @response.body, 'edit_device_types'
|
79
94
|
end
|
80
95
|
|
81
|
-
|
96
|
+
test 'should get edit' do
|
97
|
+
get :edit, params: { :id => @model.id }, session: set_session_user
|
98
|
+
assert_response :success
|
99
|
+
assert_template 'edit'
|
100
|
+
end
|
101
|
+
|
102
|
+
def setup_user(role = "")
|
82
103
|
@request.session[:user] = users(:one).id
|
83
|
-
users(:one).roles = [Role.default
|
104
|
+
users(:one).roles = [Role.default]
|
105
|
+
users(:one).roles << Role.find_by_name(role) if role != ""
|
106
|
+
# users(:one).roles = [Role.default, Role.find_by_name("Viewer")]
|
107
|
+
end
|
108
|
+
|
109
|
+
test "should_render_404_when_device_type_is_not_found" do
|
110
|
+
get :show, params: { id: 'no.such.device.type' }, session: set_session_user
|
111
|
+
assert_response :not_found
|
112
|
+
assert_template 'common/404'
|
84
113
|
end
|
85
114
|
|
86
|
-
|
87
|
-
|
115
|
+
test "should_not_destroy_device_type_when_not_permitted" do
|
116
|
+
setup_user
|
117
|
+
assert_difference('ForemanDatacenter::DeviceType.count', 0) do
|
118
|
+
delete :destroy, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
119
|
+
end
|
120
|
+
assert_response :forbidden
|
121
|
+
end
|
122
|
+
|
123
|
+
test "should search by model" do
|
124
|
+
get :index, params: {:search => "model=\"DeviceType_1NONE\""}, session: set_session_user
|
125
|
+
assert_response :success
|
126
|
+
refute_empty assigns(:device_types)
|
127
|
+
assert assigns(:device_types).include?(device_types(:one))
|
128
|
+
end
|
129
|
+
|
130
|
+
test "should search by manufacturer" do
|
131
|
+
get :index, params: {:search => "manufacturer=\"manufacturer_1\""}, session: set_session_user
|
132
|
+
assert_response :success
|
133
|
+
refute_empty assigns(:device_types)
|
134
|
+
assert assigns(:device_types).include?(device_types(:one))
|
135
|
+
end
|
136
|
+
|
137
|
+
test "should search by subdevice role" do
|
138
|
+
get :index, params: {:search => "subdevice_role=\"None\""}, session: set_session_user
|
139
|
+
assert_response :success
|
140
|
+
refute_empty assigns(:device_types)
|
141
|
+
assert assigns(:device_types).include?(device_types(:one))
|
142
|
+
end
|
143
|
+
|
144
|
+
test "should search by U height" do
|
145
|
+
get :index, params: {:search => "u_height=\"1\""}, session: set_session_user
|
146
|
+
assert_response :success
|
147
|
+
refute_empty assigns(:device_types)
|
148
|
+
assert assigns(:device_types).include?(device_types(:one))
|
88
149
|
end
|
89
150
|
end
|
90
151
|
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
require_relative '../../test_plugin_helper'
|
2
|
+
|
3
|
+
module ForemanDatacenter
|
4
|
+
class DevicesControllerTest < ActionController::TestCase
|
5
|
+
describe ForemanDatacenter::DevicesController do
|
6
|
+
setup do
|
7
|
+
@model = ForemanDatacenter::Device.first
|
8
|
+
end
|
9
|
+
|
10
|
+
basic_index_test 'devices'
|
11
|
+
basic_new_test
|
12
|
+
basic_edit_test 'device'
|
13
|
+
basic_pagination_per_page_test
|
14
|
+
basic_pagination_rendered_test
|
15
|
+
|
16
|
+
# def test_create_invalid
|
17
|
+
# ForemanDatacenter::Device.any_instance.stubs(:valid?).returns(false)
|
18
|
+
# post :create, params: { device: { name: nil } }, session: set_session_user
|
19
|
+
# assert_template 'new'
|
20
|
+
# end
|
21
|
+
|
22
|
+
# def test_create_valid(name = "test rg")
|
23
|
+
# ForemanDatacenter::Device.any_instance.stubs(:valid?).returns(true)
|
24
|
+
# post :create, params: { device: { name: name } }, session: set_session_user
|
25
|
+
# assert_redirected_to devices_url
|
26
|
+
# end
|
27
|
+
|
28
|
+
# def test_update_invalid
|
29
|
+
# ForemanDatacenter::Device.any_instance.stubs(:valid?).returns(false)
|
30
|
+
# put :update, params: { id: @model.to_param, device: { name: '3243' } }, session: set_session_user
|
31
|
+
# assert_template 'edit'
|
32
|
+
# end
|
33
|
+
|
34
|
+
# def test_update_valid
|
35
|
+
# ForemanDatacenter::Device.any_instance.stubs(:valid?).returns(true)
|
36
|
+
# put :update, params: { id: @model.to_param, device: { name: @model.name } }, session: set_session_user
|
37
|
+
# assert_redirected_to devices_url
|
38
|
+
# end
|
39
|
+
|
40
|
+
# def test_destroy
|
41
|
+
# test_create_valid "tobedeleted_test"
|
42
|
+
# @new_rg = ForemanDatacenter::Device.find_by_name("tobedeleted_test")
|
43
|
+
# delete :destroy, params: { id: @new_rg.id }, session: set_session_user
|
44
|
+
# assert_redirected_to devices_url
|
45
|
+
# assert !ForemanDatacenter::Device.exists?(@new_rg.id)
|
46
|
+
# end
|
47
|
+
|
48
|
+
# test "should not get index when not permitted" do
|
49
|
+
# setup_user
|
50
|
+
# get :index, session: { :user => users(:one).id, :expires_at => 5.minutes.from_now }
|
51
|
+
# assert_response :forbidden
|
52
|
+
# assert_includes @response.body, 'view_devices'
|
53
|
+
# end
|
54
|
+
|
55
|
+
# test 'should not get show when not permitted' do
|
56
|
+
# setup_user
|
57
|
+
# get :show, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
58
|
+
# assert_response :forbidden
|
59
|
+
# assert_includes @response.body, 'view_devices'
|
60
|
+
# end
|
61
|
+
|
62
|
+
# test 'should not get edit when not permitted' do
|
63
|
+
# setup_user
|
64
|
+
# get :edit, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
65
|
+
# assert_response :forbidden
|
66
|
+
# assert_includes @response.body, 'edit_devices'
|
67
|
+
# end
|
68
|
+
|
69
|
+
# test "should get index" do
|
70
|
+
# setup_user("Viewer")
|
71
|
+
# get :index, session: set_session_user
|
72
|
+
# assert_response :success
|
73
|
+
# assert_template 'index'
|
74
|
+
# end
|
75
|
+
|
76
|
+
# test 'should get show' do
|
77
|
+
# setup_user("Viewer")
|
78
|
+
# get :show, params: { :id => @model.id }, session: set_session_user
|
79
|
+
# assert_response :success
|
80
|
+
# assert_template 'show'
|
81
|
+
# end
|
82
|
+
|
83
|
+
# test 'should not get edit with viewer permissions' do
|
84
|
+
# setup_user("Viewer")
|
85
|
+
# get :edit, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
86
|
+
# assert_response :forbidden
|
87
|
+
# assert_includes @response.body, 'edit_devices'
|
88
|
+
# end
|
89
|
+
|
90
|
+
# test 'should get edit' do
|
91
|
+
# get :edit, params: { :id => @model.id }, session: set_session_user
|
92
|
+
# assert_response :success
|
93
|
+
# assert_template 'edit'
|
94
|
+
# end
|
95
|
+
|
96
|
+
# def setup_user(role = "")
|
97
|
+
# @request.session[:user] = users(:one).id
|
98
|
+
# users(:one).roles = [Role.default]
|
99
|
+
# users(:one).roles << Role.find_by_name(role) if role != ""
|
100
|
+
# # users(:one).roles = [Role.default, Role.find_by_name("Viewer")]
|
101
|
+
# end
|
102
|
+
|
103
|
+
# test "should_render_404_when_rack_is_not_found" do
|
104
|
+
# get :show, params: { id: 'no.such.rack.group' }, session: set_session_user
|
105
|
+
# assert_response :not_found
|
106
|
+
# assert_template 'common/404'
|
107
|
+
# end
|
108
|
+
|
109
|
+
# test "should_not_destroy_device_when_not_permitted" do
|
110
|
+
# setup_user
|
111
|
+
# assert_difference('ForemanDatacenter::Device.count', 0) do
|
112
|
+
# delete :destroy, params: { :id => @model.id }, session: {:user => users(:one).id, :expires_at => 5.minutes.from_now}
|
113
|
+
# end
|
114
|
+
# assert_response :forbidden
|
115
|
+
# end
|
116
|
+
|
117
|
+
# test "should search by name" do
|
118
|
+
# get :index, params: {:search => "name=\"device_1\""}, session: set_session_user
|
119
|
+
# assert_response :success
|
120
|
+
# refute_empty assigns(:devices)
|
121
|
+
# assert assigns(:devices).include?(devices(:one))
|
122
|
+
# end
|
123
|
+
|
124
|
+
# test "should search by site" do
|
125
|
+
# get :index, params: {:search => "site=\"site_1\""}, session: set_session_user
|
126
|
+
# assert_response :success
|
127
|
+
# refute_empty assigns(:devices)
|
128
|
+
# assert assigns(:devices).include?(devices(:one))
|
129
|
+
# end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|