ref: refs/heads/master
commit 39ac9810c896c54b56b203155755ecd05be6e28d
Author: Ladislav Slezak
Date: Thu Aug 13 18:20:00 2009 +0200
root XML tag is 'system', not 'actions'
---
.../system/app/controllers/system_controller.rb | 4 +-
.../test/functional/system_controller_test.rb | 21 ++++++++++++-------
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/plugins/system/app/controllers/system_controller.rb b/plugins/system/app/controllers/system_controller.rb
index 7fa7f73..542865b 100644
--- a/plugins/system/app/controllers/system_controller.rb
+++ b/plugins/system/app/controllers/system_controller.rb
@@ -14,7 +14,7 @@ class SystemController < ApplicationController
end
def update
- root = params[:actions]
+ root = params[:system]
if root == nil || root == {}
render ErrorResult.error(404, 2, "format error - missing actions") and return
end
@@ -26,7 +26,7 @@ class SystemController < ApplicationController
# do the action
root.each do |k, v|
- if v.nil? or !v.has_key? 'active'
+ if v.nil? or !v.respond_to?('has_key?') or !v.has_key? 'active'
render ErrorResult.error(404, 2, "format error - missing requested status") and return
end
diff --git a/plugins/system/test/functional/system_controller_test.rb b/plugins/system/test/functional/system_controller_test.rb
index 85b539d..0f9e94b 100644
--- a/plugins/system/test/functional/system_controller_test.rb
+++ b/plugins/system/test/functional/system_controller_test.rb
@@ -38,7 +38,7 @@ class SystemControllerTest < ActionController::TestCase
orig = Hash.from_xml(ret.body)
- put :update, :actions => {:shutdown => {:active => true}, :zzzzzz => {}}
+ put :update, :system => {:shutdown => {:active => true}, :zzzzzz => {}}
assert_response :missing
ret = get :show
@@ -50,7 +50,7 @@ class SystemControllerTest < ActionController::TestCase
test "request reboot" do
- ret = put :update, :actions => {:reboot => {:active => true}}
+ ret = put :update, :system => {:reboot => {:active => true}}
assert_response :success
# :reboot action must be active
@@ -58,7 +58,7 @@ class SystemControllerTest < ActionController::TestCase
end
test "request shutdown" do
- ret = put :update, :actions => {:shutdown => {:active => true}}
+ ret = put :update, :system => {:shutdown => {:active => true}}
assert_response :success
# :shutdown action must be active
@@ -84,7 +84,7 @@ class SystemControllerTest < ActionController::TestCase
test "return error when not permitted" do
@controller.stubs(:permission_check).returns(false);
- ret = put :update, :actions => {:reboot => {:active => true}}
+ ret = put :update, :system => {:reboot => {:active => true}}
# expect 403 Forbidden error code
assert_response :forbidden
@@ -106,22 +106,27 @@ class SystemControllerTest < ActionController::TestCase
end
test "invalid (empty actions) request" do
- ret = put :update, :actions => {}
+ ret = put :update, :system => {}
assert_response :missing
end
test "invalid (unknown) request" do
- ret = put :update, :actions => {:_invalid_action_ => {:active => true}}
+ ret = put :update, :system => {:_invalid_action_ => {:active => true}}
+ assert_response :missing
+ end
+
+ test "invalid (unexpected type) request" do
+ ret = put :update, :system => {:reboot => :string}
assert_response :missing
end
test "invalid (missing active parameter) request" do
- ret = put :update, :actions => {:reboot => {}}
+ ret = put :update, :system => {:reboot => {}}
assert_response :missing
end
test "invalid (non-boolean active parameter) request" do
- ret = put :update, :actions => {:reboot => {:active => 'string'}}
+ ret = put :update, :system => {:reboot => {:active => 'string'}}
assert_response :missing
end
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org