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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/foreman_datacenter/rack_show.css +56 -0
  3. data/app/controllers/foreman_datacenter/application_controller.rb +2 -0
  4. data/app/controllers/foreman_datacenter/rack_groups_controller.rb +1 -0
  5. data/app/controllers/foreman_datacenter/racks_controller.rb +9 -1
  6. data/app/helpers/foreman_datacenter/racks_helper.rb +96 -0
  7. data/app/models/foreman_datacenter/device.rb +38 -0
  8. data/app/models/foreman_datacenter/rack.rb +103 -1
  9. data/app/views/foreman_datacenter/devices/show.html.erb +1 -1
  10. data/app/views/foreman_datacenter/racks/_device_position.html.erb +10 -1
  11. data/app/views/foreman_datacenter/racks/_device_position_new.html.erb +91 -0
  12. data/app/views/foreman_datacenter/racks/show.html.erb +6 -4
  13. data/config/routes.rb +21 -1
  14. data/lib/foreman_datacenter/version.rb +1 -1
  15. data/test/controllers/foreman_datacenter/device_roles_controller_test.rb +133 -0
  16. data/test/controllers/foreman_datacenter/device_types_contoller_test.rb +108 -47
  17. data/test/controllers/foreman_datacenter/devices_controller_test.rb +132 -0
  18. data/test/controllers/foreman_datacenter/manufacturers_controller_test.rb +133 -0
  19. data/test/controllers/foreman_datacenter/platforms_contoller_test.rb +91 -48
  20. data/test/controllers/foreman_datacenter/rack_groups_contoller_test.rb +90 -43
  21. data/test/controllers/foreman_datacenter/racks_contoller_test.rb +111 -42
  22. data/test/controllers/foreman_datacenter/sites_contoller_test.rb +108 -81
  23. data/test/datacenter_helper.rb +8 -1
  24. data/test/factories/device.rb +5 -0
  25. data/test/factories/device_role.rb +6 -0
  26. data/test/factories/device_type.rb +30 -0
  27. data/test/factories/rack_group.rb +13 -14
  28. data/test/fixtures/foreman_datacenter/device_roles.yml +0 -1
  29. data/test/integration/foreman_datacenter/device_role_test.rb +35 -0
  30. data/test/integration/foreman_datacenter/device_type_test.rb +33 -0
  31. data/test/integration/foreman_datacenter/manufacturer_test.rb +33 -0
  32. data/test/integration/foreman_datacenter/platform_test.rb +35 -0
  33. data/test/integration/foreman_datacenter/rack_group_test.rb +35 -25
  34. data/test/integration/foreman_datacenter/rack_test.rb +37 -25
  35. data/test/integration/foreman_datacenter/site_test.rb +39 -29
  36. data/test/unit/foreman_datacenter_test.rb +1 -1
  37. 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
- <!-- Devices -->
93
- <%= render "device_position", rack: @rack %>
94
- <!-- Unpositioned Devices -->
95
- <%= render "unpositioned_devices", rack: @rack if @rack.unpositioned_devices.count != 0 %>
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>
@@ -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
@@ -1,3 +1,3 @@
1
1
  module ForemanDatacenter
2
- VERSION = '1.23.0'.freeze
2
+ VERSION = '1.24.3'.freeze
3
3
  end
@@ -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 test_new_submit_button_id
17
- get :new, session: set_session_user
18
- assert_select "[data-id='aid_datacenter_device_types']"
19
- end
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 test_new_cancel_button_id
22
- get :new, session: set_session_user
23
- assert_select "[data-id='aid_datacenter_device_types']"
24
- end
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 test_show_delete_button_id
32
- get :show, params: { :id => ForemanDatacenter::DeviceType.first.to_param }, session: set_session_user
33
- assert_select "[data-id='aid_datacenter_device_types_#{ForemanDatacenter::DeviceType.first.id}']"
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
- test "should_show_device_type" do
37
- setup_user
38
- get :show, params: { :id => ForemanDatacenter::DeviceType.first.to_param }, session: set_session_user
39
- assert_response :success
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: { :device_type => {:model => nil} }, session: set_session_user
42
+ post :create, params: { device_type: { model: nil } }, session: set_session_user
45
43
  assert_template 'new'
46
44
  end
47
45
 
48
- def test_create_valid
49
- ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(true)
50
- post :create, params: { :device_type => {:model => 'test model'} }, session: set_session_user
51
- # assert_redirected_to device_types_url
52
- # assert_redirected_to device_type_url(ForemanDatacenter::DeviceType.first)
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
- def test_edit_submit_button_id
56
- get :edit, params: { :id => ForemanDatacenter::DeviceType.first }, session: set_session_user
57
- assert_select "[data-id='aid_update_foreman_datacenter_device_type']"
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
- def test_update_invalid
61
- ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(false)
62
- put :update, params: { :id => ForemanDatacenter::DeviceType.first.to_param, :device_type => {:model => "3243"} }, session: set_session_user
63
- assert_template 'edit'
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
- def test_update_valid
67
- ForemanDatacenter::DeviceType.any_instance.stubs(:valid?).returns(true)
68
- put :update, params: { :id => ForemanDatacenter::DeviceType.first.to_param, :device_type => {:model => ForemanDatacenter::DeviceType.first.model} }, session: set_session_user
69
- # assert_redirected_to device_type_url(ForemanDatacenter::DeviceType.first)
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
- def test_destroy
73
- device_type = ForemanDatacenter::DeviceType.first
74
- # architecture.hosts.delete_all
75
- # architecture.hostgroups.delete_all
76
- delete :destroy, params: { :id => device_type.id }, session: set_session_user
77
- assert_redirected_to device_types_url
78
- assert !ForemanDatacenter::DeviceType.exists?(device_type.id)
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
- def setup_user
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, Role.find_by_name('Viewer')]
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
- def get_factory_name
87
- :device_type
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