Log In
Log In
Places
All Projects
Status Monitor
Collapse sidebar
obs:server:fedora:2.8
obs-server
obs-server-2.8-0115-ci-Fix-Rails-HttpPositional...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File obs-server-2.8-0115-ci-Fix-Rails-HttpPositionalArguments.patch of Package obs-server
From 98425ed6ecabaeb7a4c099f95add1c16b58ab9f2 Mon Sep 17 00:00:00 2001 From: Eduardo Navarro <enavarro@suse.com> Date: Tue, 7 Mar 2017 15:41:49 +0100 Subject: [PATCH] [ci] Fix Rails/HttpPositionalArguments Result of fixing Rails/HttpPositionalArguments with rubocop -a --- src/api/test/functional/attributes_test.rb | 66 +-- src/api/test/functional/binary_release_test.rb | 54 +- .../test/functional/branch_publish_flag_test.rb | 2 +- src/api/test/functional/build_controller_test.rb | 32 +- .../test/functional/channel_maintenance_test.rb | 116 ++-- .../test/functional/comments_controller_test.rb | 14 +- .../functional/configurations_controller_test.rb | 4 +- src/api/test/functional/cross_build_test.rb | 4 +- .../functional/distributions_controller_test.rb | 6 +- src/api/test/functional/group_request_test.rb | 2 +- src/api/test/functional/group_test.rb | 38 +- src/api/test/functional/interconnect_test.rb | 93 ++- src/api/test/functional/issue_controller_test.rb | 65 +-- .../functional/issue_trackers_controller_test.rb | 10 +- src/api/test/functional/kgraft_maintenance_test.rb | 55 +- src/api/test/functional/maintenance_test.rb | 319 +++++------ src/api/test/functional/message_controller_test.rb | 14 +- src/api/test/functional/person_controller_test.rb | 66 +-- src/api/test/functional/product_test.rb | 38 +- src/api/test/functional/public_controller_test.rb | 4 +- src/api/test/functional/read_permission_test.rb | 196 +++---- src/api/test/functional/release_management_test.rb | 18 +- src/api/test/functional/request_controller_test.rb | 464 +++++++-------- src/api/test/functional/request_events_test.rb | 14 +- src/api/test/functional/search_controller_test.rb | 133 +++-- src/api/test/functional/source_controller_test.rb | 638 ++++++++++----------- src/api/test/functional/source_services_test.rb | 106 ++-- .../test/functional/statistics_controller_test.rb | 12 +- src/api/test/functional/status_controller_test.rb | 6 +- src/api/test/functional/tag_controller_test.rb | 20 +- src/api/test/functional/webui/commits_feed_test.rb | 2 +- .../functional/webui/package_controller_test.rb | 4 +- .../functional/webui/project_controller_test.rb | 2 +- .../test/functional/zzz_post_consistency_test.rb | 2 +- src/api/test/integration/last_events_test.rb | 2 +- src/api/test/test_consistency_helper.rb | 4 +- 36 files changed, 1260 insertions(+), 1365 deletions(-) diff --git a/src/api/test/functional/attributes_test.rb b/src/api/test/functional/attributes_test.rb index 486261549..a92559f2e 100644 --- a/src/api/test/functional/attributes_test.rb +++ b/src/api/test/functional/attributes_test.rb @@ -53,7 +53,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest data = "<namespace name='TEST'><modifiable_by user='adrian'/></namespace>" login_Iggy - post "/attribute/TEST/_meta", data + post "/attribute/TEST/_meta", params: data assert_response 403 assert_match(/Namespace changes are only permitted by the administrator/, @response.body) @@ -63,7 +63,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest login_king # FIXME3.0: POST is deprecated, use PUT - post "/attribute/TEST/_meta", data + post "/attribute/TEST/_meta", params: data assert_response :success get "/attribute/TEST/_meta" assert_response :success @@ -73,7 +73,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest assert_response 404 # using PUT and new delete route - put "/attribute/TEST/_meta", data + put "/attribute/TEST/_meta", params: data assert_response :success get "/attribute/TEST/_meta" assert_response :success @@ -87,7 +87,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest # create test namespace login_king data = "<namespace name='TEST'><modifiable_by user='adrian'/></namespace>" - post "/attribute/TEST/_meta", data + post "/attribute/TEST/_meta", params: data assert_response :success reset_auth @@ -107,7 +107,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest <modifiable_by role='maintainer'/> </definition>" - post "/attribute/TEST/Dummy/_meta", data + post "/attribute/TEST/Dummy/_meta", params: data assert_response 401 login_Iggy @@ -117,7 +117,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest login_adrian # FIXME3.0: POST is deprecated, use PUT - post "/attribute/TEST/Dummy/_meta", data + post "/attribute/TEST/Dummy/_meta", params: data assert_response :success get "/attribute/TEST/Dummy/_meta" assert_response :success @@ -127,7 +127,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest assert_response 404 # new PUT way - put "/attribute/TEST/Dummy/_meta", data + put "/attribute/TEST/Dummy/_meta", params: data assert_response :success get "/attribute/TEST/Dummy/_meta" assert_response :success @@ -142,7 +142,7 @@ class AttributeControllerTest < ActionDispatch::IntegrationTest login_king data = "<namespace name='TEST'><modifiable_by group='test_group'/></namespace>" login_king - post "/attribute/TEST/_meta", data + post "/attribute/TEST/_meta", params: data assert_response :success reset_auth @@ -165,7 +165,7 @@ ription</description> <modifiable_by user='adrian'/> </definition>" - post "/attribute/TEST/Dummy/_meta", data + post "/attribute/TEST/Dummy/_meta", params: data assert_response 401 login_Iggy @@ -174,7 +174,7 @@ ription</description> assert_match(/Attribute type changes are not permitted/, @response.body) login_adrian - post "/attribute/TEST/Dummy/_meta", data + post "/attribute/TEST/Dummy/_meta", params: data assert_response :success get "/attribute/TEST/Dummy/_meta" assert_response :success @@ -192,7 +192,7 @@ ription</description> login_king data = "<namespace name='TEST'><modifiable_by user='adrian'/></namespace>" login_king - post "/attribute/TEST/_meta", data + post "/attribute/TEST/_meta", params: data assert_response :success reset_auth @@ -201,7 +201,7 @@ ription</description> </definition>" login_adrian - post "/attribute/TEST/Dummy/_meta", data + post "/attribute/TEST/Dummy/_meta", params: data assert_response :success get "/attribute/TEST/Dummy/_meta" assert_response :success @@ -213,7 +213,7 @@ ription</description> <issue name='123' tracker='bnc'/> <issue name='456' tracker='bnc'/> </attribute></attributes>" - post "/source/home:adrian/_attribute", data + post "/source/home:adrian/_attribute", params: data assert_response :success get "/source/home:adrian/_attribute/TEST:Dummy" @@ -227,7 +227,7 @@ ription</description> data = "<attributes><attribute namespace='TEST' name='Dummy'> <issue name='456' tracker='bnc'/> </attribute></attributes>" - post "/source/home:adrian/_attribute", data + post "/source/home:adrian/_attribute", params: data assert_response :success get "/source/home:adrian/_attribute/TEST:Dummy" assert_response :success @@ -264,21 +264,21 @@ ription</description> login_tom data = "<attributes><attribute namespace='OBS' name='Playground'/></attributes>" - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response 404 assert_select "status[code] > summary", /Attribute Type OBS:Playground does not exist/ data = "<attributes><attribute namespace='OBS' name='Maintained' > <value>blah</value> </attribute></attributes>" - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response 400 assert_select "status[code] > summary", /has 1 values, but only 0 are allowed/ data = "<attributes><attribute namespace='OBS' name='Maintained'></attribute></attributes>" - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response :success - post "/source/home:tom/_attribute/OBS:Maintained", data + post "/source/home:tom/_attribute/OBS:Maintained", params: data assert_response :success get "/source/home:tom/_attribute" @@ -301,17 +301,17 @@ ription</description> # via group login_adrian data = "<attributes><attribute namespace='OBS' name='Maintained'></attribute></attributes>" - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response :success # as admin login_king - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response :success # not allowed login_Iggy - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response 403 delete "/source/home:tom/_attribute/OBS:Maintained" assert_response 403 @@ -331,7 +331,7 @@ ription</description> # delete login_tom - post "/source/home:tom/_attribute", data + post "/source/home:tom/_attribute", params: data assert_response :success delete "/source/home:tom/_attribute/OBS:Maintained" assert_response :success @@ -358,30 +358,30 @@ ription</description> login_fred data = "<attributes><attribute namespace='OBS' name='Playground'/></attributes>" - post "/source/kde4/kdelibs/_attribute", data + post "/source/kde4/kdelibs/_attribute", params: data assert_response 404 assert_select "status[code] > summary", /Attribute Type OBS:Playground does not exist/ data = "<attributes><attribute namespace='OBS' name='Maintained' > <BROKENXML> </attribute></attributes>" - post "/source/kde4/kdelibs/_attribute", data + post "/source/kde4/kdelibs/_attribute", params: data assert_response 400 assert_select "status[code] > summary", /Invalid XML/ data = "<attributes><attribute namespace='OBS' name='Maintained' > <value>blah</value> </attribute></attributes>" - post "/source/kde4/kdelibs/_attribute", data + post "/source/kde4/kdelibs/_attribute", params: data assert_response 400 assert_select "status[code] > summary", /has 1 values, but only 0 are allowed/ data = "<attributes><attribute namespace='OBS' name='Maintained'></attribute></attributes>" - post "/source/kde4/kdelibs/_attribute", data + post "/source/kde4/kdelibs/_attribute", params: data assert_response :success - post "/source/kde4/kdelibs/_attribute/OBS:Maintained", data + post "/source/kde4/kdelibs/_attribute/OBS:Maintained", params: data assert_response :success - post "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained", data + post "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained", params: data assert_response :success get "/source/kde4/kdelibs/_attribute" @@ -403,11 +403,11 @@ ription</description> # no permission check login_Iggy - post "/source/kde4/kdelibs/_attribute", data + post "/source/kde4/kdelibs/_attribute", params: data assert_response 403 - post "/source/kde4/kdelibs/_attribute/OBS:Maintained", data + post "/source/kde4/kdelibs/_attribute/OBS:Maintained", params: data assert_response 403 - post "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained", data + post "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained", params: data assert_response 403 delete "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained" assert_response 403 @@ -440,9 +440,9 @@ ription</description> # delete reset_auth login_fred - post "/source/kde4/kdelibs/_attribute", data + post "/source/kde4/kdelibs/_attribute", params: data assert_response :success - post "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained", data + post "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained", params: data assert_response :success delete "/source/kde4/kdelibs/kdelibs-devel/_attribute/OBS:Maintained" assert_response :success diff --git a/src/api/test/functional/binary_release_test.rb b/src/api/test/functional/binary_release_test.rb index 5d7d4f751..b0f534050 100644 --- a/src/api/test/functional/binary_release_test.rb +++ b/src/api/test/functional/binary_release_test.rb @@ -14,16 +14,16 @@ class BinaryReleaseTest < ActionDispatch::IntegrationTest disturl = "obs://build.opensuse.org/My:Maintenance:2793/openSUSE_13.1_Update/904dbf574823ac4ca7501a1f4dca0e68-package.openSUSE_13.1_Update" reset_auth - get '/search/released/binary', match: "@name = 'package'" + get '/search/released/binary', params: { match: "@name = 'package'" } assert_response 401 login_Iggy - get '/search/released/binary/id', match: "@name = 'package'" + get '/search/released/binary/id', params: { match: "@name = 'package'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} # full content - get '/search/released/binary', match: "@name = 'package'" + get '/search/released/binary', params: { match: "@name = 'package'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} assert_xml_tag tag: "disturl", content: disturl @@ -33,107 +33,107 @@ class BinaryReleaseTest < ActionDispatch::IntegrationTest assert_xml_tag tag: "build", attributes: { time: "2013-09-29 15:50:31 UTC" } # by updateinfo identifier - get '/search/released/binary/id', match: "updateinfo/@id = 'OBS-2014-42'" + get '/search/released/binary/id', params: { match: "updateinfo/@id = 'OBS-2014-42'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} # by disturl - get '/search/released/binary/id', match: "disturl = '#{disturl}'" + get '/search/released/binary/id', params: { match: "disturl = '#{disturl}'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} # search via publish container - get '/search/released/binary/id', match: "publish/@package = 'pack2'" + get '/search/released/binary/id', params: { match: "publish/@package = 'pack2'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} - get '/search/released/binary/id', match: "publish/@time = '2013-09-30 15:50:30 UTC'" + get '/search/released/binary/id', params: { match: "publish/@time = '2013-09-30 15:50:30 UTC'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} # exact search - get '/search/released/binary', match: "@name = 'package' and @version = '1.0' and @release = '1' and @arch = 'i586' and supportstatus = 'l3' and operation = 'added'" + get '/search/released/binary', params: { match: "@name = 'package' and @version = '1.0' and @release = '1' and @arch = 'i586' and supportstatus = 'l3' and operation = 'added'" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} # not matching - get '/search/released/binary', match: "@name = 'package' and @version = '1.1'" + get '/search/released/binary', params: { match: "@name = 'package' and @version = '1.1'" } assert_response :success assert_no_xml_tag tag: "binary" # by repo - get '/search/released/binary', match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo']" + get '/search/released/binary', params: { match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo']" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} assert_xml_tag tag: "obsolete" # without obsolete rpms - get '/search/released/binary', match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo'] and obsolete[not(@time)]" + get '/search/released/binary', params: { match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo'] and obsolete[not(@time)]" } assert_response :success assert_no_xml_tag tag: "obsolete" # without modified rpms - get '/search/released/binary', match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo'] and modify[not(@time)]" + get '/search/released/binary', params: { match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo'] and modify[not(@time)]" } assert_response :success assert_no_xml_tag tag: "modify" # by product - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed' and (@arch = 'i586' or not(@arch))]" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed' and (@arch = 'i586' or not(@arch))]" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586", medium: "DVD"} assert_xml_tag tag: "updatefor", attributes: { project: "BaseDistro", product: "fixed" } assert_xml_tag tag: "product", attributes: { name: "fixed", version: "1.2" } - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @medium = 'DVD']" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @medium = 'DVD']" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586", medium: "DVD"} # by version - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @version = '1.2']" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @version = '1.2']" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586", medium: "DVD"} # not matching version - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @version = '2.99']" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @version = '2.99']" } assert_response :success assert_xml_tag tag: "collection", attributes: { matches: "0" } assert_no_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586", medium: "DVD"} # baseversion - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @baseversion = '1.2' and @patchlevel='0']" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @baseversion = '1.2' and @patchlevel='0']" } assert_response :success # not matching baseversion - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @baseversion = '1.2' and @patchlevel='43']" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed' and @baseversion = '1.2' and @patchlevel='43']" } assert_response :success assert_xml_tag tag: "collection", attributes: { matches: "0" } # by update for product - get '/search/released/binary', match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @arch = 'i586']" + get '/search/released/binary', params: { match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @arch = 'i586']" } assert_response :success assert_no_xml_tag tag: "binary", attributes: { project: "BaseDistro3" } - get '/search/released/binary', match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @arch = 'x86_64']" + get '/search/released/binary', params: { match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @arch = 'x86_64']" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586" } assert_xml_tag tag: "updatefor", attributes: { project: "BaseDistro", product: "fixed" } # by version - get '/search/released/binary', match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @baseversion = '1.2' and @patchlevel='0']" + get '/search/released/binary', params: { match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @baseversion = '1.2' and @patchlevel='0']" } assert_response :success - get '/search/released/binary', match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @version = '1.2']" + get '/search/released/binary', params: { match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @version = '1.2']" } assert_response :success # not matching - get '/search/released/binary', match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @version = '1.3']" + get '/search/released/binary', params: { match: "updatefor/[@project = 'BaseDistro' and @product = 'fixed' and @version = '1.3']" } assert_response :success assert_xml_tag tag: "collection", attributes: { matches: "0" } # basic no-crash tests - get '/search/released/binary', match: "updatefor/@version = '1.3'" + get '/search/released/binary', params: { match: "updatefor/@version = '1.3'" } assert_response :success assert_xml_tag tag: "collection", attributes: { matches: "0" } - get '/search/released/binary', match: "updatefor/@baseversion = '1.3'" + get '/search/released/binary', params: { match: "updatefor/@baseversion = '1.3'" } assert_response :success assert_xml_tag tag: "collection", attributes: { matches: "0" } - get '/search/released/binary', match: "updatefor/@patchlevel = '1.3'" + get '/search/released/binary', params: { match: "updatefor/@patchlevel = '1.3'" } assert_response :success assert_xml_tag tag: "collection", attributes: { matches: "0" } # by update for product OR product itself - get '/search/released/binary', match: "product/[@project = 'BaseDistro' and @name = 'fixed'] or updatefor/[@project = 'BaseDistro' and @product = 'fixed']" + get '/search/released/binary', params: { match: "product/[@project = 'BaseDistro' and @name = 'fixed'] or updatefor/[@project = 'BaseDistro' and @product = 'fixed']" } assert_response :success assert_xml_tag tag: "binary", attributes: { project: "BaseDistro3", repository: "BaseDistro3_repo", name: "package", version: "1.0", release: "1", arch: "i586"} assert_xml_tag tag: "updatefor", attributes: { project: "BaseDistro", product: "fixed" } diff --git a/src/api/test/functional/branch_publish_flag_test.rb b/src/api/test/functional/branch_publish_flag_test.rb index 6e04a89dd..c9010e696 100644 --- a/src/api/test/functional/branch_publish_flag_test.rb +++ b/src/api/test/functional/branch_publish_flag_test.rb @@ -30,7 +30,7 @@ class BranchPublishFlagTest < ActionDispatch::IntegrationTest tprj = "home:king:branches:#{sprj}" debug "branching #{sprj}/#{spkg} into #{tprj}" - post "/source/#{sprj}/#{spkg}", cmd: :branch, target_project: "#{tprj}" + post "/source/#{sprj}/#{spkg}", params: { cmd: :branch, target_project: "#{tprj}" } debug @response.body assert_response :success if @@verbose diff --git a/src/api/test/functional/build_controller_test.rb b/src/api/test/functional/build_controller_test.rb index b68ab0ffb..e7d194877 100644 --- a/src/api/test/functional/build_controller_test.rb +++ b/src/api/test/functional/build_controller_test.rb @@ -38,28 +38,28 @@ class BuildControllerTest < ActionDispatch::IntegrationTest def test_upload_binaries reset_auth - post "/build/home:Iggy/10.2/i586/TestPack", nil + post "/build/home:Iggy/10.2/i586/TestPack" assert_response 401 login_adrian - post "/build/home:Iggy/10.2/i586/TestPack", nil + post "/build/home:Iggy/10.2/i586/TestPack" assert_response 403 - put "/build/home:Iggy/10.2/i586/_repository/rpm.rpm", "/dev/null" + put "/build/home:Iggy/10.2/i586/_repository/rpm.rpm", params: "/dev/null" assert_response 403 login_king - post "/build/home:Iggy/10.2/i586/TestPack", nil + post "/build/home:Iggy/10.2/i586/TestPack" assert_response 400 # actually a success, it reached the backend assert_xml_tag tag: "status", attributes: { code: "400", origin: "backend" } - put "/build/home:Iggy/10.2/i586/_repository/rpm.rpm", "/dev/null" + put "/build/home:Iggy/10.2/i586/_repository/rpm.rpm", params: "/dev/null" assert_response 200 # check not supported methods - post "/build/home:Iggy/10.2/i586/_repository", nil + post "/build/home:Iggy/10.2/i586/_repository" assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_package" } - put "/build/home:Iggy/10.2/i586/TestPack", nil + put "/build/home:Iggy/10.2/i586/TestPack" assert_response 404 # no such route delete "/build/home:Iggy/10.2/i586/TestPack" @@ -74,11 +74,11 @@ class BuildControllerTest < ActionDispatch::IntegrationTest login_adrian get "/build/_dispatchprios" assert_response :success - put "/build/_dispatchprios", ' <dispatchprios> <prio project="KDE:Distro:Factory" repository="openSUSE_Factory" adjust="7" /> </dispatchprios>' + put "/build/_dispatchprios", params: ' <dispatchprios> <prio project="KDE:Distro:Factory" repository="openSUSE_Factory" adjust="7" /> </dispatchprios>' assert_response 403 login_king - put "/build/_dispatchprios", ' <dispatchprios> <prio project="KDE:Distro:Factory" repository="openSUSE_Factory" adjust="7" /> </dispatchprios>' + put "/build/_dispatchprios", params: ' <dispatchprios> <prio project="KDE:Distro:Factory" repository="openSUSE_Factory" adjust="7" /> </dispatchprios>' assert_response :success end @@ -210,7 +210,7 @@ class BuildControllerTest < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: "builddepinfo" }, tag: "package", attributes: { name: "pack" } data = @response.body - post "/build/HiddenProject/nada/i586/_builddepinfo?view=order", data + post "/build/HiddenProject/nada/i586/_builddepinfo?view=order", params: data assert_response :success assert_xml_tag parent: { tag: "builddepinfo" }, tag: "package", attributes: { name: "pack" } end @@ -421,11 +421,11 @@ class BuildControllerTest < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag tag: "directory", children: { count: 1 } - put "/build/home:Iggy", cmd: 'say_hallo' + put "/build/home:Iggy", params: { cmd: 'say_hallo' } assert_response 403 assert_match(/No permission to execute command on project/, @response.body) - post "/build/home:Iggy", cmd: 'say_hallo' + post "/build/home:Iggy", params: { cmd: 'say_hallo' } assert_response 400 assert_match(/unsupported POST command/, @response.body) @@ -486,11 +486,11 @@ class BuildControllerTest < ActionDispatch::IntegrationTest assert_response 404 assert_match(/unknown_project/, @response.body) - put "/build/HiddenProject", cmd: 'say_hallo' + put "/build/HiddenProject", params: { cmd: 'say_hallo' } assert_response 404 assert_match(/unknown_project/, @response.body) - post "/build/HiddenProject", cmd: 'say_hallo' + post "/build/HiddenProject", params: { cmd: 'say_hallo' } assert_response 404 assert_match(/unknown_project/, @response.body) @@ -509,11 +509,11 @@ class BuildControllerTest < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag tag: "directory", children: { count: 1 } - put "/build/HiddenProject", cmd: 'say_hallo' + put "/build/HiddenProject", params: { cmd: 'say_hallo' } assert_response 403 assert_match(/No permission to execute command on project/, @response.body) - post "/build/HiddenProject", cmd: 'say_hallo' + post "/build/HiddenProject", params: { cmd: 'say_hallo' } assert_response 400 assert_match(/illegal_request/, @response.body) diff --git a/src/api/test/functional/channel_maintenance_test.rb b/src/api/test/functional/channel_maintenance_test.rb index 4c8137f0e..7b02c1dce 100644 --- a/src/api/test/functional/channel_maintenance_test.rb +++ b/src/api/test/functional/channel_maintenance_test.rb @@ -24,14 +24,14 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # def test_large_channel_test login_king - put '/source/BaseDistro3/pack2/file', 'NOOP' + put '/source/BaseDistro3/pack2/file', params: 'NOOP' assert_response :success # setup maintained attributes prepare_request_with_user 'maintenance_coord', 'buildservice' # single packages - post '/source/BaseDistro2.0/pack2/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro2.0/pack2/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success - post '/source/BaseDistro3/pack2/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro3/pack2/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success # search for maintained packages like osc is doing @@ -41,13 +41,13 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # do the real mbranch for default maintained packages login_tom - post '/source', cmd: 'branch', package: 'pack2' + post '/source', params: { cmd: 'branch', package: 'pack2' } assert_response :success # validate result is done in project wide test case # try to create a request without a change - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro3" /> <options> @@ -60,7 +60,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_response 400 assert_xml_tag( tag: 'status', attributes: { code: 'missing_action' } ) # also for entire project - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2"/> <options> @@ -74,14 +74,14 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag( tag: 'status', attributes: { code: 'missing_action' } ) # do some file changes - put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro2.0_LinkedUpdateProject/new_file', 'new_content_0815' + put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro2.0_LinkedUpdateProject/new_file', params: 'new_content_0815' assert_response :success - put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro3/file', 'new_content_2137' + put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro3/file', params: 'new_content_2137' assert_response :success # create maintenance request for one package # without specifing target, the default target must get found via attribute - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro3" /> <options> @@ -99,7 +99,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest id1 = node.value(:id) # validate that request is diffable (not broken) - post "/request/#{id1}?cmd=diff&view=xml", nil + post "/request/#{id1}?cmd=diff&view=xml" assert_response :success # the diffed packages assert_xml_tag( tag: 'old', attributes: { project: 'BaseDistro3', package: 'pack2', srcmd5: 'eb6705ddf47af932b8332e16ab2ed8b3' } ) @@ -117,7 +117,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_match( /^\+new_content_2137/, @response.body ) # search as used by osc sees it - get '/search/request', match: 'action/@type="maintenance_incident" and (state/@name="new" or state/@name="review") and starts-with(action/target/@project, "My:Maintenance")' + get '/search/request', params: { match: 'action/@type="maintenance_incident" and (state/@name="new" or state/@name="review") and starts-with(action/target/@project, "My:Maintenance")' } assert_response :success assert_xml_tag parent: { tag: 'collection' }, tag: 'request', attributes: { id: id1 } @@ -150,12 +150,12 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest e.text = "patch_name" e = pi.add_element 'message' e.text = "During reboot a popup with a question will appear" - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success # create maintenance request with invalid target login_tom - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro2.0_LinkedUpdateProject" /> <target project="home:tom" /> @@ -164,7 +164,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'no_maintenance_project' } # valid target.. - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro2.0_LinkedUpdateProject" /> <target project="' + incidentProject + '" /> @@ -181,7 +181,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # create maintenance request for two further packages # without specifing target, the default target must get found via attribute - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro2.0_LinkedUpdateProject" /> </action> @@ -196,7 +196,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) id2 = node.value(:id) - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro2.0_LinkedUpdateProject" /> </action> @@ -213,9 +213,9 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest id3 = node.value(:id) # second one for failing permission test on lock - put "/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro2.0_LinkedUpdateProject/dummy", "dummy change" + put "/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro2.0_LinkedUpdateProject/dummy", params: "dummy change" assert_response :success - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro2.0_LinkedUpdateProject" /> </action> @@ -229,7 +229,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest id4 = node.value(:id) # validate that request is diffable and that the linked package is not double diffed - post "/request/#{id2}?cmd=diff&view=xml", nil + post "/request/#{id2}?cmd=diff&view=xml" assert_response :success assert_match(/new_content_0815/, @response.body) # check if our changes are part of the diff assert_xml_tag parent: { tag: 'file', attributes: { state: 'added' } }, tag: 'new', attributes: { name: 'new_file' } @@ -281,7 +281,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # # define one login_king - put '/source/BaseDistro3Channel/_meta', '<project name="BaseDistro3Channel" kind="maintenance_release"><title/><description/> + put '/source/BaseDistro3Channel/_meta', params: '<project name="BaseDistro3Channel" kind="maintenance_release"><title/><description/> <build><disable/></build> <publish><enable/></publish> <person userid="adrian_reader" role="reviewer" /> @@ -290,27 +290,27 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest </repository> </project>' assert_response :success - put '/source/BaseDistro3Channel/_config', "Repotype: rpm-md-legacy packagesubdir:rpm\nType: spec" + put '/source/BaseDistro3Channel/_config', params: "Repotype: rpm-md-legacy packagesubdir:rpm\nType: spec" assert_response :success raw_post '/source/BaseDistro3Channel/_attribute', "<attributes><attribute namespace='OBS' name='MaintenanceIdTemplate'><value>My-BaseDistro3Channel-%Y-%C</value></attribute></attributes>" assert_response :success - put '/source/Channel/_meta', '<project name="Channel"><title/><description/> + put '/source/Channel/_meta', params: '<project name="Channel"><title/><description/> </project>' assert_response :success get '/source/My:Maintenance/_meta' assert_response :success meta = ActiveXML::Node.new( @response.body ) meta.find_first('maintenance').add_element 'maintains', { project: 'Channel' } - put '/source/My:Maintenance/_meta', meta.dump_xml + put '/source/My:Maintenance/_meta', params: meta.dump_xml assert_response :success # create channel package - put '/source/Channel/BaseDistro2/_meta', '<package project="Channel" name="BaseDistro2"><title/><description/></package>' + put '/source/Channel/BaseDistro2/_meta', params: '<package project="Channel" name="BaseDistro2"><title/><description/></package>' assert_response :success # set target via parameter - post '/source/Channel/BaseDistro2?cmd=importchannel&target_project=BaseDistro3Channel&target_repository=channel_repo', '<?xml version="1.0" encoding="UTF-8"?> + post '/source/Channel/BaseDistro2?cmd=importchannel&target_project=BaseDistro3Channel&target_repository=channel_repo', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <binaries project="BaseDistro2.0:LinkedUpdateProject" repository="BaseDistro2LinkedUpdateProject_repo" arch="i586"> <binary name="package" package="pack2.linked" project="BaseDistro2.0:LinkedUpdateProject" /> @@ -318,11 +318,11 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest </channel>' assert_response :success # set target via xml - put '/source/Channel/BaseDistro2.0/_meta', '<package project="Channel" name="BaseDistro2.0"><title/><description/></package>' + put '/source/Channel/BaseDistro2.0/_meta', params: '<package project="Channel" name="BaseDistro2.0"><title/><description/></package>' assert_response :success - put '/source/Channel/BaseDistro3/_meta', '<package project="Channel" name="BaseDistro3"><title/><description/></package>' + put '/source/Channel/BaseDistro3/_meta', params: '<package project="Channel" name="BaseDistro3"><title/><description/></package>' assert_response :success - post '/source/Channel/BaseDistro3?cmd=importchannel', '<?xml version="1.0" encoding="UTF-8"?> + post '/source/Channel/BaseDistro3?cmd=importchannel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="BaseDistro3Channel" repository="channel_repo"/> <binaries project="BaseDistro3" repository="BaseDistro3_repo" arch="i586"> @@ -338,10 +338,10 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'target', attributes: { project: 'BaseDistro3Channel', repository: 'channel_repo' } # create channel packages and repos login_adrian - post "/source/#{incidentProject}?cmd=addchannels", nil + post "/source/#{incidentProject}?cmd=addchannels" assert_response 403 prepare_request_with_user 'maintenance_coord', 'buildservice' - post "/source/#{incidentProject}?cmd=addchannels", nil + post "/source/#{incidentProject}?cmd=addchannels" assert_response :success get "/source/#{incidentProject}/BaseDistro2.Channel/_meta" assert_response :success @@ -350,13 +350,13 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest get "/source/#{incidentProject}/_meta" assert_response :success assert_xml_tag tag: "repository", attributes: {name: "BaseDistro3Channel"} - post "/source/#{incidentProject}/pack2.BaseDistro2.0_LinkedUpdateProject", cmd: 'branch', add_repositories: 1 + post "/source/#{incidentProject}/pack2.BaseDistro2.0_LinkedUpdateProject", params: { cmd: 'branch', add_repositories: 1 } assert_response :success get "/source/home:maintenance_coord:branches:My:Maintenance:0/_meta" assert_response :success # local channel got skipped: assert_no_xml_tag tag: "repository", attributes: {name: "BaseDistro3Channel"} - post "/source/#{incidentProject}/BaseDistro2.Channel", cmd: 'branch', add_repositories: 1 + post "/source/#{incidentProject}/BaseDistro2.Channel", params: { cmd: 'branch', add_repositories: 1 } assert_response :success get "/source/home:maintenance_coord:branches:My:Maintenance:0/_meta" assert_response :success @@ -396,7 +396,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest delete '/source/Channel/BaseDistro2' assert_response :success - put '/source/Channel/BaseDistro2.0/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/Channel/BaseDistro2.0/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="BaseDistro2.0:LinkedUpdateProject" repository="BaseDistro2LinkedUpdateProject_repo"><disabled/></target> <binaries project="BaseDistro3" repository="BaseDistro3_repo" arch="i586"> @@ -405,7 +405,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest </binaries> </channel>' assert_response :success - put '/source/Channel/BaseDistro3/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/Channel/BaseDistro3/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="BaseDistro3Channel" repository="channel_repo" id_template="UpdateInfoTag-%Y-%C" requires_issue="true" /> <binaries project="BaseDistro3" repository="BaseDistro3_repo" arch="i586"> @@ -421,19 +421,19 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # create channel packages and repos login_adrian - post "/source/#{incidentProject}?cmd=addchannels", nil + post "/source/#{incidentProject}?cmd=addchannels" assert_response 403 prepare_request_with_user 'maintenance_coord', 'buildservice' - post "/source/#{incidentProject}?cmd=addchannels&mode=skip_disabled", nil + post "/source/#{incidentProject}?cmd=addchannels&mode=skip_disabled" assert_response :success get "/source/#{incidentProject}/BaseDistro2.0.Channel/_meta" assert_response 404 # skipped because it just has a disabled target get "/source/#{incidentProject}/BaseDistro3.Channel/_meta" assert_response :success - post "/source/#{incidentProject}/pack2.BaseDistro3?cmd=addchannels", nil + post "/source/#{incidentProject}/pack2.BaseDistro3?cmd=addchannels" assert_response :success - post "/source/#{incidentProject}?cmd=addchannels&mode=add_disabled", nil + post "/source/#{incidentProject}?cmd=addchannels&mode=add_disabled" assert_response :success # now it appeared get "/source/#{incidentProject}/BaseDistro2.0.Channel/_meta" assert_response :success @@ -473,7 +473,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # enable the patchinfo via api call login_king - put "/source/BaseDistro2.0/_product/_meta", "<package project='BaseDistro2.0' name='_product'><title/><description/></package>" + put "/source/BaseDistro2.0/_product/_meta", params: "<package project='BaseDistro2.0' name='_product'><title/><description/></package>" assert_response :success ["defaults-archsets.include", "defaults-conditionals.include", "defaults-repositories.include", "obs.group", "obs-release.spec", "simple.product"].each do |file| raw_put "/source/BaseDistro2.0/_product/#{file}", @@ -491,7 +491,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag tag: 'enable', attributes: {repository: "BaseDistro2.0_LinkedUpdateProject"} # revert and enable via enablechannel - put "/source/#{incidentProject}/BaseDistro2.0.Channel/_meta", old_meta + put "/source/#{incidentProject}/BaseDistro2.0.Channel/_meta", params: old_meta assert_response :success post "/source/#{incidentProject}/BaseDistro2.0.Channel?cmd=enablechannel" assert_response :success @@ -524,7 +524,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_response :success pi = ActiveXML::Node.new( @response.body ) pi.add_element 'issue', { 'id' => '0815', 'tracker' => 'bnc'} - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success # create and check updateinfo @@ -553,7 +553,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest baseproject: "BaseDistro3Channel", type: "rpm" } # create release request - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -581,7 +581,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # and check what happens after modifing _channel file - put '/source/My:Maintenance:0/BaseDistro3.Channel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/My:Maintenance:0/BaseDistro3.Channel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="BaseDistro3Channel" repository="channel_repo" id_template="UpdateInfoTagNew-%N-%Y-%C" requires_issue="true" /> <binaries project="BaseDistro3" repository="BaseDistro3_repo" arch="i586"> @@ -615,7 +615,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'entry', attributes: { name: 'repomd.xml' } assert_xml_tag tag: 'entry', attributes: { name: 'updateinfo.xml.gz' } - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -660,7 +660,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest tag: 'acceptinfo', attributes: { rev: '1', oproject: "BaseDistro3", opackage: "pack2", oxsrcmd5: 'eb6705ddf47af932b8332e16ab2ed8b3', osrcmd5: "eb6705ddf47af932b8332e16ab2ed8b3" } # diffing works - post "/request/#{reqid}?cmd=diff&view=xml", nil + post "/request/#{reqid}?cmd=diff&view=xml" assert_response :success assert_xml_tag tag: 'old', attributes: { project: 'BaseDistro2.0:LinkedUpdateProject', package: 'pack2.0'} assert_xml_tag tag: 'new', attributes: { project: 'BaseDistro2.0:LinkedUpdateProject', package: 'pack2.0'} @@ -756,7 +756,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # event handling UpdateNotificationEvents.new.perform - get '/search/released/binary', match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo']" + get '/search/released/binary', params: { match: "repository/[@project = 'BaseDistro3' and @name = 'BaseDistro3_repo']" } assert_response :success assert_xml_tag parent: { tag: 'binary', attributes: { name: 'package_newweaktags', version: "1.0", release: "1", arch: "x86_64" } }, tag: 'publish', attributes: { package: "pack2" } @@ -775,7 +775,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: 'binary', attributes: { name: 'dropped', project: "BaseDistro3", repository: "BaseDistro3_repo", arch: "i586" } }, tag: 'operation', content: "added" # entire channel content - get '/search/released/binary', match: "repository/[@project = 'BaseDistro3Channel']" + get '/search/released/binary', params: { match: "repository/[@project = 'BaseDistro3Channel']" } assert_response :success assert_xml_tag parent: { tag: 'binary', attributes: { name: 'package', project: "BaseDistro3Channel", repository: "channel_repo", arch: "i586" } }, tag: 'operation', content: "added" @@ -785,7 +785,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest tag: 'updateinfo', attributes: { id: "UpdateInfoTagNew-patch_name-#{Time.now.utc.year}-1", version: "1" } # search via official updateinfo id tag - get '/search/released/binary', match: "updateinfo/@id = 'UpdateInfoTagNew-patch_name-#{Time.now.utc.year}-1'" + get '/search/released/binary', params: { match: "updateinfo/@id = 'UpdateInfoTagNew-patch_name-#{Time.now.utc.year}-1'" } assert_response :success assert_xml_tag tag: 'binary', attributes: { name: 'package', project: "BaseDistro3Channel", repository: "channel_repo", arch: "i586" } assert_xml_tag tag: 'binary', attributes: { name: 'package', project: "BaseDistro3Channel", repository: "channel_repo", arch: "src" } @@ -796,19 +796,19 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # Additional channel using just a local linked package # # setup two channels for splitted product - put '/source/Channel/BaseDistro2/_meta', '<package project="Channel" name="BaseDistro2"><title/><description/></package>' + put '/source/Channel/BaseDistro2/_meta', params: '<package project="Channel" name="BaseDistro2"><title/><description/></package>' assert_response :success # set target via parameter - post '/source/Channel/BaseDistro2?cmd=importchannel&target_project=BaseDistro3Channel&target_repository=channel_repo', '<?xml version="1.0" encoding="UTF-8"?> + post '/source/Channel/BaseDistro2?cmd=importchannel&target_project=BaseDistro3Channel&target_repository=channel_repo', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <binaries project="BaseDistro2.0:LinkedUpdateProject" repository="BaseDistro2LinkedUpdateProject_repo" arch="i586"> <binary name="package" package="pack2" project="BaseDistro2.0:LinkedUpdateProject" /> </binaries> </channel>' assert_response :success - put '/source/Channel/BaseDistro2SDK/_meta', '<package project="Channel" name="BaseDistro2SDK"><title/><description/></package>' + put '/source/Channel/BaseDistro2SDK/_meta', params: '<package project="Channel" name="BaseDistro2SDK"><title/><description/></package>' assert_response :success - put '/source/Channel/BaseDistro2SDK/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/Channel/BaseDistro2SDK/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="BaseDistro3Channel" repository="channel_repo" /> <binaries project="BaseDistro2.0:LinkedUpdateProject" repository="BaseDistro2LinkedUpdateProject_repo" arch="i586"> @@ -817,9 +817,9 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest </channel>' assert_response :success # another change needed - put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro2.0_LinkedUpdateProject/another_file', 'new_content_0815_changed' + put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro2.0_LinkedUpdateProject/another_file', params: 'new_content_0815_changed' assert_response :success - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" package="pack2.BaseDistro2.0_LinkedUpdateProject" /> <options> @@ -867,9 +867,9 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest chk.perform # raises exception on error # test package initialization for projects linking to maintenance_release projects - put '/source/TEST/_meta', '<project name="TEST"> <title/><description/><link project="BaseDistro2.0:LinkedUpdateProject"/></project>' + put '/source/TEST/_meta', params: '<project name="TEST"> <title/><description/><link project="BaseDistro2.0:LinkedUpdateProject"/></project>' assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro3" package="pack2"/> <target project="TEST" package="pack2"/> @@ -906,7 +906,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest # reset pack2 as done in start_test_backend script delete '/source/BaseDistro3/pack2' assert_response :success - put '/source/BaseDistro3/pack2/_meta', '<package project="BaseDistro3" name="pack2"><title/><description/></package>' + put '/source/BaseDistro3/pack2/_meta', params: '<package project="BaseDistro3" name="pack2"><title/><description/></package>' assert_response :success raw_put '/source/BaseDistro3/pack2/package.spec', File.open("#{Rails.root}/test/fixtures/backend/binary/package.spec").read assert_response :success @@ -921,7 +921,7 @@ class ChannelMaintenanceTests < ActionDispatch::IntegrationTest assert_response 400 # incident still refers to it delete "/source/#{incidentProject}" assert_response 403 # still locked, so unlock it ... - post "/source/#{incidentProject}", { cmd: 'unlock', comment: 'cleanup' } + post "/source/#{incidentProject}", params: { cmd: 'unlock', comment: 'cleanup' } assert_response :success delete "/source/#{incidentProject}" assert_response :success diff --git a/src/api/test/functional/comments_controller_test.rb b/src/api/test/functional/comments_controller_test.rb index cbc676e84..91bf758cf 100644 --- a/src/api/test/functional/comments_controller_test.rb +++ b/src/api/test/functional/comments_controller_test.rb @@ -89,7 +89,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_request_comment_path(id: 2), 'Hallo' + post create_request_comment_path(id: 2), params: 'Hallo' assert_response :success SendEventEmails.new.perform end @@ -105,7 +105,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest login_dmayr SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_request_comment_path(id: 2), 'Hallo' + post create_request_comment_path(id: 2), params: 'Hallo' assert_response :success SendEventEmails.new.perform end @@ -115,7 +115,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest # now to something fancy assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_request_comment_path(id: 2), 'Hallo @fred' + post create_request_comment_path(id: 2), params: 'Hallo @fred' assert_response :success SendEventEmails.new.perform end @@ -125,7 +125,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest # and check if @fred becomes a 'commenter' for ever assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_request_comment_path(id: 2), 'Is Fred listening now?' + post create_request_comment_path(id: 2), params: 'Is Fred listening now?' assert_response :success SendEventEmails.new.perform end @@ -146,7 +146,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_project_comment_path(project: 'Apache'), 'Beautiful project' + post create_project_comment_path(project: 'Apache'), params: 'Beautiful project' assert_response :success SendEventEmails.new.perform end @@ -172,7 +172,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_package_comment_path(project: 'kde4', package: 'kdebase'), "Hola, estoy aprendiendo español" + post create_package_comment_path(project: 'kde4', package: 'kdebase'), params: "Hola, estoy aprendiendo español" assert_response :success SendEventEmails.new.perform end @@ -190,7 +190,7 @@ class CommentsControllerTest < ActionDispatch::IntegrationTest SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do # Trolling - post create_package_comment_path(project: 'BaseDistro', package: 'pack1'), "I preffer Apache1, don't you? @fred" + post create_package_comment_path(project: 'BaseDistro', package: 'pack1'), params: "I preffer Apache1, don't you? @fred" assert_response :success SendEventEmails.new.perform end diff --git a/src/api/test/functional/configurations_controller_test.rb b/src/api/test/functional/configurations_controller_test.rb index 680dbec5d..cd3680de1 100644 --- a/src/api/test/functional/configurations_controller_test.rb +++ b/src/api/test/functional/configurations_controller_test.rb @@ -20,7 +20,7 @@ class ConfigurationsControllerTest < ActionDispatch::IntegrationTest get '/configuration' # default assert_response :success config = @response.body - put '/configuration', config + put '/configuration', params: config assert_response 403 # Normal users can't change site-wide configuration login_king # User with admin rights @@ -54,7 +54,7 @@ class ConfigurationsControllerTest < ActionDispatch::IntegrationTest ::Configuration::OPTIONS_YML[:registration] = nil # reset - put '/configuration', config + put '/configuration', params: config assert_response :success login_tom diff --git a/src/api/test/functional/cross_build_test.rb b/src/api/test/functional/cross_build_test.rb index ccb1d489b..b47d238c4 100644 --- a/src/api/test/functional/cross_build_test.rb +++ b/src/api/test/functional/cross_build_test.rb @@ -13,7 +13,7 @@ class CrossBuildTest < ActionDispatch::IntegrationTest skip("hostsystem cleanup is currently broken, but neither supported") # best fix would be to drop the support again most likely login_tom - put "/source/home:tom:CrossBuild/_meta", "<project name='home:tom:CrossBuild'> <title/> <description/> + put "/source/home:tom:CrossBuild/_meta", params: "<project name='home:tom:CrossBuild'> <title/> <description/> <repository name='standard'> <path repository='BaseDistro_repo' project='BaseDistro' /> <hostsystem repository='BaseDistro2_repo' project='BaseDistro2.0' /> @@ -25,7 +25,7 @@ class CrossBuildTest < ActionDispatch::IntegrationTest assert_xml_tag tag: "path", attributes: { project: 'BaseDistro', repository: 'BaseDistro_repo' } assert_xml_tag tag: "hostsystem", attributes: { project: 'BaseDistro2.0', repository: 'BaseDistro2_repo' } - put "/source/home:tom:CrossBuild/_meta", "<project name='home:tom:CrossBuild'> <title/> <description/> + put "/source/home:tom:CrossBuild/_meta", params: "<project name='home:tom:CrossBuild'> <title/> <description/> <repository name='standard'> <path repository='BaseDistro_repo' project='BaseDistro' /> <hostsystem repository='nada' project='HiddenProject' /> diff --git a/src/api/test/functional/distributions_controller_test.rb b/src/api/test/functional/distributions_controller_test.rb index 073d361b6..14b7b03d8 100644 --- a/src/api/test/functional/distributions_controller_test.rb +++ b/src/api/test/functional/distributions_controller_test.rb @@ -62,15 +62,15 @@ class DistributionsControllerTest < ActionDispatch::IntegrationTest </distributions> ' - put "/distributions", data + put "/distributions", params: data assert_response 401 login_tom - put "/distributions", data + put "/distributions", params: data assert_response 403 login_king - put "/distributions", data + put "/distributions", params: data assert_response 200 login_tom diff --git a/src/api/test/functional/group_request_test.rb b/src/api/test/functional/group_request_test.rb index d890a6eb3..f43a0e942 100644 --- a/src/api/test/functional/group_request_test.rb +++ b/src/api/test/functional/group_request_test.rb @@ -23,7 +23,7 @@ class GroupRequestTest < ActionDispatch::IntegrationTest def upload_request(filename) req = load_backend_file("request/#{filename}") - post "/request?cmd=create", req + post "/request?cmd=create", params: req assert_response :success node = ActiveXML::Node.new(@response.body) node.value :id diff --git a/src/api/test/functional/group_test.rb b/src/api/test/functional/group_test.rb index 51cf9c523..4c54d2e03 100644 --- a/src/api/test/functional/group_test.rb +++ b/src/api/test/functional/group_test.rb @@ -44,11 +44,11 @@ class GroupControllerTest < ActionDispatch::IntegrationTest def test_create_modify_and_delete_group xml = "<group><title>new_group</title></group>" - put "/group/new_group", xml + put "/group/new_group", params: xml assert_response 401 prepare_request_valid_user - put "/group/new_group", xml + put "/group/new_group", params: xml assert_response 403 delete "/group/new_group" assert_response 404 @@ -60,29 +60,29 @@ class GroupControllerTest < ActionDispatch::IntegrationTest assert_response 404 delete "/group/new_group" assert_response 404 - put "/group/test_group", xml + put "/group/test_group", params: xml assert_response 400 assert_xml_tag tag: 'status', attributes: {code: "invalid_parameter"} assert_xml_tag tag: 'summary', content: "group name from path and xml mismatch" - put "/group/NOT_EXISTING_group", xml + put "/group/NOT_EXISTING_group", params: xml assert_response 400 assert_xml_tag tag: 'status', attributes: {code: "invalid_parameter"} assert_xml_tag tag: 'summary', content: "group name from path and xml mismatch" - put "/group/new_group", xml + put "/group/new_group", params: xml assert_response :success # add a user xml2 = "<group><title>new_group</title> <email>obs@obs.com</email> <person><person userid='fred' /></person> </group>" - put "/group/new_group", xml2 + put "/group/new_group", params: xml2 assert_response :success get "/group/new_group" assert_response :success assert_xml_tag tag: 'email', content: "obs@obs.com" login_Iggy # not a group maintainer (yet) - put "/group/new_group", xml2 + put "/group/new_group", params: xml2 assert_response 403 # double save is done by webui, we need to support it. Drop email adress also @@ -91,7 +91,7 @@ class GroupControllerTest < ActionDispatch::IntegrationTest <maintainer userid='Iggy' /> <person><person userid='fred' /><person userid='fred' /></person> </group>" - put "/group/new_group", xml2 + put "/group/new_group", params: xml2 assert_response :success get "/group/new_group" assert_response :success @@ -101,14 +101,14 @@ class GroupControllerTest < ActionDispatch::IntegrationTest # check permissions login_adrian - put "/group/new_group", xml2 + put "/group/new_group", params: xml2 assert_response 403 login_Iggy # group maintainer - put "/group/new_group", xml2 + put "/group/new_group", params: xml2 assert_response :success # remove user - put "/group/new_group", xml + put "/group/new_group", params: xml assert_response :success get "/group/new_group" assert_response :success @@ -124,11 +124,11 @@ class GroupControllerTest < ActionDispatch::IntegrationTest def test_add_and_remove_users_from_group prepare_request_valid_user - post "/group/test_group", cmd: "add_user", userid: "Iggy" + post "/group/test_group", params: { cmd: "add_user", userid: "Iggy" } assert_response 403 - post "/group/test_group", cmd: "remove_user", userid: "Iggy" + post "/group/test_group", params: { cmd: "remove_user", userid: "Iggy" } assert_response 403 - post "/group/test_group", cmd: "set_email", email: "obs@obs.de" + post "/group/test_group", params: { cmd: "set_email", email: "obs@obs.de" } assert_response 403 get "/group/test_group" assert_response :success @@ -136,20 +136,20 @@ class GroupControllerTest < ActionDispatch::IntegrationTest # as admin login_king - post "/group/test_group", cmd: "add_user", userid: "Iggy" + post "/group/test_group", params: { cmd: "add_user", userid: "Iggy" } assert_response :success # double add is a dummy operation, but needs to work for webui - post "/group/test_group", cmd: "add_user", userid: "Iggy" + post "/group/test_group", params: { cmd: "add_user", userid: "Iggy" } assert_response :success - post "/group/test_group", cmd: "set_email", email: "email@me" + post "/group/test_group", params: { cmd: "set_email", email: "email@me" } assert_response :success get "/group/test_group" assert_response :success assert_xml_tag tag: 'person', attributes: {userid: 'Iggy'} assert_xml_tag tag: 'email', content: "email@me" - post "/group/test_group", cmd: "remove_user", userid: "Iggy" + post "/group/test_group", params: { cmd: "remove_user", userid: "Iggy" } assert_response :success - post "/group/test_group", cmd: "set_email" + post "/group/test_group", params: { cmd: "set_email" } assert_response :success get "/group/test_group" assert_response :success diff --git a/src/api/test/functional/interconnect_test.rb b/src/api/test/functional/interconnect_test.rb index 7f9a5a945..2eb027cc2 100644 --- a/src/api/test/functional/interconnect_test.rb +++ b/src/api/test/functional/interconnect_test.rb @@ -18,10 +18,10 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'event', attributes: {type: 'project' } assert_no_xml_tag tag: 'events', attributes: {sync: 'lost' } - post '/public/lastevents', nil # OBS 2.3 and later + post '/public/lastevents' # OBS 2.3 and later assert_response :success assert_xml_tag tag: 'events', attributes: {sync: 'lost' } - post '/public/lastevents', start: '1' + post '/public/lastevents', params: { start: '1' } assert_response :success assert_xml_tag tag: 'event', attributes: {type: 'project' } assert_no_xml_tag tag: 'events', attributes: {sync: 'lost' } @@ -150,7 +150,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest end def test_backend_post_with_forms - post '/public/lastevents', 'filter=pack1&filter=pack2' + post '/public/lastevents', params: 'filter=pack1&filter=pack2' assert_response :success end @@ -158,7 +158,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest login_tom # use repo - put '/source/home:tom:testing/_meta', '<project name="home:tom:testing"> + put '/source/home:tom:testing/_meta', params: '<project name="home:tom:testing"> <title /> <description /> <repository name="repo"> @@ -172,7 +172,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest login_king get '/source/RemoteInstance/_meta' assert_response :success - put '/source/RemoteInstance/_meta', @response.body.dup + put '/source/RemoteInstance/_meta', params: @response.body.dup assert_response :success # cleanup @@ -203,9 +203,9 @@ class InterConnectTests < ActionDispatch::IntegrationTest get '/source/RemoteInstance:BaseDistro/pack1?view=info&parse=1' # licensedigger needs it assert_response :success assert_xml_tag( tag: 'sourceinfo', attributes: { package: 'pack1' } ) - post '/source/RemoteInstance:BaseDistro/pack1', cmd: 'showlinked' + post '/source/RemoteInstance:BaseDistro/pack1', params: { cmd: 'showlinked' } assert_response :success - post '/source/RemoteInstance:BaseDistro/pack1', cmd: 'branch' + post '/source/RemoteInstance:BaseDistro/pack1', params: { cmd: 'branch' } assert_response :success get '/source/RemoteInstance:BaseDistro2.0:LinkedUpdateProject' assert_response :success @@ -216,13 +216,13 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_xml_tag( tag: 'entry', attributes: { name: 'pack2.linked', originproject: 'RemoteInstance:BaseDistro2.0' } ) # test binary operations login_king - post '/build/RemoteInstance:BaseDistro', cmd: 'wipe', package: 'pack1' + post '/build/RemoteInstance:BaseDistro', params: { cmd: 'wipe', package: 'pack1' } assert_response 403 - post '/build/RemoteInstance:BaseDistro', cmd: 'rebuild', package: 'pack1' + post '/build/RemoteInstance:BaseDistro', params: { cmd: 'rebuild', package: 'pack1' } assert_response 403 - post '/build/RemoteInstance:BaseDistro', cmd: 'wipe' + post '/build/RemoteInstance:BaseDistro', params: { cmd: 'wipe' } assert_response 403 - post '/build/RemoteInstance:BaseDistro', cmd: 'rebuild' + post '/build/RemoteInstance:BaseDistro', params: { cmd: 'rebuild' } assert_response 403 # the webui requires this for repository browsing in advanced repo add mask get '/build/RemoteInstance:BaseDistro' @@ -293,9 +293,9 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_response :success get "/source/#{project}/pack2.linked/package.spec" assert_response :success - post "/source/#{project}/pack2", cmd: 'showlinked' + post "/source/#{project}/pack2", params: { cmd: 'showlinked' } assert_response :success - post "/source/#{project}/pack2", cmd: 'branch' + post "/source/#{project}/pack2", params: { cmd: 'branch' } assert_response :success get "/source/#{project}" assert_response :success @@ -313,9 +313,9 @@ class InterConnectTests < ActionDispatch::IntegrationTest get '/build/UseRemoteInstance/pop/i586/pack2.linked/_log' assert_response :success # test source modifications - post '/build/UseRemoteInstance/pack2', cmd: 'set_flag' + post '/build/UseRemoteInstance/pack2', params: { cmd: 'set_flag' } assert_response 403 - post '/build/UseRemoteInstance/pack2', cmd: 'unlock' + post '/build/UseRemoteInstance/pack2', params: { cmd: 'unlock' } assert_response 403 get '/source/UseRemoteInstance/NotExisting' assert_response 404 @@ -325,13 +325,13 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_response 404 # test binary operations login_king - post '/build/UseRemoteInstance', cmd: 'wipe', package: 'pack2.linked' + post '/build/UseRemoteInstance', params: { cmd: 'wipe', package: 'pack2.linked' } assert_response :success - post '/build/UseRemoteInstance', cmd: 'rebuild', package: 'pack2.linked' + post '/build/UseRemoteInstance', params: { cmd: 'rebuild', package: 'pack2.linked' } assert_response :success - post '/build/UseRemoteInstance', cmd: 'wipe' + post '/build/UseRemoteInstance', params: { cmd: 'wipe' } assert_response :success - post '/build/UseRemoteInstance', cmd: 'rebuild' + post '/build/UseRemoteInstance', params: { cmd: 'rebuild' } assert_response :success # access via a local package linking to a remote package @@ -341,7 +341,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest ret = Xmlhash.parse(@response.body)['linkinfo'] xsrcmd5 = ret['xsrcmd5'] assert_not_nil xsrcmd5 - post '/source/LocalProject/remotepackage', cmd: 'showlinked' + post '/source/LocalProject/remotepackage', params: { cmd: 'showlinked' } assert_response :success get '/source/LocalProject/remotepackage/_meta' assert_response :success @@ -354,7 +354,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_equal 'pack1', ret['package'] get "/source/LocalProject/remotepackage/my_file?rev=#{xsrcmd5}" assert_response :success - post '/source/LocalProject/remotepackage', cmd: 'branch' + post '/source/LocalProject/remotepackage', params: { cmd: 'branch' } assert_response :success get "/source/LocalProject/remotepackage/_link?rev=#{xsrcmd5}" assert_response 404 @@ -362,13 +362,13 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_response 404 # test binary operations login_king - post '/build/LocalProject', cmd: 'wipe', package: 'remotepackage' + post '/build/LocalProject', params: { cmd: 'wipe', package: 'remotepackage' } assert_response :success - post '/build/LocalProject', cmd: 'rebuild', package: 'remotepackage' + post '/build/LocalProject', params: { cmd: 'rebuild', package: 'remotepackage' } assert_response :success - post '/build/LocalProject', cmd: 'wipe' + post '/build/LocalProject', params: { cmd: 'wipe' } assert_response :success - post '/build/LocalProject', cmd: 'rebuild' + post '/build/LocalProject', params: { cmd: 'rebuild' } assert_response :success # cleanup @@ -390,11 +390,10 @@ class InterConnectTests < ActionDispatch::IntegrationTest delete '/source/RemoteInstance:BaseDistro2.0/pack2' assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'delete_package_no_permission' } - post '/source/RemoteInstance:BaseDistro2.0/package', cmd: :copy, oproject: 'BaseDistro2.0', opackage: 'pack2' + post '/source/RemoteInstance:BaseDistro2.0/package', params: { cmd: :copy, oproject: 'BaseDistro2.0', opackage: 'pack2' } assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'cmd_execution_no_permission' } - put '/source/RemoteInstance:BaseDistro2.0/pack/_meta', - '<package name="pack" project="RemoteInstance:BaseDistro2.0"> + put '/source/RemoteInstance:BaseDistro2.0/pack/_meta', params: '<package name="pack" project="RemoteInstance:BaseDistro2.0"> <title/><description/></package>' assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'create_package_no_permission' } @@ -402,7 +401,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest def test_invalid_submit_to_remote_instance login_king - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro" package="pack1" rev="1"/> <target project="RemoteInstance:home:tom" package="pack1"/> @@ -415,13 +414,13 @@ class InterConnectTests < ActionDispatch::IntegrationTest def test_submit_requests_from_remote login_king - post '/source/LocalProject/pack2.linked', cmd: :copy, oproject: 'LocalProject', opackage: 'remotepackage' + post '/source/LocalProject/pack2.linked', params: { cmd: :copy, oproject: 'LocalProject', opackage: 'remotepackage' } assert_response :success login_tom # FIXME: submission from a remote project is not yet supported "RemoteInstance:BaseDistro2.0" %w(LocalProject UseRemoteInstance).each do |prj| - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="' + prj + '" package="pack2.linked" rev="1"/> <target project="home:tom" package="pack1"/> @@ -449,20 +448,20 @@ class InterConnectTests < ActionDispatch::IntegrationTest def test_copy_and_diff_package # do copy commands twice to test it with existing target and without login_tom - post '/source/LocalProject/temporary', cmd: :copy, oproject: 'LocalProject', opackage: 'remotepackage' + post '/source/LocalProject/temporary', params: { cmd: :copy, oproject: 'LocalProject', opackage: 'remotepackage' } assert_response :success - post '/source/LocalProject/temporary', cmd: :copy, oproject: 'LocalProject', opackage: 'remotepackage' + post '/source/LocalProject/temporary', params: { cmd: :copy, oproject: 'LocalProject', opackage: 'remotepackage' } assert_response :success delete '/source/LocalProject/temporary' assert_response :success - post '/source/LocalProject/temporary', cmd: :copy, oproject: 'UseRemoteInstance', opackage: 'pack2.linked' + post '/source/LocalProject/temporary', params: { cmd: :copy, oproject: 'UseRemoteInstance', opackage: 'pack2.linked' } assert_response :success - post '/source/LocalProject/temporary', cmd: :copy, oproject: 'RemoteInstance:BaseDistro', opackage: 'pack1' + post '/source/LocalProject/temporary', params: { cmd: :copy, oproject: 'RemoteInstance:BaseDistro', opackage: 'pack1' } assert_response :success - post '/source/LocalProject/temporary', cmd: :diff, oproject: 'LocalProject', opackage: 'remotepackage' + post '/source/LocalProject/temporary', params: { cmd: :diff, oproject: 'LocalProject', opackage: 'remotepackage' } assert_response :success - post '/source/LocalProject/temporary', cmd: :diff, oproject: 'UseRemoteInstance', opackage: 'pack2.linked' + post '/source/LocalProject/temporary', params: { cmd: :diff, oproject: 'UseRemoteInstance', opackage: 'pack2.linked' } assert_response :success login_king @@ -479,7 +478,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest Suse::Backend.put( '/source/LocalProject/newpackage/_meta?user=king', Package.find_by_project_and_name('LocalProject', 'newpackage').to_axml) Suse::Backend.put( '/source/LocalProject/newpackage/new_file?user=king', 'adding stuff') - post '/source/LocalProject/newpackage', cmd: :diff, oproject: 'RemoteInstance:BaseDistro', opackage: 'pack1' + post '/source/LocalProject/newpackage', params: { cmd: :diff, oproject: 'RemoteInstance:BaseDistro', opackage: 'pack1' } assert_response :success end @@ -540,20 +539,20 @@ class InterConnectTests < ActionDispatch::IntegrationTest p = '<project name="home:tom:remote"> <title/> <description/> <remoteurl>http://localhost</remoteurl> </project>' login_tom - put '/source/home:tom:remote/_meta', p + put '/source/home:tom:remote/_meta', params: p assert_response 403 login_king - put '/source/home:tom:remote/_meta', p + put '/source/home:tom:remote/_meta', params: p assert_response :success p = '<project name="home:tom:remote"> <title/> <description/> <remoteurl>http://localhost2</remoteurl> </project>' - put '/source/home:tom:remote/_meta', p + put '/source/home:tom:remote/_meta', params: p assert_response :success get '/source/home:tom:remote/_meta' assert_response :success assert_xml_tag tag: 'remoteurl', content: 'http://localhost2' p = '<project name="home:tom:remote"> <title/> <description/> </project>' - put '/source/home:tom:remote/_meta', p + put '/source/home:tom:remote/_meta', params: p assert_response :success # cleanup @@ -582,9 +581,9 @@ class InterConnectTests < ActionDispatch::IntegrationTest def test_remove_broken_link login_Iggy - put '/source/home:Iggy/TestLinkPack/_meta', "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" + put '/source/home:Iggy/TestLinkPack/_meta', params: "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" assert_response :success - put '/source/home:Iggy/TestLinkPack/_link', "<link project='RemoteInstance:home:Iggy' package='TestPack' rev='invalid' />" + put '/source/home:Iggy/TestLinkPack/_link', params: "<link project='RemoteInstance:home:Iggy' package='TestPack' rev='invalid' />" assert_response :success get '/source/home:Iggy/TestLinkPack' assert_response :success @@ -602,8 +601,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest def test_submit_from_remote login_Iggy - post '/request?cmd=create', - "<request><action type='submit'><source project='RemoteInstance:home:Iggy' package='TestPack'/> + post '/request?cmd=create', params: "<request><action type='submit'><source project='RemoteInstance:home:Iggy' package='TestPack'/> <target project='home:Iggy' package='TEMPORARY'/></action></request>" assert_response :success id = Xmlhash.parse(@response.body)['id'] @@ -616,8 +614,7 @@ class InterConnectTests < ActionDispatch::IntegrationTest assert_response :success # cleanup option can not work, do not allow to create requests - post '/request?cmd=create', - "<request><action type='submit'><source project='RemoteInstance:home:Iggy' package='TestPack'/> + post '/request?cmd=create', params: "<request><action type='submit'><source project='RemoteInstance:home:Iggy' package='TestPack'/> <target project='home:Iggy' package='TEMPORARY'/> <options><sourceupdate>cleanup</sourceupdate></options></action></request>" assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'not_supported' } diff --git a/src/api/test/functional/issue_controller_test.rb b/src/api/test/functional/issue_controller_test.rb index 89bc8d049..e6f1a22eb 100644 --- a/src/api/test/functional/issue_controller_test.rb +++ b/src/api/test/functional/issue_controller_test.rb @@ -57,57 +57,57 @@ class IssueControllerTest < ActionDispatch::IntegrationTest end def test_search_issues - get "/search/package/id", match: 'issue/@name="123456"' + get "/search/package/id", params: { match: 'issue/@name="123456"' } assert_response 401 - get "/search/package/id", match: 'issue/@tracker="bnc"' + get "/search/package/id", params: { match: 'issue/@tracker="bnc"' } assert_response 401 - get "/search/package/id", match: 'issue/[@name="123456" and @tracker="bnc"]' + get "/search/package/id", params: { match: 'issue/[@name="123456" and @tracker="bnc"]' } assert_response 401 - get "/search/package/id", match: 'issue/owner/@login="fred"' + get "/search/package/id", params: { match: 'issue/owner/@login="fred"' } assert_response 401 - get "/search/package/id", match: 'issue/@state="RESOLVED"' + get "/search/package/id", params: { match: 'issue/@state="RESOLVED"' } assert_response 401 # search via bug owner login_Iggy # running patchinfo search as done by webui - get "/search/package/id", match: '[issue/[@state="CLOSED" and owner/@login="fred"] and kind="patchinfo"]' + get "/search/package/id", params: { match: '[issue/[@state="CLOSED" and owner/@login="fred"] and kind="patchinfo"]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } - get "/search/package/id", match: '[issue/[@state="OPEN" and owner/@login="king"] and kind="patchinfo"]' + get "/search/package/id", params: { match: '[issue/[@state="OPEN" and owner/@login="king"] and kind="patchinfo"]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } # validate that state and login are from same issue. NOT matching: - get "/search/package/id", match: '[issue/[@state="CLOSED" and owner/@login="king"] and kind="patchinfo"]' + get "/search/package/id", params: { match: '[issue/[@state="CLOSED" and owner/@login="king"] and kind="patchinfo"]' } assert_response :success assert_no_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } - get "/search/package/id", match: 'issue/owner/@login="fred"' + get "/search/package/id", params: { match: 'issue/owner/@login="fred"' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } # search for specific issue state, issue is in RESOLVED state actually - get "/search/package/id", match: 'issue/@state="OPEN"' + get "/search/package/id", params: { match: 'issue/@state="OPEN"' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } # running patchinfo search as done by webui - get "/search/package/id", match: '[kind="patchinfo" and issue/[@state="CLOSED" and owner/@login="fred"]]' + get "/search/package/id", params: { match: '[kind="patchinfo" and issue/[@state="CLOSED" and owner/@login="fred"]]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } # test with not matching kind to verify that it does not match - get "/search/package/id", match: '[issue/[@state="CLOSED" and owner/@login="fred"] and kind="aggregate"]' + get "/search/package/id", params: { match: '[issue/[@state="CLOSED" and owner/@login="fred"] and kind="aggregate"]' } assert_response :success assert_no_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } # search via bug issue id - get "/search/package/id", match: '[issue/[@name="123456" and @tracker="bnc"]]' + get "/search/package/id", params: { match: '[issue/[@name="123456" and @tracker="bnc"]]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } - get "/search/package/id", match: '[issue/[@tracker="bnc" and @name="123456"]]' # SQL keeps working + get "/search/package/id", params: { match: '[issue/[@tracker="bnc" and @name="123456"]]' } # SQL keeps working assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'BaseDistro', name: 'patchinfo' } end @@ -122,20 +122,18 @@ Blubber bnc#15\n " login_Iggy - post "/source/BaseDistro/pack1", cmd: "branch", target_project: "home:Iggy:branches:BaseDistro" + post "/source/BaseDistro/pack1", params: { cmd: "branch", target_project: "home:Iggy:branches:BaseDistro" } assert_response :success - put "/source/home:Iggy:branches:BaseDistro/pack1/file.changes", changes + put "/source/home:Iggy:branches:BaseDistro/pack1/file.changes", params: changes assert_response :success - post "/source/home:Iggy:branches:BaseDistro/pack1", - cmd: "branch", target_project: "home:Iggy:branches:BaseDistro", - target_package: "pack_new" + post "/source/home:Iggy:branches:BaseDistro/pack1", params: { cmd: "branch", target_project: "home:Iggy:branches:BaseDistro", target_package: "pack_new" } assert_response :success changes += "-------------------------------------------------------------------\n Aha bnc#123456\n " changes.gsub!(/Blubber/, 'Blabber') # leads to changed changes.gsub!(/bnc#14/, '') # leads to removed - put "/source/home:Iggy:branches:BaseDistro/pack_new/file.changes", changes + put "/source/home:Iggy:branches:BaseDistro/pack_new/file.changes", params: changes assert_response :success # add some more via attribute @@ -143,7 +141,7 @@ Aha bnc#123456\n <issue name='987' tracker='bnc'/> <issue name='654' tracker='bnc'/> </attribute></attributes>" - post "/source/home:Iggy:branches:BaseDistro/pack_new/_attribute", data + post "/source/home:Iggy:branches:BaseDistro/pack_new/_attribute", params: data assert_response :success get "/source/home:Iggy:branches:BaseDistro/pack1?view=issues" @@ -212,23 +210,23 @@ Aha bnc#123456\n assert_response :success assert_xml_tag parent: { tag: 'issue', attributes: {change: 'added'}}, tag: 'name', content: "123456" - get "/search/package/id", match: '[issue/[@name="123456" and @tracker="bnc" and @change="added"]]' + get "/search/package/id", params: { match: '[issue/[@name="123456" and @tracker="bnc" and @change="added"]]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'home:Iggy:branches:BaseDistro', name: 'pack_new' } - get "/search/package/id", match: '[issue/[@name="123456" and @tracker="bnc" and (@change="added" or @change="changed")]]' + get "/search/package/id", params: { match: '[issue/[@name="123456" and @tracker="bnc" and (@change="added" or @change="changed")]]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'home:Iggy:branches:BaseDistro', name: 'pack_new' } - get "/search/package/id", match: '[issue/[@name="123456" and @tracker="bnc" and @change="kept"]]' + get "/search/package/id", params: { match: '[issue/[@name="123456" and @tracker="bnc" and @change="kept"]]' } assert_response :success assert_no_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'home:Iggy:branches:BaseDistro', name: 'pack_new' } # search for attribute issues - get "/search/package/id", match: '[attribute_issue/[@name="987" and @tracker="bnc"]]' + get "/search/package/id", params: { match: '[attribute_issue/[@name="987" and @tracker="bnc"]]' } assert_response :success assert_xml_tag parent: { tag: "collection" }, tag: "package", attributes: { project: 'home:Iggy:branches:BaseDistro', name: 'pack_new' } @@ -248,19 +246,18 @@ Blubber bnc#15\n " login_Iggy - post "/source/BaseDistro/pack1", cmd: "branch", target_project: "home:Iggy:branches:BaseDistro" + post "/source/BaseDistro/pack1", params: { cmd: "branch", target_project: "home:Iggy:branches:BaseDistro" } assert_response :success - put "/source/home:Iggy:branches:BaseDistro/pack1/file.changes", changes + put "/source/home:Iggy:branches:BaseDistro/pack1/file.changes", params: changes assert_response :success - post "/source/home:Iggy:branches:BaseDistro/pack1", - cmd: "branch", target_project: "home:Iggy:branches:BaseDistro", target_package: "pack_new" + post "/source/home:Iggy:branches:BaseDistro/pack1", params: { cmd: "branch", target_project: "home:Iggy:branches:BaseDistro", target_package: "pack_new" } assert_response :success changes += "-------------------------------------------------------------------\n Aha bnc#123456\n " changes.gsub!(/Blubber/, 'Blabber') # leads to changed changes.gsub!(/bnc#14/, '') # leads to removed - put "/source/home:Iggy:branches:BaseDistro/pack_new/file.changes?rev=repository", changes + put "/source/home:Iggy:branches:BaseDistro/pack_new/file.changes?rev=repository", params: changes assert_response :success raw_post "/source/home:Iggy:branches:BaseDistro/pack_new?cmd=commitfilelist&keeplink=1", ' <directory> <entry name="file.changes" md5="' + Digest::MD5.hexdigest(changes) + '" /> </directory> ' @@ -290,11 +287,11 @@ Blubber bnc#15\n " login_Iggy - post "/source/BaseDistro/new_package", cmd: "branch", missingok: 1, target_project: "home:Iggy:branches:BaseDistro" + post "/source/BaseDistro/new_package", params: { cmd: "branch", missingok: 1, target_project: "home:Iggy:branches:BaseDistro" } assert_response :success - put "/source/home:Iggy:branches:BaseDistro/new_package/file.changes", changes + put "/source/home:Iggy:branches:BaseDistro/new_package/file.changes", params: changes assert_response :success - put "/source/home:Iggy:branches:BaseDistro/new_package/file.changes?rev=repository", changes + put "/source/home:Iggy:branches:BaseDistro/new_package/file.changes?rev=repository", params: changes assert_response :success raw_post "/source/home:Iggy:branches:BaseDistro/new_package?cmd=commitfilelist&keeplink=1", ' <directory> <entry name="file.changes" md5="' + Digest::MD5.hexdigest(changes) + '" /> </directory> ' @@ -320,7 +317,7 @@ Blah FATE#14\n Blubber Fate#15\n " login_Iggy - put "/source/home:Iggy/TestPack/file.changes", changes + put "/source/home:Iggy/TestPack/file.changes", params: changes assert_response :success get "/source/home:Iggy/TestPack?view=issues" diff --git a/src/api/test/functional/issue_trackers_controller_test.rb b/src/api/test/functional/issue_trackers_controller_test.rb index 48d73db7a..70d74ef9c 100644 --- a/src/api/test/functional/issue_trackers_controller_test.rb +++ b/src/api/test/functional/issue_trackers_controller_test.rb @@ -29,13 +29,13 @@ class IssueTrackersControllerTest < ActionDispatch::IntegrationTest <show-url>http://example.com/@@@</show-url> </issue-tracker> EOF - post '/issue_trackers', issue_tracker_xml + post '/issue_trackers', params: issue_tracker_xml assert_response 401 login_adrian - post '/issue_trackers', issue_tracker_xml + post '/issue_trackers', params: issue_tracker_xml assert_response 403 login_king - post '/issue_trackers', issue_tracker_xml + post '/issue_trackers', params: issue_tracker_xml assert_response :success # Show the newly created issue tracker @@ -69,10 +69,10 @@ class IssueTrackersControllerTest < ActionDispatch::IntegrationTest </issue-tracker> EOF login_adrian - put '/issue_trackers/test', issue_tracker_xml + put '/issue_trackers/test', params: issue_tracker_xml assert_response 403 login_king - put '/issue_trackers/test', issue_tracker_xml + put '/issue_trackers/test', params: issue_tracker_xml assert_response :success get '/issue_trackers/test' assert_response :success diff --git a/src/api/test/functional/kgraft_maintenance_test.rb b/src/api/test/functional/kgraft_maintenance_test.rb index b146c7730..0f212efd0 100644 --- a/src/api/test/functional/kgraft_maintenance_test.rb +++ b/src/api/test/functional/kgraft_maintenance_test.rb @@ -52,11 +52,10 @@ class MaintenanceTests < ActionDispatch::IntegrationTest Timecop.freeze(1) # setup a maintained distro - post '/source/BaseDistro2.0/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro2.0/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success Timecop.freeze(1) - post '/source/BaseDistro2.0/_attribute', - "<attributes><attribute namespace='OBS' name='UpdateProject' > <value>BaseDistro2.0:LinkedUpdateProject</value> </attribute> </attributes>" + post '/source/BaseDistro2.0/_attribute', params: "<attributes><attribute namespace='OBS' name='UpdateProject' > <value>BaseDistro2.0:LinkedUpdateProject</value> </attribute> </attributes>" assert_response :success # lock GM distro to be sure that nothing can be released to @@ -66,12 +65,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest doc = REXML::Document.new(@response.body) doc.elements['/project'].add_element 'lock' doc.elements['/project/lock'].add_element 'enable' - put '/source/BaseDistro2.0/_meta', doc.to_s + put '/source/BaseDistro2.0/_meta', params: doc.to_s assert_response :success # create maintenance incident for first kernel update Timecop.freeze(1) - post '/source', cmd: 'createmaintenanceincident' + post '/source', params: { cmd: 'createmaintenanceincident' } assert_response :success assert_xml_tag( tag: 'data', attributes: { name: 'targetproject' } ) data = REXML::Document.new(@response.body) @@ -79,29 +78,27 @@ class MaintenanceTests < ActionDispatch::IntegrationTest kernelIncidentID = kernelIncidentProject.gsub( /^My:Maintenance:/, '') # submit packages via mbranch Timecop.freeze(1) - post '/source', cmd: 'branch', package: 'pack2', target_project: kernelIncidentProject, add_repositories: 1 + post '/source', params: { cmd: 'branch', package: 'pack2', target_project: kernelIncidentProject, add_repositories: 1 } assert_response :success get "/source/#{kernelIncidentProject}/_meta" assert_response :success # add empty kgraft container - put "/source/BaseDistro2.0:LinkedUpdateProject/kgraft-incident-#{kernelIncidentID}/_meta", - "<package name='kgraft-incident-#{kernelIncidentID}' project='BaseDistro2.0:LinkedUpdateProject'><title/><description/></package>" + put "/source/BaseDistro2.0:LinkedUpdateProject/kgraft-incident-#{kernelIncidentID}/_meta", params: "<package name='kgraft-incident-#{kernelIncidentID}' project='BaseDistro2.0:LinkedUpdateProject'><title/><description/></package>" assert_response :success - post "/source/BaseDistro2.0:LinkedUpdateProject/kgraft-incident-#{kernelIncidentID}", - cmd: 'branch', target_project: kernelIncidentProject + post "/source/BaseDistro2.0:LinkedUpdateProject/kgraft-incident-#{kernelIncidentID}", params: { cmd: 'branch', target_project: kernelIncidentProject } assert_response :success # create a GA update patch Timecop.freeze(1) - post '/source/BaseDistro2.0/kgraft-GA', cmd: 'branch', missingok: 1, extend_package_names: 1, add_repositories: 1, ignoredevel: 1 + post '/source/BaseDistro2.0/kgraft-GA', params: { cmd: 'branch', missingok: 1, extend_package_names: 1, add_repositories: 1, ignoredevel: 1 } assert_response :success raw_put "/source/home:king:branches:BaseDistro2.0/kgraft-GA.BaseDistro2.0/package.spec", File.open("#{Rails.root}/test/fixtures/backend/binary/package.spec").read assert_response :success # add channel - put '/source/BaseDistro2Channel/_meta', '<project name="BaseDistro2Channel"><title/><description/> + put '/source/BaseDistro2Channel/_meta', params: '<project name="BaseDistro2Channel"><title/><description/> <build><disable/></build> <publish><enable/></publish> <repository name="channel_repo"> @@ -110,17 +107,17 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </repository> </project>' assert_response :success - put '/source/BaseDistro2Channel/_config', "Repotype: rpm-md-legacy\nType: spec" + put '/source/BaseDistro2Channel/_config', params: "Repotype: rpm-md-legacy\nType: spec" assert_response :success # channel def - put '/source/Channel/_meta', '<project name="Channel"><title/><description/> + put '/source/Channel/_meta', params: '<project name="Channel"><title/><description/> </project>' assert_response :success - put '/source/Channel/BaseDistro2/_meta', '<package project="Channel" name="BaseDistro2"><title/><description/></package>' + put '/source/Channel/BaseDistro2/_meta', params: '<package project="Channel" name="BaseDistro2"><title/><description/></package>' assert_response :success # rubocop:disable Metrics/LineLength # add reference to empty kgraft container - post '/source/Channel/BaseDistro2?cmd=importchannel', "<?xml version='1.0' encoding='UTF-8'?> + post '/source/Channel/BaseDistro2?cmd=importchannel', params: "<?xml version='1.0' encoding='UTF-8'?> <channel> <target project='BaseDistro2Channel' repository='channel_repo'> <disabled/> @@ -136,18 +133,16 @@ class MaintenanceTests < ActionDispatch::IntegrationTest ### Here starts the kgraft team # create a update patch based on former kernel incident Timecop.freeze(1) - post '/source/' + kernelIncidentProject + '/kgraft-incident-' + kernelIncidentID, - cmd: 'branch', target_project: "home:king:branches:BaseDistro2.0", - maintenance: 1 + post '/source/' + kernelIncidentProject + '/kgraft-incident-' + kernelIncidentID, params: { cmd: 'branch', target_project: "home:king:branches:BaseDistro2.0", maintenance: 1 } assert_response :success raw_put "/source/home:king:branches:BaseDistro2.0/kgraft-incident-0.#{kernelIncidentProject.tr( ':', '_')}/packageNew.spec", File.open("#{Rails.root}/test/fixtures/backend/binary/packageNew.spec").read assert_response :success # branch channel - post '/source/Channel/BaseDistro2', cmd: 'branch', target_project: "home:king:branches:BaseDistro2.0", extend_package_names: 1, add_repositories: 1 + post '/source/Channel/BaseDistro2', params: { cmd: 'branch', target_project: "home:king:branches:BaseDistro2.0", extend_package_names: 1, add_repositories: 1 } assert_response :success - put "/source/home:king:branches:BaseDistro2.0/BaseDistro2.Channel/_channel", "<?xml version='1.0' encoding='UTF-8'?> + put "/source/home:king:branches:BaseDistro2.0/BaseDistro2.Channel/_channel", params: "<?xml version='1.0' encoding='UTF-8'?> <channel> <target project='BaseDistro2Channel' repository='channel_repo'> <disabled/> @@ -164,7 +159,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # make the kgraft update an incident via maintenance_incident request - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="home:king:branches:BaseDistro2.0" /> <target project="My:Maintenance" releaseproject="BaseDistro2.0:LinkedUpdateProject" /> @@ -212,7 +207,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_no_xml_tag tag: "repository", attributes: { name: "BaseDistro2Channel" } # add disabled target repo - post "/source/#{incidentProject}?cmd=modifychannels&mode=enable_all", nil + post "/source/#{incidentProject}?cmd=modifychannels&mode=enable_all" assert_response :success get "/source/" + incidentProject + "/_meta" assert_response :success @@ -259,7 +254,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest pi.find_first('description').text = 'live patch is always critical' pi.find_first('rating').text = 'critical' Timecop.freeze(1) - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success ### the backend is now building the packages, injecting results @@ -299,7 +294,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest doc = REXML::Document.new(@response.body) doc.elements['/project'].add_element 'lock' doc.elements['/project/lock'].add_element 'enable' - put '/source/' + kernelIncidentProject + '/_meta', doc.to_s + put '/source/' + kernelIncidentProject + '/_meta', params: doc.to_s assert_response :success # collect the job results @@ -322,7 +317,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # # create release request - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -394,7 +389,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_equal false, node.has_attribute?(:rev) # old one still branchable even though conflicting change has been released? - post '/source', cmd: 'branch', package: 'pack2', add_repositories: 1 + post '/source', params: { cmd: 'branch', package: 'pack2', add_repositories: 1 } assert_response :success delete "/source/home:king:branches:OBS_Maintained:pack2" assert_response :success @@ -410,11 +405,11 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success delete '/source/BaseDistro2.0:LinkedUpdateProject/patchinfo.1' assert_response :success - post "/source/BaseDistro2.0", { cmd: 'unlock', comment: 'revert' } + post "/source/BaseDistro2.0", params: { cmd: 'unlock', comment: 'revert' } assert_response :success - post "/source/#{kernelIncidentProject}", { cmd: 'unlock', comment: 'revert' } + post "/source/#{kernelIncidentProject}", params: { cmd: 'unlock', comment: 'revert' } assert_response :success - post "/source/#{incidentProject}", { cmd: 'unlock', comment: 'cleanup' } + post "/source/#{incidentProject}", params: { cmd: 'unlock', comment: 'cleanup' } assert_response :success delete "/source/#{incidentProject}" assert_response :success diff --git a/src/api/test/functional/maintenance_test.rb b/src/api/test/functional/maintenance_test.rb index dbc46eb0a..f62cb0783 100644 --- a/src/api/test/functional/maintenance_test.rb +++ b/src/api/test/functional/maintenance_test.rb @@ -20,19 +20,18 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_instantiate_for_service_packs login_tom # add a new package with defined link target - put '/source/home:tom:BaseDistro:SP1/_meta', - '<project name="home:tom:BaseDistro:SP1" kind="maintenance_release"> + put '/source/home:tom:BaseDistro:SP1/_meta', params: '<project name="home:tom:BaseDistro:SP1" kind="maintenance_release"> <title/> <description/> <link project="BaseDistro:Update"/> </project>' assert_response :success - post '/source/home:tom:BaseDistro:SP1/pack1', cmd: 'branch', target_project: 'home:tom:Branch', missingok: 1 + post '/source/home:tom:BaseDistro:SP1/pack1', params: { cmd: 'branch', target_project: 'home:tom:Branch', missingok: 1 } assert_response 400 # osc catches this error code and is fallingback to newinstance=1 assert_xml_tag tag: 'status', attributes: {code: "not_missing"} - post '/source/home:tom:BaseDistro:SP1/pack1', cmd: 'branch', target_project: 'home:tom:Branch', newinstance: 1, extend_package_names: 1 + post '/source/home:tom:BaseDistro:SP1/pack1', params: { cmd: 'branch', target_project: 'home:tom:Branch', newinstance: 1, extend_package_names: 1 } assert_response :success assert_xml_tag tag: 'data', attributes: {name: "sourceproject"}, content: "home:tom:BaseDistro:SP1" @@ -40,7 +39,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag tag: 'link', attributes: {project: "home:tom:BaseDistro:SP1"} - post '/source/BaseDistro:Update/pack1', cmd: 'branch', target_project: 'home:tom:Branch', missingok: 1, extend_package_names: 1 + post '/source/BaseDistro:Update/pack1', params: { cmd: 'branch', target_project: 'home:tom:Branch', missingok: 1, extend_package_names: 1 } assert_response 400 assert_xml_tag tag: 'status', attributes: {code: "not_missing"} @@ -53,26 +52,26 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_create_maintenance_project login_tom - put '/source/home:tom:maintenance/_meta', '<project name="home:tom:maintenance" > <title/> <description/> </project>' + put '/source/home:tom:maintenance/_meta', params: '<project name="home:tom:maintenance" > <title/> <description/> </project>' assert_response :success - put '/source/home:tom:maintenance/_meta', '<project name="home:tom:maintenance" kind="maintenance" > <title/> <description/> </project>' + put '/source/home:tom:maintenance/_meta', params: '<project name="home:tom:maintenance" kind="maintenance" > <title/> <description/> </project>' assert_response :success delete '/source/home:tom:maintenance' assert_response :success # need write permission in maintained project... - put '/source/home:tom:maintenance/_meta', '<project name="home:tom:maintenance" kind="maintenance" > <title/> <description/> <maintenance><maintains project="BaseDistro"/></maintenance> </project>' + put '/source/home:tom:maintenance/_meta', params: '<project name="home:tom:maintenance" kind="maintenance" > <title/> <description/> <maintenance><maintains project="BaseDistro"/></maintenance> </project>' assert_response 403 assert_xml_tag tag: 'summary', content: "No write access to maintained project BaseDistro" # create one ... - put '/source/home:tom:maintenance/_meta', '<project name="home:tom:maintenance" kind="maintenance" > <title/> <description/> <maintenance><maintains project="home:tom"/></maintenance> </project>' + put '/source/home:tom:maintenance/_meta', params: '<project name="home:tom:maintenance" kind="maintenance" > <title/> <description/> <maintenance><maintains project="home:tom"/></maintenance> </project>' assert_response :success get '/source/home:tom:maintenance/_meta' assert_response :success assert_xml_tag tag: 'maintains', attributes: { project: 'home:tom' } - get '/search/project', match: '[maintenance/maintains/@project="home:tom"]' + get '/search/project', params: { match: '[maintenance/maintains/@project="home:tom"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } assert_xml_tag tag: 'maintains', attributes: { project: 'home:tom' } @@ -82,7 +81,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # search does not find a maintained project anymore - get '/search/project', match: '[maintenance/maintains/@project="home:tom"]' + get '/search/project', params: { match: '[maintenance/maintains/@project="home:tom"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 0 } end @@ -100,7 +99,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest login_tom # branch a package which does not exist in update project via project link - post '/source/BaseDistro/pack1', cmd: :branch + post '/source/BaseDistro/pack1', params: { cmd: :branch } assert_response :success # check source link get '/source/home:tom:branches:BaseDistro:Update/pack1/_link' @@ -108,7 +107,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_project 'BaseDistro:Update' # branch a package which does exist in update project and even have a devel package defined there - post '/source/BaseDistro/pack2', cmd: :branch + post '/source/BaseDistro/pack2', params: { cmd: :branch } assert_response :success # check source link get '/source/home:tom:branches:Devel:BaseDistro:Update/pack2/_link' @@ -116,7 +115,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_project 'Devel:BaseDistro:Update' # branch a package which does exist in update project and a stage project is defined via project wide devel project - post '/source/BaseDistro/Pack3', cmd: :branch + post '/source/BaseDistro/Pack3', params: { cmd: :branch } assert_response :success # check source link get '/source/home:tom:branches:Devel:BaseDistro:Update/Pack3/_link' @@ -124,7 +123,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_project 'Devel:BaseDistro:Update' # branch a package which does not exist in update project, but update project is linked - post '/source/BaseDistro2.0/pack2', cmd: :branch + post '/source/BaseDistro2.0/pack2', params: { cmd: :branch } assert_response :success # check source link get '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/_link' @@ -134,7 +133,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_nil ret['package'] # check if we can upload a link to a packge only exist via project link - put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/_link', @response.body + put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/_link', params: @response.body assert_response :success # cleanup @@ -150,7 +149,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_branch_package_with_local_link login_tom - post '/source/BaseDistro2.0/pack2', cmd: :branch, ignoredevel: 1 + post '/source/BaseDistro2.0/pack2', params: { cmd: :branch, ignoredevel: 1 } assert_response :success get '/source/home:tom:branches:BaseDistro2.0/pack2/_meta' @@ -163,7 +162,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # and trying with extended package names delete '/source/home:tom:branches:BaseDistro2.0' assert_response :success - post '/source/BaseDistro2.0/pack2', cmd: :branch, ignoredevel: 1, maintenance: 1 + post '/source/BaseDistro2.0/pack2', params: { cmd: :branch, ignoredevel: 1, maintenance: 1 } assert_response :success get '/source/home:tom:branches:BaseDistro2.0/pack2.BaseDistro2.0/_meta' @@ -181,14 +180,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_maintenance_request_from_foreign_and_remote_project login_king # special kdelibs - put '/source/BaseDistro2.0:LinkedUpdateProject/kdelibs/_meta', "<package name='kdelibs'><title/><description/></package>" + put '/source/BaseDistro2.0:LinkedUpdateProject/kdelibs/_meta', params: "<package name='kdelibs'><title/><description/></package>" assert_response :success - put '/source/BaseDistro2.0:LinkedUpdateProject/kdelibs/empty', 'NOOP' + put '/source/BaseDistro2.0:LinkedUpdateProject/kdelibs/empty', params: 'NOOP' assert_response :success login_tom # create maintenance request for one package from a unrelated project - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="RemoteInstance:kde4" package="kdelibs" /> </action> @@ -197,7 +196,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </request>' assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: "remote_source" }) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="kde4" package="kdelibs" /> <target project="My:Maintenance" releaseproject="BaseDistro2.0:LinkedUpdateProject" /> @@ -206,7 +205,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest <state name="new" /> </request>' assert_response :success - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="RemoteInstance:kde4" package="kdelibs" /> <target project="My:Maintenance" releaseproject="BaseDistro2.0:LinkedUpdateProject" /> @@ -222,12 +221,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # modify source afterwards, must not appear in target after accept login_king - put "/source/kde4/kdelibs/TEMP_FILE", "dummy" + put "/source/kde4/kdelibs/TEMP_FILE", params: "dummy" assert_response :success login_tom # validate that request is diffable (not broken) - post "/request/#{id1}?cmd=diff&view=xml", nil + post "/request/#{id1}?cmd=diff&view=xml" assert_response :success # the diffed packages assert_xml_tag( tag: 'old', attributes: { project: 'BaseDistro2.0:LinkedUpdateProject', package: 'kdelibs' } ) @@ -264,9 +263,9 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # again but find update project automatically and use a linked package login_tom - post '/source/kde4/kdelibs', cmd: :branch, ignoredevel: 1 + post '/source/kde4/kdelibs', params: { cmd: :branch, ignoredevel: 1 } assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:kde4" package="kdelibs" /> <target project="My:Maintenance" releaseproject="BaseDistro2.0" /> @@ -285,7 +284,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest id2 = node.value(:id) # validate that request is diffable (not broken) - post "/request/#{id2}?cmd=diff&view=xml", nil + post "/request/#{id2}?cmd=diff&view=xml" assert_response :success # the diffed packages assert_xml_tag( tag: 'old', attributes: { project: 'BaseDistro2.0:LinkedUpdateProject', package: 'kdelibs' } ) @@ -311,7 +310,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # package and acceptinfo got added assert_xml_tag( tag: 'target', attributes: { package: 'kdelibs.BaseDistro2.0_LinkedUpdateProject' } ) assert_xml_tag( tag: 'acceptinfo' ) - post "/request/#{id2}?cmd=diff&view=xml", nil + post "/request/#{id2}?cmd=diff&view=xml" assert_response :success # project got cleaned up get "/source/home:tom:branches:kde4" @@ -352,15 +351,15 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_OBS_BranchTarget login_king - put '/source/ServicePack/_meta', "<project name='ServicePack'><title/><description/><link project='kde4'/></project>" + put '/source/ServicePack/_meta', params: "<project name='ServicePack'><title/><description/><link project='kde4'/></project>" assert_response :success - post '/source/ServicePack/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/ServicePack/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success - post '/source/ServicePack/_attribute', "<attributes><attribute namespace='OBS' name='BranchTarget' /></attributes>" + post '/source/ServicePack/_attribute', params: "<attributes><attribute namespace='OBS' name='BranchTarget' /></attributes>" assert_response :success login_tom - post '/source', cmd: 'branch', package: 'kdelibs' + post '/source', params: { cmd: 'branch', package: 'kdelibs' } assert_response :success assert_xml_tag tag: 'data', attributes: { name: 'targetproject' }, content: 'home:tom:branches:OBS_Maintained:kdelibs' assert_xml_tag tag: 'data', attributes: { name: 'targetpackage' }, content: 'kdelibs.kde4' @@ -377,12 +376,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_branch_from_service_pack_WIP login_king - put '/source/ServicePack/_meta', "<project name='ServicePack'><title/><description/><link project='BaseDistro'/></project>" + put '/source/ServicePack/_meta', params: "<project name='ServicePack'><title/><description/><link project='BaseDistro'/></project>" assert_response :success # attribute setup - post '/source/BaseDistro/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success - post '/source/ServicePack/_attribute', "<attributes> + post '/source/ServicePack/_attribute', params: "<attributes> <attribute namespace='OBS' name='Maintained' /> </attributes>" assert_response :success @@ -393,7 +392,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag tag: 'package', attributes: { project: 'BaseDistro:Update', name: 'pack2' } - post '/source/ServicePack/pack2', cmd: 'branch' + post '/source/ServicePack/pack2', params: { cmd: 'branch' } assert_response :success # default case, work on devel package base @@ -402,7 +401,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'link', attributes: { project: 'Devel:BaseDistro:Update' } # new instance of a package wanted. so we need to link to ServicePack and copy sources from devel - post '/source/ServicePack/pack2', cmd: 'branch', newinstance: 1 + post '/source/ServicePack/pack2', params: { cmd: 'branch', newinstance: 1 } assert_response :success get '/source/home:king:branches:ServicePack/pack2/_link' assert_response :success @@ -424,19 +423,19 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_instantiate_new_package_with_local_link_in_service_pack login_king - put '/source/ServicePack/_meta', "<project name='ServicePack'><title/><description/><link project='BaseDistro2.0'/> <repository name='ServicePack_repo' /></project>" + put '/source/ServicePack/_meta', params: "<project name='ServicePack'><title/><description/><link project='BaseDistro2.0'/> <repository name='ServicePack_repo' /></project>" assert_response :success - put '/source/ServicePack:Update/_meta', "<project name='ServicePack:Update' kind='maintenance_release'><title/><description/><link project='ServicePack'/> + put '/source/ServicePack:Update/_meta', params: "<project name='ServicePack:Update' kind='maintenance_release'><title/><description/><link project='ServicePack'/> <repository name='ServicePackUpdate_repo'><arch>i586</arch></repository></project>" assert_response :success - post '/source/ServicePack/_attribute', "<attributes> + post '/source/ServicePack/_attribute', params: "<attributes> <attribute namespace='OBS' name='UpdateProject'> <value>ServicePack:Update</value> </attribute> </attributes>" assert_response :success - post '/source/ServicePack/pack2', cmd: 'branch' + post '/source/ServicePack/pack2', params: { cmd: 'branch' } assert_response :success get '/source/ServicePack/pack2/package.spec' assert_response :success @@ -444,18 +443,18 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # new instance of a package wanted. so we need to link to ServicePack and copy sources from devel - post '/source', cmd: 'createmaintenanceincident', noaccess: 1 + post '/source', params: { cmd: 'createmaintenanceincident', noaccess: 1 } assert_response :success # use a fixed count using multiple chars to test regexp stripping the counter number from package names MaintenanceIncident.exec_query ["UPDATE incident_counter SET counter = 100 WHERE maintenance_db_project_id = ?", Project.find_by_name("My:Maintenance").id] - post '/source', cmd: 'createmaintenanceincident', noaccess: 1 + post '/source', params: { cmd: 'createmaintenanceincident', noaccess: 1 } assert_response :success assert_xml_tag( tag: 'data', attributes: { name: 'targetproject' } ) data = REXML::Document.new(@response.body) incidentProject = data.elements['/status/data'].text assert_equal "My:Maintenance:100", incidentProject - post '/source/ServicePack:Update/pack2', cmd: 'branch', maintenance: 1, newinstance: 1, target_project: incidentProject + post '/source/ServicePack:Update/pack2', params: { cmd: 'branch', maintenance: 1, newinstance: 1, target_project: incidentProject } assert_response :success get "/source/#{incidentProject}/pack2.ServicePack_Update/_link" @@ -464,12 +463,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest get "/source/#{incidentProject}/pack2.linked.ServicePack_Update/_link" assert_response :success assert_xml_tag tag: 'link', attributes: { project: nil, package: "pack2.ServicePack_Update" } - put "/source/#{incidentProject}/pack2.ServicePack_Update/some_new_file", "content change" + put "/source/#{incidentProject}/pack2.ServicePack_Update/some_new_file", params: "content change" assert_response :success - put "/source/#{incidentProject}/pack2.ServicePack_Update/myfile", "modify existing file" + put "/source/#{incidentProject}/pack2.ServicePack_Update/myfile", params: "modify existing file" assert_response :success - post '/request?cmd=create&ignore_build_state=1', "<request> + post '/request?cmd=create&ignore_build_state=1', params: "<request> <action type='maintenance_release'> <source project='#{incidentProject}' /> </action> @@ -482,7 +481,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert node.has_attribute?(:id) reqid = node.value(:id) # the local linked package delivers not full content - post "/request/#{reqid}?cmd=diff&view=xml", nil + post "/request/#{reqid}?cmd=diff&view=xml" assert_response :success assert_match( /-DummyContent/, @response.body ) assert_match( /\+modify existing file/, @response.body ) @@ -515,12 +514,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_mbranch_and_maintenance_entire_project_request login_king - put '/source/ServicePack/_meta', "<project name='ServicePack'><title/><description/><link project='kde4'/></project>" + put '/source/ServicePack/_meta', params: "<project name='ServicePack'><title/><description/><link project='kde4'/></project>" assert_response :success # test right branching from ServicePack layer login_tom - post '/source/ServicePack/kdelibs', cmd: 'branch', maintenance: 1 + post '/source/ServicePack/kdelibs', params: { cmd: 'branch', maintenance: 1 } assert_response :success delete '/source/home:tom:branches:kde4/kdelibs.kde4' # .kde4 suffix, not .ServicePack assert_response :success @@ -528,14 +527,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # setup maintained attributes prepare_request_with_user 'maintenance_coord', 'buildservice' # an entire project - post '/source/BaseDistro/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success # single packages - post '/source/BaseDistro2.0/pack2/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro2.0/pack2/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success - post '/source/BaseDistro3/pack2/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro3/pack2/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success - post '/source/ServicePack/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/ServicePack/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success # search for maintained packages like osc is doing @@ -546,7 +545,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # do the real mbranch for default maintained packages # test it with "noaccess" login_tom - post '/source', cmd: 'branch', package: 'pack2', noaccess: "1" + post '/source', params: { cmd: 'branch', package: 'pack2', noaccess: "1" } assert_response :success # validate result @@ -575,33 +574,33 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'link', attributes: { package: 'pack2.BaseDistro2.0_LinkedUpdateProject' } # test branching another package set into same project - post '/source', cmd: 'branch', package: 'pack1', target_project: 'home:tom:branches:OBS_Maintained:pack2' + post '/source', params: { cmd: 'branch', package: 'pack1', target_project: 'home:tom:branches:OBS_Maintained:pack2' } assert_response :success get '/source/home:tom:branches:OBS_Maintained:pack2/pack1.BaseDistro_Update' assert_response :success # add a new package with defined link target - post '/source/BaseDistro:Update/packN', cmd: 'branch', target_project: 'home:tom:branches:OBS_Maintained:pack2', missingok: 1, extend_package_names: 1 + post '/source/BaseDistro:Update/packN', params: { cmd: 'branch', target_project: 'home:tom:branches:OBS_Maintained:pack2', missingok: 1, extend_package_names: 1 } assert_response :success get '/source/home:tom:branches:OBS_Maintained:pack2/packN.BaseDistro_Update' assert_response :success # test branching another package set into same project from same project - post '/source', cmd: 'branch', package: 'Pack3', target_project: 'home:tom:branches:OBS_Maintained:pack2' + post '/source', params: { cmd: 'branch', package: 'Pack3', target_project: 'home:tom:branches:OBS_Maintained:pack2' } assert_response :success get '/source/home:tom:branches:OBS_Maintained:pack2/Pack3.BaseDistro_Update' assert_response :success # test branching another package only reachable via project link into same project - post '/source', cmd: 'branch', package: 'kdelibs', target_project: 'home:tom:branches:OBS_Maintained:pack2', noaccess: 1 + post '/source', params: { cmd: 'branch', package: 'kdelibs', target_project: 'home:tom:branches:OBS_Maintained:pack2', noaccess: 1 } assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'create_project_no_permission' } # FIXME: backend has a bug that it destroys the link even with keeplink if opackage has no rev - put '/source/home:coolo:test/kdelibs_DEVEL_package/DUMMY', 'CONTENT' + put '/source/home:coolo:test/kdelibs_DEVEL_package/DUMMY', params: 'CONTENT' assert_response :success # add an issue - put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro_Update/dummy.changes', 'DUMMY bnc#1042' + put '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro_Update/dummy.changes', params: 'DUMMY bnc#1042' assert_response :success get '/source/home:tom:branches:OBS_Maintained:pack2/pack2.BaseDistro_Update?view=issues' assert_response :success @@ -612,7 +611,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest get '/source/home:tom:branches:OBS_Maintained:pack2/_meta' assert_response :success oldmeta = @response.body - post '/source', cmd: 'branch', package: 'kdelibs', target_project: 'home:tom:branches:OBS_Maintained:pack2' + post '/source', params: { cmd: 'branch', package: 'kdelibs', target_project: 'home:tom:branches:OBS_Maintained:pack2' } assert_response :success get '/source/home:tom:branches:OBS_Maintained:pack2/kdelibs.kde4/_link' assert_response :success @@ -621,9 +620,9 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'link', attributes: { project: 'kde4', package: 'kdelibs' } # do some file changes - put '/source/home:tom:branches:OBS_Maintained:pack2/kdelibs.kde4/new_file', 'new_content_0815' + put '/source/home:tom:branches:OBS_Maintained:pack2/kdelibs.kde4/new_file', params: 'new_content_0815' assert_response :success - put '/source/home:tom:branches:OBS_Maintained:pack2/Pack3.BaseDistro_Update/new_file', 'new_content_2137' + put '/source/home:tom:branches:OBS_Maintained:pack2/Pack3.BaseDistro_Update/new_file', params: 'new_content_2137' assert_response :success # validate created project meta @@ -650,7 +649,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: 'build' }, tag: 'enable', attributes: { repository: 'BaseDistro2.0_LinkedUpdateProject' } # and branch same package again and expect error - post '/source', cmd: 'branch', package: 'pack1', target_project: 'home:tom:branches:OBS_Maintained:pack2' + post '/source', params: { cmd: 'branch', package: 'pack1', target_project: 'home:tom:branches:OBS_Maintained:pack2' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'double_branch_package' } assert_match(/branch target package already exists:/, @response.body) @@ -671,12 +670,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # delete kdelibs package again or incident creation will fail since it does not point to a maintained project. delete '/source/home:tom:branches:OBS_Maintained:pack2/kdelibs.kde4' assert_response :success - put '/source/home:tom:branches:OBS_Maintained:pack2/_meta', oldmeta + put '/source/home:tom:branches:OBS_Maintained:pack2/_meta', params: oldmeta assert_response :success # create maintenance request # without specifing target, the default target must get found via attribute - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:OBS_Maintained:pack2" /> <options> @@ -698,7 +697,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_no_xml_tag( tag: 'target', attributes: { releaseproject: 'BaseDistro:LinkedUpdateProject' } ) # validate that request is diffable (not broken) - post "/request/#{id}?cmd=diff&view=xml", nil + post "/request/#{id}?cmd=diff&view=xml" assert_response :success assert_match(/new_content_2137/, @response.body) # check if our changes are part of the diff @@ -715,7 +714,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest prepare_request_with_user 'maintenance_coord', 'buildservice' get "/source/home:tom:branches:OBS_Maintained:pack2/_meta" assert_response 404 # due to noaccess - post "/request/#{id}?cmd=diff&view=xml", nil + post "/request/#{id}?cmd=diff&view=xml" assert_response :success assert_match(/new_content_2137/, @response.body) # check if our changes are part of the diff @@ -788,26 +787,26 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_create_maintenance_incident login_king - put '/source/Temp:Maintenance/_meta', '<project name="Temp:Maintenance" kind="maintenance"> + put '/source/Temp:Maintenance/_meta', params: '<project name="Temp:Maintenance" kind="maintenance"> <title/> <description/> <person userid="maintenance_coord" role="maintainer"/> </project>' assert_response :success reset_auth - post '/source/Temp:Maintenance', cmd: 'createmaintenanceincident' + post '/source/Temp:Maintenance', params: { cmd: 'createmaintenanceincident' } assert_response 401 login_adrian - post '/source/Temp:Maintenance', cmd: 'createmaintenanceincident' + post '/source/Temp:Maintenance', params: { cmd: 'createmaintenanceincident' } assert_response 403 - post '/source/home:adrian', cmd: 'createmaintenanceincident' + post '/source/home:adrian', params: { cmd: 'createmaintenanceincident' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'incident_has_no_maintenance_project' } prepare_request_with_user 'maintenance_coord', 'buildservice' # create a public maintenance incident - post '/source/Temp:Maintenance', cmd: 'createmaintenanceincident' + post '/source/Temp:Maintenance', params: { cmd: 'createmaintenanceincident' } assert_response :success assert_xml_tag( tag: 'data', attributes: { name: 'targetproject' } ) data = REXML::Document.new(@response.body) @@ -821,7 +820,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag( attributes: { role: 'bugowner', userid: 'maintenance_coord' }, tag: 'person', content: nil ) # create a maintenance incident under embargo - post '/source/Temp:Maintenance?cmd=createmaintenanceincident&noaccess=1', nil + post '/source/Temp:Maintenance?cmd=createmaintenanceincident&noaccess=1' assert_response :success assert_xml_tag( tag: 'data', attributes: { name: 'targetproject' } ) data = REXML::Document.new(@response.body) @@ -848,7 +847,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_manual_branch_with_extend_names # submit packages via mbranch login_tom - post '/source/BaseDistro2.0/pack2', cmd: 'branch', target_package: 'DUMMY_package', extend_package_names: '1' + post '/source/BaseDistro2.0/pack2', params: { cmd: 'branch', target_package: 'DUMMY_package', extend_package_names: '1' } assert_response :success assert_xml_tag( tag: 'data', attributes: { name: 'sourceproject' }, content: 'BaseDistro2.0:LinkedUpdateProject') assert_xml_tag( tag: 'data', attributes: { name: 'sourcepackage' }, content: 'pack2') @@ -885,7 +884,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success maintenance_project_meta = REXML::Document.new(@response.body) maintenance_project_meta.elements['/project'].attributes['kind'] = 'maintenance' - put '/source/My:Maintenance/_meta', maintenance_project_meta.to_s + put '/source/My:Maintenance/_meta', params: maintenance_project_meta.to_s assert_response :success prepare_request_with_user 'maintenance_coord', 'buildservice' @@ -894,13 +893,13 @@ class MaintenanceTests < ActionDispatch::IntegrationTest Timecop.freeze(1) # setup a maintained distro - post '/source/BaseDistro2.0/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro2.0/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success Timecop.freeze(1) - post '/source/BaseDistro2.0/_attribute', "<attributes><attribute namespace='OBS' name='UpdateProject' > <value>BaseDistro2.0:LinkedUpdateProject</value> </attribute> </attributes>" + post '/source/BaseDistro2.0/_attribute', params: "<attributes><attribute namespace='OBS' name='UpdateProject' > <value>BaseDistro2.0:LinkedUpdateProject</value> </attribute> </attributes>" assert_response :success Timecop.freeze(1) - post '/source/BaseDistro3/_attribute', "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" + post '/source/BaseDistro3/_attribute', params: "<attributes><attribute namespace='OBS' name='Maintained' /></attributes>" assert_response :success # validate correct :Update project setup @@ -911,7 +910,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # create a maintenance incident Timecop.freeze(1) - post '/source', cmd: 'createmaintenanceincident', noaccess: 1 + post '/source', params: { cmd: 'createmaintenanceincident', noaccess: 1 } assert_response :success assert_xml_tag( tag: 'data', attributes: { name: 'targetproject' } ) data = REXML::Document.new(@response.body) @@ -926,7 +925,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # submit packages via mbranch Timecop.freeze(1) - post '/source', cmd: 'branch', package: 'pack2', target_project: incidentProject + post '/source', params: { cmd: 'branch', package: 'pack2', target_project: incidentProject } assert_response :success # correct branched ? @@ -963,12 +962,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # set an invalid - post "/source/#{incidentProject}/_attribute", "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>INVALID_DATE_STRING</value></attribute></attributes>" + post "/source/#{incidentProject}/_attribute", params: "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>INVALID_DATE_STRING</value></attribute></attributes>" assert_response :success # create some changes, including issue tracker references Timecop.freeze(1) - put '/source/' + incidentProject + '/pack2.BaseDistro2.0_LinkedUpdateProject/dummy.changes', 'DUMMY bnc#1042' + put '/source/' + incidentProject + '/pack2.BaseDistro2.0_LinkedUpdateProject/dummy.changes', params: 'DUMMY bnc#1042' assert_response :success Timecop.freeze(1) post '/source/' + incidentProject + '/pack2.BaseDistro2.0_LinkedUpdateProject?unified=1&cmd=diff&filelimit=0&expand=1' @@ -981,14 +980,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # add a new package with defined link target Timecop.freeze(1) - post '/source/BaseDistro2.0/packNew', cmd: 'branch', target_project: incidentProject, missingok: 1, extend_package_names: 1, add_repositories: 1 + post '/source/BaseDistro2.0/packNew', params: { cmd: 'branch', target_project: incidentProject, missingok: 1, extend_package_names: 1, add_repositories: 1 } assert_response :success Timecop.freeze(1) raw_put "/source/#{incidentProject}/packNew.BaseDistro2.0_LinkedUpdateProject/packageNew.spec", File.open("#{Rails.root}/test/fixtures/backend/binary/packageNew.spec").read assert_response :success # search will find this new and not yet processed incident now. - get '/search/project', match: '[repository/releasetarget/@trigger="maintenance"]' + get '/search/project', params: { match: '[repository/releasetarget/@trigger="maintenance"]' } assert_response :success assert_xml_tag parent: { tag: 'collection' }, tag: 'project', attributes: { name: incidentProject } @@ -1004,7 +1003,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest meta = ActiveXML::Node.new( @response.body ) meta.add_element 'person', { userid: 'adrian', role: 'reader' } Timecop.freeze(1) - put '/source/' + incidentProject + '/_meta', meta.dump_xml + put '/source/' + incidentProject + '/_meta', params: meta.dump_xml assert_response :success get "/source/#{incidentProject}/patchinfo/_patchinfo" assert_response :success @@ -1020,17 +1019,17 @@ class MaintenanceTests < ActionDispatch::IntegrationTest pi.add_element 'releasetarget', { project: 'BaseDistro2.0:LinkedUpdateProject' } pi.add_element 'releasetarget', { project: 'BaseDistro3' } Timecop.freeze(1) - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success # add broken releasetarget pi.add_element 'releasetarget', { project: 'home:tom' } # invalid target Timecop.freeze(1) - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'releasetarget_not_found' } # add broken tracker pi.add_element 'issue', { 'id' => '0815', 'tracker' => 'INVALID'} # invalid tracker - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'tracker_not_found' } # continue @@ -1047,7 +1046,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # add another issue and update patchinfo Timecop.freeze(1) - put '/source/' + incidentProject + '/pack2.BaseDistro2.0_LinkedUpdateProject/dummy.changes', 'DUMMY bnc#1042 cve-2009-0815 bnc#4201' + put '/source/' + incidentProject + '/pack2.BaseDistro2.0_LinkedUpdateProject/dummy.changes', params: 'DUMMY bnc#1042 cve-2009-0815 bnc#4201' assert_response :success get "/source/#{incidentProject}/pack2.BaseDistro2.0_LinkedUpdateProject?view=issues" assert_response :success @@ -1074,7 +1073,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: 'issue' }, tag: 'tracker', content: 'bnc' # test that another, new started branch is getting the source changes from this incident in flight - post '/source/BaseDistro2.0/pack2', cmd: 'branch', maintenance: 1 + post '/source/BaseDistro2.0/pack2', params: { cmd: 'branch', maintenance: 1 } assert_response :success get '/source/home:maintenance_coord:branches:BaseDistro2.0:LinkedUpdateProject/pack2.BaseDistro2.0_LinkedUpdateProject/_history' assert_response :success @@ -1117,7 +1116,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest tag: 'status', attributes: { package: 'pack2.BaseDistro3', code: 'scheduled' } # try to create release request too early - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -1140,7 +1139,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest pi = ActiveXML::Node.new( @response.body ) s = pi.add_element 'stopped' s.text = 'The issue is not fixed for real yet' - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success # collect the job results run_scheduler('x86_64') @@ -1155,7 +1154,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: 'result', attributes: { repository: 'BaseDistro2.0_LinkedUpdateProject', arch: 'i586', state: 'unpublished' } }, tag: 'status', attributes: { package: 'patchinfo', code: 'broken' } # try to create release request nevertheless - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -1167,7 +1166,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # un-block patchinfo build, but filter for an empty result pi.delete_element 'stopped' pi.add_element('binary').text = 'does not exist' - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success # collect the job results run_scheduler('x86_64') @@ -1179,7 +1178,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest tag: 'status', attributes: { package: 'patchinfo', code: 'failed' } # fix it again pi.delete_element 'binary' - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success # collect the job results run_scheduler('x86_64') @@ -1211,14 +1210,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success maintenance_project_meta = REXML::Document.new(@response.body) maintenance_project_meta.elements['/project'].delete_element 'publish' - put "/source/#{incidentProject}/_meta", maintenance_project_meta.to_s + put "/source/#{incidentProject}/_meta", params: maintenance_project_meta.to_s assert_response :success # mess up patchinfo and try to create release request pi.add_element('binary').text = 'does not exist' - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -1229,13 +1228,13 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # revert pi.delete_element 'binary' - put "/source/#{incidentProject}/patchinfo/_patchinfo", pi.dump_xml + put "/source/#{incidentProject}/patchinfo/_patchinfo", params: pi.dump_xml assert_response :success run_scheduler('x86_64') run_scheduler('i586') # publisher run did not happen yet - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -1253,7 +1252,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # A new branch would fetch sources from us already - post '/source', cmd: 'branch', dryrun: 1, package: "pack2" + post '/source', params: { cmd: 'branch', dryrun: 1, package: "pack2" } assert_response :success assert_xml_tag( parent: { tag: "package", attributes: {project: "BaseDistro2.0:LinkedUpdateProject", package: "pack2"} }, tag: 'devel', @@ -1263,7 +1262,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest attributes: { project: incidentProject, package: "pack2.BaseDistro3" } ) # create release request for real - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_release"> <source project="' + incidentProject + '" /> </action> @@ -1290,14 +1289,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) reqid = node.value(:id) - post "/request/#{reqid}?cmd=diff&view=xml", nil + post "/request/#{reqid}?cmd=diff&view=xml" assert_response :success # the diffed packages assert_xml_tag( tag: 'old', attributes: { project: 'BaseDistro2.0:LinkedUpdateProject', package: 'pack2' } ) assert_xml_tag( tag: 'new', attributes: { project: incidentProject, package: 'pack2.BaseDistro2.0_LinkedUpdateProject' } ) # check that changes get still fetched on new branches - post '/source/BaseDistro2.0/pack2', cmd: 'branch' + post '/source/BaseDistro2.0/pack2', params: { cmd: 'branch' } assert_response :success get '/source/home:maintenance_coord:branches:BaseDistro2.0:LinkedUpdateProject/pack2/_history' assert_response :success @@ -1335,7 +1334,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # incident project not visible for tom login_tom - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="kde4" package="kdelibs" /> <target project="' + incidentProject + '" releaseproject="BaseDistro2.0:LinkedUpdateProject" /> @@ -1345,7 +1344,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response 404 # new incident request accept is blocked, but decline works login_adrian - post '/request?cmd=create&addrevision=1', '<request> + post '/request?cmd=create&addrevision=1', params: '<request> <action type="maintenance_incident"> <source project="BaseDistro3" package="pack2" /> <target project="' + incidentProject + '" releaseproject="BaseDistro2.0:LinkedUpdateProject" /> @@ -1363,7 +1362,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # unlock would fail due to open request - post "/source/#{incidentProject}", { cmd: 'unlock', comment: 'cleanup' } + post "/source/#{incidentProject}", params: { cmd: 'unlock', comment: 'cleanup' } assert_response 403 assert_xml_tag( tag: 'status', attributes: { code: 'open_release_request' } ) @@ -1382,7 +1381,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # leave a comment assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_request_comment_path(id: reqid), 'Release it now!' + post create_request_comment_path(id: reqid), params: 'Release it now!' assert_response :success SendEventEmails.new.perform end @@ -1395,7 +1394,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # now leave another comment and hope the assi gets it too assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post create_request_comment_path(id: reqid), 'Slave, can you release it? The master is gone' + post create_request_comment_path(id: reqid), params: 'Slave, can you release it? The master is gone' assert_response :success SendEventEmails.new.perform end @@ -1411,19 +1410,19 @@ class MaintenanceTests < ActionDispatch::IntegrationTest post "/request/#{reqid}?cmd=changestate&newstate=accepted&comment=releasing" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: "invalid_date" }) - post "/source/#{incidentProject}/_attribute", "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>#{(DateTime.now + 1.day)}</value></attribute></attributes>" + post "/source/#{incidentProject}/_attribute", params: "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>#{(DateTime.now + 1.day)}</value></attribute></attributes>" assert_response :success post "/request/#{reqid}?cmd=changestate&newstate=accepted&comment=releasing" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: "under_embargo" }) # use the special form, no time specified - post "/source/#{incidentProject}/_attribute", "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>#{DateTime.now.year}-#{DateTime.now.month}-#{DateTime.now.day}</value></attribute></attributes>" + post "/source/#{incidentProject}/_attribute", params: "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>#{DateTime.now.year}-#{DateTime.now.month}-#{DateTime.now.day}</value></attribute></attributes>" assert_response :success post "/request/#{reqid}?cmd=changestate&newstate=accepted&comment=releasing" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: "under_embargo" }) # set it to yesterday, so it works below - post "/source/#{incidentProject}/_attribute", "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>#{DateTime.now.yesterday.year}-#{DateTime.now.yesterday.month}-#{DateTime.now.yesterday.day}</value></attribute></attributes>" + post "/source/#{incidentProject}/_attribute", params: "<attributes><attribute namespace='OBS' name='EmbargoDate'><value>#{DateTime.now.yesterday.year}-#{DateTime.now.yesterday.month}-#{DateTime.now.yesterday.day}</value></attribute></attributes>" assert_response :success #### release packages @@ -1522,7 +1521,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_no_xml_tag tag: 'releasetarget', attributes: { trigger: 'maintenance' } # search will find this incident not anymore - get '/search/project', match: '[repository/releasetarget/@trigger="maintenance"]' + get '/search/project', params: { match: '[repository/releasetarget/@trigger="maintenance"]' } assert_response :success assert_no_xml_tag parent: { tag: 'collection' }, tag: 'project', attributes: { name: incidentProject } @@ -1608,7 +1607,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest end # verify that local linked packages still get branched correctly - post '/source/BaseDistro2.0/pack2', cmd: 'branch' + post '/source/BaseDistro2.0/pack2', params: { cmd: 'branch' } assert_response :success get '/source/home:king:branches:BaseDistro2.0:LinkedUpdateProject' assert_response :success @@ -1665,14 +1664,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # disable lock and verify meta delete "/source/#{incidentProject}" assert_response 403 - post "/source/#{incidentProject}", { cmd: 'unlock', comment: 'cleanup' } + post "/source/#{incidentProject}", params: { cmd: 'unlock', comment: 'cleanup' } assert_response :success get "/source/#{incidentProject}/_meta" assert_response :success assert_xml_tag tag: 'releasetarget', attributes: { trigger: 'maintenance' } # create a service pack on top of it - put '/source/BaseDistro2.0:ServicePack1/_meta', '<project name="BaseDistro2.0:ServicePack1"> <title/><description/><link project="BaseDistro2.0"/></project>' + put '/source/BaseDistro2.0:ServicePack1/_meta', params: '<project name="BaseDistro2.0:ServicePack1"> <title/><description/><link project="BaseDistro2.0"/></project>' assert_response :success # get current vrev get '/source/BaseDistro2.0:LinkedUpdateProject/pack2?view=info' @@ -1720,9 +1719,9 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success delete '/source/BaseDistro2.0:ServicePack1/pack2' assert_response :success - post "/source/BaseDistro2.0:ServicePack1/_attribute", "<attributes><attribute namespace='OBS' name='MakeOriginOlder'/></attributes>" + post "/source/BaseDistro2.0:ServicePack1/_attribute", params: "<attributes><attribute namespace='OBS' name='MakeOriginOlder'/></attributes>" assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro2.0" package="pack2" /> <target project="BaseDistro2.0:ServicePack1" package="pack2" /> @@ -1758,9 +1757,9 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # create an entirely new package via submit request the right way # pack2NEW is not available via project link - post "/source/BaseDistro2.0:ServicePack1/_attribute", "<attributes><attribute namespace='OBS' name='MakeOriginOlder'/></attributes>" + post "/source/BaseDistro2.0:ServicePack1/_attribute", params: "<attributes><attribute namespace='OBS' name='MakeOriginOlder'/></attributes>" assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro2.0" package="pack2" /> <target project="BaseDistro2.0:ServicePack1" package="pack2NEW" /> @@ -1822,7 +1821,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_create_invalid_submit_request login_tom # submit requests are not allowed against release projects - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro2.0" package="pack2" rev="0" /> <target project="BaseDistro2.0:LinkedUpdateProject" package="pack2" /> @@ -1837,7 +1836,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_create_invalid_incident_request login_tom # without specifing target, the default target must get found via attribute - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="home:tom" /> <target project="home:tom" /> @@ -1848,7 +1847,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'status', attributes: { code: 'no_maintenance_project' } # submit foreign package without releaseproject - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="kde4" package="kdelibs" /> <target project="My:Maintenance" /> @@ -1859,7 +1858,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'status', attributes: { code: 'no_maintenance_release_target' } # submit foreign package with wrong releaseproject - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="kde4" package="kdelibs" /> <target project="My:Maintenance" releaseproject="home:tom" /> @@ -1868,7 +1867,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </request>' assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'no_maintenance_release_target' } - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="kde4" package="kdelibs" /> <target project="My:Maintenance" releaseproject="NOT_EXISTING" /> @@ -1882,20 +1881,20 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_create_invalid_release_request login_tom # branch a package with simple branch command (not mbranch) - post '/source/BaseDistro/pack1', cmd: :branch + post '/source/BaseDistro/pack1', params: { cmd: :branch } assert_response :success # check source link get '/source/home:tom:branches:BaseDistro:Update/pack1/_link' assert_response :success # some change - put '/source/home:tom:branches:BaseDistro:Update/pack1/file', "file" + put '/source/home:tom:branches:BaseDistro:Update/pack1/file', params: "file" assert_response :success # remove release target get '/source/home:tom:branches:BaseDistro:Update/_meta' assert_response :success pi = REXML::Document.new( @response.body ) pi.elements['//repository'].delete_element 'releasetarget' - put '/source/home:tom:branches:BaseDistro:Update/_meta', pi.to_s + put '/source/home:tom:branches:BaseDistro:Update/_meta', params: pi.to_s assert_response :success # Run without server side expansion @@ -1907,7 +1906,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </action> <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'repository_without_releasetarget' } @@ -1918,10 +1917,10 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </action> <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'missing_patchinfo' } - post '/request?cmd=create&ignore_build_state=1', rq + post '/request?cmd=create&ignore_build_state=1', params: rq assert_response 400 # assert_xml_tag :tag => 'status', :attributes => { code: 'wrong_linked_package_source' } assert_xml_tag tag: 'status', attributes: { code: 'missing_action' } @@ -1934,12 +1933,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest meta.elements['//repository'].add_element 'releasetarget' meta.elements['//releasetarget'].add_attribute REXML::Attribute.new('project', 'BaseDistro:Update') meta.elements['//releasetarget'].add_attribute REXML::Attribute.new('repository', 'BaseDistroUpdateProject_repo') - put '/source/home:tom:branches:BaseDistro:Update/_meta', meta.to_s + put '/source/home:tom:branches:BaseDistro:Update/_meta', params: meta.to_s assert_response :success # retry prepare_request_with_user 'maintenance_coord', 'buildservice' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'missing_patchinfo' } @@ -1957,13 +1956,13 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success prepare_request_with_user 'maintenance_coord', 'buildservice' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'build_not_finished' } # _patchinfo still incomplete prepare_request_with_user 'maintenance_coord', 'buildservice' - post '/request?cmd=create&ignore_build_state=1', rq + post '/request?cmd=create&ignore_build_state=1', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'incomplete_patchinfo' } @@ -1973,12 +1972,12 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success pi = REXML::Document.new( @response.body ) pi.elements['//summary'].text = 'My Summary' - put '/source/home:tom:branches:BaseDistro:Update/patchinfo/_patchinfo', pi.to_s + put '/source/home:tom:branches:BaseDistro:Update/patchinfo/_patchinfo', params: pi.to_s assert_response :success # remove architecture meta.elements['//repository'].delete_element 'arch' - put '/source/home:tom:branches:BaseDistro:Update/_meta', meta.to_s + put '/source/home:tom:branches:BaseDistro:Update/_meta', params: meta.to_s assert_response :success rq = '<request> @@ -1989,7 +1988,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest <state name="new" /> </request>' prepare_request_with_user 'maintenance_coord', 'buildservice' - post '/request?cmd=create&ignore_build_state=1', rq + post '/request?cmd=create&ignore_build_state=1', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'repository_without_architecture' } @@ -1997,11 +1996,11 @@ class MaintenanceTests < ActionDispatch::IntegrationTest login_tom meta.elements['//repository'].add_element 'arch' meta.elements['//arch'].text = 'ppc' - put '/source/home:tom:branches:BaseDistro:Update/_meta', meta.to_s + put '/source/home:tom:branches:BaseDistro:Update/_meta', params: meta.to_s assert_response :success prepare_request_with_user 'maintenance_coord', 'buildservice' - post '/request?cmd=create&ignore_build_state=1', rq + post '/request?cmd=create&ignore_build_state=1', params: rq assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'architecture_order_missmatch' } @@ -2022,7 +2021,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success meta = originmeta = ActiveXML::Node.new( @response.body ) meta.add_element 'person', { userid: 'adrian', role: 'reviewer' } - put '/source/BaseDistro:Update/_meta', meta.dump_xml + put '/source/BaseDistro:Update/_meta', params: meta.dump_xml assert_response :success # ensure target package exists @@ -2031,7 +2030,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest login_tom # create project - put '/source/home:tom:EVERGREEN/_meta', "<project name='home:tom:EVERGREEN'> <title/> <description/> + put '/source/home:tom:EVERGREEN/_meta', params: "<project name='home:tom:EVERGREEN'> <title/> <description/> <link project='BaseDistro:Update'/> <repository name='dummy'> <releasetarget project='BaseDistro:Update' repository='BaseDistroUpdateProject_repo' trigger='maintenance' /> @@ -2039,14 +2038,14 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </repository> </project>" assert_response :success - post '/source/home:tom:EVERGREEN/_attribute', "<attributes><attribute namespace='OBS' name='BranchTarget' /></attributes>" + post '/source/home:tom:EVERGREEN/_attribute', params: "<attributes><attribute namespace='OBS' name='BranchTarget' /></attributes>" assert_response :success # create package - put '/source/home:tom:EVERGREEN/pack/_meta', "<package name='pack'> <title/> <description/> </package>" + put '/source/home:tom:EVERGREEN/pack/_meta', params: "<package name='pack'> <title/> <description/> </package>" assert_response :success # create release request with default reviewer - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="home:tom:EVERGREEN" package="pack" /> <target project="BaseDistro:Update" package="pack2" /> @@ -2063,7 +2062,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success # create release request WITHOUT default reviewer - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="home:tom:EVERGREEN" package="pack" /> <target project="home:tom:EVERGREEN" package="pack2" /> @@ -2081,10 +2080,10 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # but get reviewer added if defined in own project login_king - put '/source/home:tom:EVERGREEN/pack2/_meta', "<package name='pack2'> <title/> <description/> <person userid='adrian' role='reviewer' /> </package>" + put '/source/home:tom:EVERGREEN/pack2/_meta', params: "<package name='pack2'> <title/> <description/> <person userid='adrian' role='reviewer' /> </package>" assert_response :success login_tom - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="home:tom:EVERGREEN" package="pack" /> <target project="home:tom:EVERGREEN" package="pack2" /> @@ -2102,7 +2101,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest # cleanup login_king - put '/source/BaseDistro:Update/_meta', originmeta.dump_xml + put '/source/BaseDistro:Update/_meta', params: originmeta.dump_xml assert_response :success delete '/source/home:tom:EVERGREEN' assert_response :success @@ -2111,7 +2110,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_try_to_release_without_permissions_binary_permissions login_tom # create project without trigger - put '/source/home:tom:test/_meta', "<project name='home:tom:test'> <title/> <description/> + put '/source/home:tom:test/_meta', params: "<project name='home:tom:test'> <title/> <description/> <repository name='dummy'> <releasetarget project='BaseDistro' repository='BaseDistro_repo' /> <arch>i586</arch> @@ -2119,7 +2118,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest </project>" assert_response :success # add trigger - put '/source/home:tom:test/_meta', "<project name='home:tom:test'> <title/> <description/> + put '/source/home:tom:test/_meta', params: "<project name='home:tom:test'> <title/> <description/> <repository name='dummy'> <releasetarget project='BaseDistro' repository='BaseDistro_repo' trigger='maintenance' /> <arch>i586</arch> @@ -2130,11 +2129,11 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag(tag: 'releasetarget', attributes: { trigger: 'maintenance' }) # create package - put '/source/home:tom:test/pack/_meta', "<package name='pack'> <title/> <description/> </package>" + put '/source/home:tom:test/pack/_meta', params: "<package name='pack'> <title/> <description/> </package>" assert_response :success # create release request - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="home:tom:test" package="pack" /> <target project="home:tom:test" package="pack" /> @@ -2152,7 +2151,7 @@ class MaintenanceTests < ActionDispatch::IntegrationTest assert_xml_tag tag: 'status', attributes: { code: 'release_target_no_permission' } # create another request with same target must be blocked - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="home:tom:test" package="pack" /> <target project="home:tom:test" package="pack" /> @@ -2174,13 +2173,13 @@ class MaintenanceTests < ActionDispatch::IntegrationTest def test_try_to_release_without_permissions_source_permissions login_tom # create project - put '/source/home:tom:test/_meta', "<project name='home:tom:test'> <title/> <description/> </project>" + put '/source/home:tom:test/_meta', params: "<project name='home:tom:test'> <title/> <description/> </project>" assert_response :success - put '/source/home:tom:test/pack/_meta', "<package name='pack'> <title/> <description/> </package>" + put '/source/home:tom:test/pack/_meta', params: "<package name='pack'> <title/> <description/> </package>" assert_response :success # create release request - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_release"> <source project="home:tom:test" package="pack" /> <target project="BaseDistro" package="pack" /> diff --git a/src/api/test/functional/message_controller_test.rb b/src/api/test/functional/message_controller_test.rb index 39edc3dae..73cd225c7 100644 --- a/src/api/test/functional/message_controller_test.rb +++ b/src/api/test/functional/message_controller_test.rb @@ -21,25 +21,25 @@ class MessageControllerTest < ActionDispatch::IntegrationTest assert_response :success assert_xml_tag( tag: 'messages') - post '/message/1', '<hallo/>' + post '/message/1', params: '<hallo/>' assert_response 404 - put '/message', '<hallo/>' + put '/message', params: '<hallo/>' assert_response 400 assert_match(/validation error/, @response.body) - put '/message', '<message severity="1" send_mail="true" private="true">sample message...</message>' + put '/message', params: '<message severity="1" send_mail="true" private="true">sample message...</message>' assert_response 400 assert_match(/must give either project or package/, @response.body) - put '/message?package=TestPack', '<message severity="1" send_mail="true" private="true">sample message...</message>' + put '/message?package=TestPack', params: '<message severity="1" send_mail="true" private="true">sample message...</message>' assert_response 400 assert_match(/must give either project or package/, @response.body) - put '/message?project=home:Iggy', '<message severity="1" send_mail="true" private="true">sample message...</message>' + put '/message?project=home:Iggy', params: '<message severity="1" send_mail="true" private="true">sample message...</message>' assert_response 403 # so close! - put '/message?project=home:tom', '<message severity="1" send_mail="true" private="true">sample message...</message>' + put '/message?project=home:tom', params: '<message severity="1" send_mail="true" private="true">sample message...</message>' assert_response 200 get '/message' @@ -61,7 +61,7 @@ class MessageControllerTest < ActionDispatch::IntegrationTest end login_Iggy - put '/message?project=home:Iggy&package=TestPack', '<message severity="1" send_mail="true" private="true">sample message...</message>' + put '/message?project=home:Iggy&package=TestPack', params: '<message severity="1" send_mail="true" private="true">sample message...</message>' assert_response 200 get '/message' diff --git a/src/api/test/functional/person_controller_test.rb b/src/api/test/functional/person_controller_test.rb index f65ab422c..d124a74c4 100644 --- a/src/api/test/functional/person_controller_test.rb +++ b/src/api/test/functional/person_controller_test.rb @@ -25,7 +25,7 @@ class PersonControllerTest < ActionDispatch::IntegrationTest def test_ichain login_adrian - get "/person/tom", nil, { "username" => "fred" } + get "/person/tom", headers: { "username" => "fred" } assert_response :success end @@ -73,11 +73,11 @@ class PersonControllerTest < ActionDispatch::IntegrationTest end def test_webui_login - post "/person/tom/login", nil, { "username" => "tom" } + post "/person/tom/login", headers: { "username" => "tom" } assert_response 401 prepare_request_valid_user - post "/person/tom/login", nil, { "username" => "tom" } + post "/person/tom/login", headers: { "username" => "tom" } assert_response :success end @@ -129,7 +129,7 @@ class PersonControllerTest < ActionDispatch::IntegrationTest XML prepare_request_valid_user - put "/person/tom", xml + put "/person/tom", params: xml assert_response :success assert_select "status", code: "ok" do assert_select "summary", "Ok" @@ -153,7 +153,7 @@ XML XML prepare_request_valid_user - put "/person/tom", xml + put "/person/tom", params: xml assert_response :success assert_select "status", code: "ok" do assert_select "summary", "Ok" @@ -175,7 +175,7 @@ XML XML prepare_request_valid_user - put "/person/tom", xml + put "/person/tom", params: xml assert_response 404 assert_select "status", code: "not_found" do assert_select "summary", "Couldn't find Project" @@ -204,7 +204,7 @@ XML doc.elements["/person"].insert_after(doc.elements["//state"], r) # Write changed data back and validate result prepare_request_valid_user - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success get "/person/tom" assert_response :success @@ -215,7 +215,7 @@ XML # write as admin login_king - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success get "/person/tom" assert_response :success @@ -223,7 +223,7 @@ XML # revert doc.elements["/person"].delete_element "globalrole" - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success get "/person/tom" assert_response :success @@ -231,42 +231,42 @@ XML # remove watchlist item doc.elements["//watchlist"].delete_element "project" - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success get "/person/tom" assert_response :success assert_no_xml_tag tag: "project", attributes: { name: "home:tom" } login_adrian - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response 403 login_king - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success # lock user doc.elements["//state"].text = "locked" - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success get "/person/tom" assert_response :success assert_xml_tag tag: "state", content: "locked" prepare_request_valid_user - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response 403 # set back login_king doc.elements["//state"].text = "confirmed" - put "/person/tom", doc.to_s + put "/person/tom", params: doc.to_s assert_response :success # create new user - put "/person/new_user", doc.to_s + put "/person/new_user", params: doc.to_s assert_response :success get "/person/new_user" assert_response :success - put "/person/new_user", doc.to_s + put "/person/new_user", params: doc.to_s assert_response :success # cleanup User.current = User.find_by(login: 'new_user') @@ -295,7 +295,7 @@ XML </person>" # create new user - put "/person/lost_guy", user_xml + put "/person/lost_guy", params: user_xml assert_response :success get "/person/lost_guy" @@ -314,7 +314,7 @@ XML </person>" # no account chaining - put "/person/lost_guy2", user_xml + put "/person/lost_guy2", params: user_xml assert_response 400 assert_xml_tag tag: "status", attributes: { code: "subaccount_chaining" } end @@ -330,23 +330,23 @@ XML </person>" # create new user - put "/person/lost_guy", user_xml + put "/person/lost_guy", params: user_xml assert_response :success # create sub project of home - put "/source/home:lost_guy:subproject/_meta", '<project name="home:lost_guy:subproject"><title/><description/></project>' + put "/source/home:lost_guy:subproject/_meta", params: '<project name="home:lost_guy:subproject"><title/><description/></project>' assert_response :success # only admins, not even the user itself can lock himself login_Iggy - post "/person/lost_guy?cmd=lock", nil + post "/person/lost_guy?cmd=lock" assert_response 403 - post "/person/lost_guy?cmd=delete", nil + post "/person/lost_guy?cmd=delete" assert_response 403 # but the admin can ... login_king - post "/person/lost_guy?cmd=lock", nil + post "/person/lost_guy?cmd=lock" assert_response :success get "/person/lost_guy" assert_response :success @@ -359,7 +359,7 @@ XML assert_xml_tag tag: "lock" # we can still delete the locked user - post "/person/lost_guy?cmd=delete", nil + post "/person/lost_guy?cmd=delete" assert_response :success get "/person/lost_guy" assert_response 404 @@ -383,7 +383,7 @@ XML <password>so_alone</password> </unregisteredperson>" ' - post "/person?cmd=register", data + post "/person?cmd=register", params: data assert_response 400 assert_xml_tag tag: 'status', attributes: {code: "err_register_save"} assert_xml_tag tag: 'summary', content: "Sorry, sign up is disabled" @@ -401,7 +401,7 @@ XML <state>confirmation</state> </unregisteredperson>" ' - post "/person?cmd=register", data + post "/person?cmd=register", params: data assert_response 400 assert_xml_tag tag: 'status', attributes: {code: "err_register_save"} assert_xml_tag tag: 'summary', content: "Thank you for signing up! An admin has to confirm your account now. Please be patient." @@ -422,7 +422,7 @@ XML <password>so_alone</password> </unregisteredperson>" ' - post "/person?cmd=register", data + post "/person?cmd=register", params: data assert_response :success u = User.find_by_login "adrianSuSE" @@ -434,22 +434,22 @@ XML # change password data = 'NEWPASSW0RD' - post "/person/adrianSuSE?cmd=change_password", data + post "/person/adrianSuSE?cmd=change_password", params: data assert_response 401 # wrong user login_adrian - post "/person/adrianSuSE?cmd=change_password", data + post "/person/adrianSuSE?cmd=change_password", params: data assert_response 403 assert_xml_tag tag: 'status', attributes: { code: "change_password_no_permission" } # admin login_king - post "/person/adrianSuSE?cmd=change_password", "" + post "/person/adrianSuSE?cmd=change_password", params: "" assert_response 404 assert_xml_tag tag: 'status', attributes: { code: "password_empty" } - post "/person/adrianSuSE?cmd=change_password", data + post "/person/adrianSuSE?cmd=change_password", params: data assert_response :success # test login with new password prepare_request_with_user "adrianSuSE", data @@ -471,7 +471,7 @@ XML </unregisteredperson>" ' # FIXME3.0: to be removed - post "/person/register", data + post "/person/register", params: data assert_response :success u = User.find_by_login "adrianSuSE" diff --git a/src/api/test/functional/product_test.rb b/src/api/test/functional/product_test.rb index e07004a57..cf8fcda29 100644 --- a/src/api/test/functional/product_test.rb +++ b/src/api/test/functional/product_test.rb @@ -56,8 +56,7 @@ class ProductTests < ActionDispatch::IntegrationTest def test_simple_product_file login_tom - put "/source/home:tom:temporary/_meta", - '<project name="home:tom:temporary"> <title/> <description/> + put "/source/home:tom:temporary/_meta", params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me" /> <repository name="images"> <arch>local</arch> @@ -66,15 +65,13 @@ class ProductTests < ActionDispatch::IntegrationTest </repository> </project>' assert_response :success - put '/source/home:tom:temporary/_config?user=tom', "Type: kiwi\nRepotype: none\nSubstitute: kiwi-packagemanager:instsource package\nRequired: kiwi" + put '/source/home:tom:temporary/_config?user=tom', params: "Type: kiwi\nRepotype: none\nSubstitute: kiwi-packagemanager:instsource package\nRequired: kiwi" assert_response :success - put "/source/home:tom:temporary/_product/_meta", - '<package project="home:tom:temporary" name="_product"> <title/> <description/> + put "/source/home:tom:temporary/_product/_meta", params: '<package project="home:tom:temporary" name="_product"> <title/> <description/> <person userid="adrian" role="maintainer" /> </package>' assert_response :success - put "/source/home:tom:temporary:link/_meta", - '<project name="home:tom:temporary:link"> <title/> <description/> + put "/source/home:tom:temporary:link/_meta", params: '<project name="home:tom:temporary:link"> <title/> <description/> <link project="home:tom:temporary" /> <repository name="me" /> </project>' @@ -150,15 +147,14 @@ class ProductTests < ActionDispatch::IntegrationTest assert_equal pm.repository.name, "BaseDistro_repo" # invalid uploads - put "/source/home:tom:temporary/_product/obs.group", - File.open("#{Rails.root}/test/fixtures/backend/source/simple_product/INVALID_obs.group").read + put "/source/home:tom:temporary/_product/obs.group", params: File.open("#{Rails.root}/test/fixtures/backend/source/simple_product/INVALID_obs.group").read assert_response 400 assert_xml_tag tag: "status", attributes: { code: '400', origin: 'backend' } assert_match(/Illegal support key ILLEGAL for obs-server/, @response.body) # check scheduling login_king - put "/source/home:Iggy/TestPack/DUMMY_CHANGE", "JUST TO TRIGGER A BUILD" + put "/source/home:Iggy/TestPack/DUMMY_CHANGE", params: "JUST TO TRIGGER A BUILD" assert_response :success login_tom run_scheduler('i586') @@ -206,17 +202,14 @@ class ProductTests < ActionDispatch::IntegrationTest def test_sle11_product_file login_tom - put "/source/home:tom:temporary/_meta", - '<project name="home:tom:temporary"> <title/> <description/> + put "/source/home:tom:temporary/_meta", params: '<project name="home:tom:temporary"> <title/> <description/> </project>' assert_response :success - put "/source/home:tom:temporary/_product/_meta", - '<package project="home:tom:temporary" name="_product"> <title/> <description/> + put "/source/home:tom:temporary/_product/_meta", params: '<package project="home:tom:temporary" name="_product"> <title/> <description/> <person userid="adrian" role="maintainer" /> </package>' assert_response :success - put "/source/home:tom:temporary:link/_meta", - '<project name="home:tom:temporary:link"> <title/> <description/> + put "/source/home:tom:temporary:link/_meta", params: '<project name="home:tom:temporary:link"> <title/> <description/> <link project="home:tom:temporary" /> <repository name="me"> <arch>x86_64</arch> @@ -224,8 +217,7 @@ class ProductTests < ActionDispatch::IntegrationTest </project>' assert_response :success # and set release target - put "/source/home:tom:temporary/_meta", - '<project name="home:tom:temporary"> <title/> <description/> + put "/source/home:tom:temporary/_meta", params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me" > <releasetarget project="home:tom:temporary:link" repository="me" trigger="manual" /> <arch>x86_64</arch> @@ -340,19 +332,17 @@ class ProductTests < ActionDispatch::IntegrationTest def test_submit_request login_tom - put "/source/home:tom:temporary/_meta", - '<project name="home:tom:temporary"> <title/> <description/> + put "/source/home:tom:temporary/_meta", params: '<project name="home:tom:temporary"> <title/> <description/> </project>' assert_response :success - put "/source/home:tom:temporary/_product/_meta", - '<package project="home:tom:temporary" name="_product"> <title/> <description/> + put "/source/home:tom:temporary/_product/_meta", params: '<package project="home:tom:temporary" name="_product"> <title/> <description/> <person userid="adrian" role="maintainer" /> </package>' assert_response :success # branch login_adrian - post '/source/home:tom:temporary/_product', cmd: :branch + post '/source/home:tom:temporary/_product', params: { cmd: :branch } assert_response :success # upload sources in right order @@ -370,7 +360,7 @@ class ProductTests < ActionDispatch::IntegrationTest </action> <description>SUBMIT</description> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) diff --git a/src/api/test/functional/public_controller_test.rb b/src/api/test/functional/public_controller_test.rb index 90c1dab46..88c4869b3 100644 --- a/src/api/test/functional/public_controller_test.rb +++ b/src/api/test/functional/public_controller_test.rb @@ -83,11 +83,11 @@ class PublicControllerTest < ActionDispatch::IntegrationTest get "/public/lastevents" assert_response :success # new method (OBS 2.3) - post "/public/lastevents", nil + post "/public/lastevents" assert_response :success # new method (OBS 2.3) using credentials login_tom - post "/lastevents", nil + post "/lastevents" assert_response :success end diff --git a/src/api/test/functional/read_permission_test.rb b/src/api/test/functional/read_permission_test.rb index 523edc744..861d6049b 100644 --- a/src/api/test/functional/read_permission_test.rb +++ b/src/api/test/functional/read_permission_test.rb @@ -49,11 +49,11 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest assert_response 401 # anonymous access with user-agent set - get "/source/SourceprotectedProject", nil, { 'HTTP_USER_AGENT' => 'osc-something' } + get "/source/SourceprotectedProject", headers: { 'HTTP_USER_AGENT' => 'osc-something' } assert_response 401 - get "/source/SourceprotectedProject/_meta", nil, { 'HTTP_USER_AGENT' => 'osc-something' } + get "/source/SourceprotectedProject/_meta", headers: { 'HTTP_USER_AGENT' => 'osc-something' } assert_response 401 - get "/source/SourceprotectedProject/pack", nil, { 'HTTP_USER_AGENT' => 'osc-something' } + get "/source/SourceprotectedProject/pack", headers: { 'HTTP_USER_AGENT' => 'osc-something' } assert_response 401 # user access @@ -81,7 +81,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest assert_response 401 # anonymous access with user-agent set - get "/build/SourceprotectedProject/repo/i586/pack", nil, { 'HTTP_USER_AGENT' => 'osc-something' } + get "/build/SourceprotectedProject/repo/i586/pack", headers: { 'HTTP_USER_AGENT' => 'osc-something' } assert_response 401 srcrpm = "package-1.0-1.src.rpm" @@ -256,7 +256,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest end def do_branch_package_test(sprj, spkg, tprj, resp, match, testflag, delresp, debug) - post "/source/#{sprj}/#{spkg}", cmd: :branch, target_project: "#{tprj}" + post "/source/#{sprj}/#{spkg}", params: { cmd: :branch, target_project: "#{tprj}" } puts @response.body if debug assert_response resp if resp assert_match(match, @response.body) if match @@ -276,7 +276,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest def do_test_copy_package(srcprj, srcpkg, destprj, destpkg, resp, flag, delresp) get "/source/#{destprj}/#{destpkg}/_meta" orig = @response.body - post "/source/#{destprj}/#{destpkg}", cmd: "copy", oproject: "#{srcprj}", opackage: "#{srcpkg}" + post "/source/#{destprj}/#{destpkg}", params: { cmd: "copy", oproject: "#{srcprj}", opackage: "#{srcpkg}" } assert_response resp if resp # ret destination package meta get "/source/#{destprj}/#{destpkg}/_meta" @@ -285,7 +285,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest delete "/source/#{destprj}/#{destpkg}" assert_response delresp if delresp get url_for(controller: :source, action: :show_package_meta, project: "#{destprj}", package: "#{destpkg}") - put "/source/#{destprj}/#{destpkg}/_meta", orig.dup + put "/source/#{destprj}/#{destpkg}/_meta", params: orig.dup end protected :do_test_copy_package @@ -398,77 +398,73 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest login_adrian get url_for(controller: :source, action: :show_package_meta, project: "HiddenProject", package: "temporary") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "temporary"), - '<package project="HiddenProject" name="temporary"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "temporary"), params: '<package project="HiddenProject" name="temporary"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) url = "/source/HiddenProject/temporary/_link" # illegal targets - put url, '<link project="notexisting" />' + put url, params: '<link project="notexisting" />' assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_project" } - put url, '<link project="HiddenProject" package="notexisting" />' + put url, params: '<link project="HiddenProject" package="notexisting" />' assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_package" } # working local link from hidden package to hidden package - put url, '<link project="HiddenProject" package="pack" />' + put url, params: '<link project="HiddenProject" package="pack" />' assert_response :success get url_for(controller: :source, action: :show_package_meta, project: "kde4", package: "temporary2") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "temporary2"), - '<package project="kde4" name="temporary2"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "temporary2"), params: '<package project="kde4" name="temporary2"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) url = "/source/kde4/temporary2/_link" # illegal targets - put url, '<link project="notexisting" />' + put url, params: '<link project="notexisting" />' assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_project" } - put url, '<link project="kde4" package="notexiting" />' + put url, params: '<link project="kde4" package="notexiting" />' assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_package" } # check this works with remote projects also get url_for(controller: :source, action: :show_package_meta, project: "HiddenProject", package: "temporary4") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "temporary4"), - '<package project="HiddenProject" name="temporary4"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "temporary4"), params: '<package project="HiddenProject" name="temporary4"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) url = "/source/HiddenProject/temporary4/_link" # working local link from hidden package to hidden package - put url, '<link project="LocalProject" package="remotepackage" />' + put url, params: '<link project="LocalProject" package="remotepackage" />' assert_response :success # user without any special roles login_fred get url_for(controller: :source, action: :show_package_meta, project: "kde4", package: "temporary3") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "temporary3"), - '<package project="kde4" name="temporary3"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "temporary3"), params: '<package project="kde4" name="temporary3"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) url = "/source/kde4/temporary3/_link" # illegal targets - put url, '<link project="notexisting" />' + put url, params: '<link project="notexisting" />' assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_project" } - put url, '<link project="kde4" package="notexiting" />' + put url, params: '<link project="kde4" package="notexiting" />' assert_response 404 assert_xml_tag tag: "status", attributes: { code: "unknown_package" } # normal user cannot access hidden project - put url, '<link project="HiddenProject" package="pack1" />' + put url, params: '<link project="HiddenProject" package="pack1" />' assert_response 404 # cleanup @@ -486,27 +482,21 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest def test_alter_source_access_flags # Create public project with protected package login_adrian - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> </project>' assert_response :success - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </project>' assert_response 403 assert_xml_tag tag: "status", attributes: { code: "change_project_protection_level" } - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:PublicProject"), - '<project name="home:adrian:PublicProject"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:PublicProject"), params: '<project name="home:adrian:PublicProject"> <title/> <description/> </project>' assert_response :success - put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "pack"), - '<package name="pack" project="home:adrian:PublicProject"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "pack"), params: '<package name="pack" project="home:adrian:PublicProject"> <title/> <description/> </package>' assert_response :success - put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "pack"), - '<package name="pack" project="home:adrian:PublicProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "pack"), params: '<package name="pack" project="home:adrian:PublicProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' assert_response 403 assert_xml_tag tag: "status", attributes: { code: "change_package_protection_level" } # but works as admin login_king - put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "pack"), - '<package name="pack" project="home:adrian:PublicProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "pack"), params: '<package name="pack" project="home:adrian:PublicProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' assert_response :success delete "/source/home:adrian:Project" assert_response :success @@ -517,16 +507,13 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest def test_alter_access_flags # Create public project with protected package login_adrian - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> </project>' assert_response :success - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> <access><disable/></access> </project>' assert_response 403 assert_xml_tag tag: "status", attributes: { code: "change_project_protection_level" } login_king - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> <access><disable/></access> </project>' assert_response :success delete "/source/home:adrian:Project" assert_response :success @@ -535,35 +522,32 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest def test_project_links_to_sourceaccess_protected_package # Create public project with protected package login_adrian - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:PublicProject"), - '<project name="home:adrian:PublicProject"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:PublicProject"), params: '<project name="home:adrian:PublicProject"> <title/> <description/> </project>' assert_response :success # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "ProtectedPackage"), - '<package name="ProtectedPackage" project="home:adrian:PublicProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:PublicProject", package: "ProtectedPackage"), params: '<package name="ProtectedPackage" project="home:adrian:PublicProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' # rubocop:enable Metrics/LineLength assert_response :success - put "/source/home:adrian:PublicProject/ProtectedPackage/dummy_file", "dummy" + put "/source/home:adrian:PublicProject/ProtectedPackage/dummy_file", params: "dummy" # try to access it directly with a user not permitted login_tom get "/source/home:adrian:PublicProject/ProtectedPackage" assert_response 403 - post "/source/home:tom:TEMP", cmd: "copy", oproject: "home:adrian:PublicProject" + post "/source/home:tom:TEMP", params: { cmd: "copy", oproject: "home:adrian:PublicProject" } assert_response 403 assert_xml_tag tag: "status", attributes: { code: "project_copy_no_permission" } # try to access it via own project link - put url_for(controller: :source, action: :update_project_meta, project: "home:tom:temp"), - '<project name="home:tom:temp"> <title/> <description/> <link project="home:adrian:PublicProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:tom:temp"), params: '<project name="home:tom:temp"> <title/> <description/> <link project="home:adrian:PublicProject"/> </project>' assert_response :success get "/source/home:tom:temp/ProtectedPackage" assert_response 403 [:branch, :diff, :linkdiff].each do |c| # would not work, but needs to return with 403 in any case - post "/source/home:tom:temp/ProtectedPackage", cmd: c + post "/source/home:tom:temp/ProtectedPackage", params: { cmd: c } assert_response 403 end - post "/source/home:tom:temp/ProtectedPackage", cmd: :copy, oproject: "home:tom:temp", opackage: "ProtectedPackage" + post "/source/home:tom:temp/ProtectedPackage", params: { cmd: :copy, oproject: "home:tom:temp", opackage: "ProtectedPackage" } assert_response 403 get "/source/home:tom:temp/ProtectedPackage/dummy_file" assert_response 403 @@ -617,11 +601,9 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest login_adrian get "/source/home:adrian:ProtectedProject" assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject"), - '<project name="home:adrian:ProtectedProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject"), params: '<project name="home:adrian:ProtectedProject"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </project>' assert_response :success - put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:ProtectedProject", package: "Package"), - '<package name="Package" project="home:adrian:ProtectedProject"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:ProtectedProject", package: "Package"), params: '<package name="Package" project="home:adrian:ProtectedProject"> <title/> <description/> </package>' assert_response :success # try to access it directly with a user not permitted @@ -629,8 +611,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest get "/source/home:adrian:ProtectedProject/Package" assert_response 403 # try to access it via own project link - put url_for(controller: :source, action: :update_project_meta, project: "home:tom:temp"), - '<project name="home:tom:temp"> <title/> <description/> <link project="home:adrian:ProtectedProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:tom:temp"), params: '<project name="home:tom:temp"> <title/> <description/> <link project="home:adrian:ProtectedProject"/> </project>' assert_response :success get "/source/home:tom:temp/Package" assert_response 403 @@ -638,7 +619,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest assert_response 403 [:branch, :diff, :linkdiff, :copy].each do |c| # would not work, but needs to return with 403 in any case - post "/source/home:tom:temp/Package", cmd: c, oproject: "home:tom:temp", opackage: "Package" + post "/source/home:tom:temp/Package", params: { cmd: c, oproject: "home:tom:temp", opackage: "Package" } assert_response 403 end # public controller @@ -660,54 +641,42 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest login_tom # try to link to an access protected hidden project from sourceaccess project - put url_for(controller: :source, action: :update_project_meta, project: "home:tom:ProtectedProject2"), - '<project name="home:tom:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:tom:ProtectedProject2"), params: '<project name="home:tom:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:tom:ProtectedProject2"), - '<project name="home:tom:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:tom:ProtectedProject2"), params: '<project name="home:tom:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 login_adrian # try to link to an access protected hidden project from sourceaccess project - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), - '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), params: '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), - '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), params: '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), - '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), params: '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </project>' assert_response :success - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), - '<project name="home:adrian:ProtectedProject1"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), params: '<project name="home:adrian:ProtectedProject1"> <title/> <description/> </project>' assert_response :success # Allow linking from not sourceaccess protected project to protected own. src.rpms are not delivered by the backend. # - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), - '<project name="home:adrian:ProtectedProject1"> <title/> <description/> <link project="home:adrian:ProtectedProject2"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), params: '<project name="home:adrian:ProtectedProject1"> <title/> <description/> <link project="home:adrian:ProtectedProject2"/> </project>' assert_response :success # try to link to an access protected hidden project from access hidden project - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject3"), - '<project name="home:adrian:ProtectedProject3"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject3"), params: '<project name="home:adrian:ProtectedProject3"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject3"), - '<project name="home:adrian:ProtectedProject3"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject3"), params: '<project name="home:adrian:ProtectedProject3"> <title/> <description/> <access><disable/></access> </project>' assert_response :success - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject3"), - '<project name="home:adrian:ProtectedProject3"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject3"), params: '<project name="home:adrian:ProtectedProject3"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject4"), - '<project name="home:adrian:ProtectedProject4"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject4"), params: '<project name="home:adrian:ProtectedProject4"> <title/> <description/> <access><disable/></access> </project>' assert_response :success # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject4"), - '<project name="home:adrian:ProtectedProject4"> <title/> <description/> <access><disable/></access> <link project="home:adrian:ProtectedProject2"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject4"), params: '<project name="home:adrian:ProtectedProject4"> <title/> <description/> <access><disable/></access> <link project="home:adrian:ProtectedProject2"/> </project>' # rubocop:enable Metrics/LineLength assert_response :success @@ -715,8 +684,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest login_tom # try to link to an access protected hidden project - put url_for(controller: :source, action: :update_project_meta, project: "home:tom:temp2"), - '<project name="home:tom:temp2"> <title/> <description/> <link project="HiddenProject"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:tom:temp2"), params: '<project name="home:tom:temp2"> <title/> <description/> <link project="HiddenProject"/> </project>' assert_response 404 # cleanup @@ -755,13 +723,11 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest login_adrian get "/source/home:adrian:ProtectedProject" assert_response 404 - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject"), - '<project name="home:adrian:ProtectedProject"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject"), params: '<project name="home:adrian:ProtectedProject"> <title/> <description/> <access><disable/></access> </project>' assert_response :success get "/source/home:adrian:ProtectedProject" assert_response :success - put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:ProtectedProject", package: "package"), - '<package project="home:adrian:ProtectedProject" name="package"> <title/> <description/></package>' + put url_for(controller: :source, action: :update_package_meta, project: "home:adrian:ProtectedProject", package: "package"), params: '<package project="home:adrian:ProtectedProject" name="package"> <title/> <description/></package>' assert_response :success get "/source/home:adrian:ProtectedProject/package" assert_response :success @@ -790,19 +756,16 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest prepare_request_with_user "binary_homer", "buildservice" # check if sufficiently protected projects can access protected projects - put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject1"), - '<project name="home:binary_homer:ProtectedProject1"> <title/> <description/> <binarydownload><disable/></binarydownload> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject1"), params: '<project name="home:binary_homer:ProtectedProject1"> <title/> <description/> <binarydownload><disable/></binarydownload> </project>' assert_response 200 # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject1"), - '<project name="home:binary_homer:ProtectedProject1"> <title/> <description/> <repository name="BinaryprotectedProjectRepo"> <path repository="nada" project="BinaryprotectedProject"/> <arch>i586</arch> </repository> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject1"), params: '<project name="home:binary_homer:ProtectedProject1"> <title/> <description/> <repository name="BinaryprotectedProjectRepo"> <path repository="nada" project="BinaryprotectedProject"/> <arch>i586</arch> </repository> </project>' # rubocop:enable Metrics/LineLength assert_response 200 # check if sufficiently protected projects can access protected projects - put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject2"), - '<project name="home:binary_homer:ProtectedProject2"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject2"), params: '<project name="home:binary_homer:ProtectedProject2"> <title/> <description/> </project>' assert_response 200 # cleanup @@ -819,53 +782,45 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest # check if unsufficiently permitted users tries to access protected projects # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:tom:ProtectedProject2"), - '<project name="home:tom:ProtectedProject2"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:tom:ProtectedProject2"), params: '<project name="home:tom:ProtectedProject2"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' # rubocop:enable Metrics/LineLength assert_response 404 # try to access it with a user permitted for access login_adrian - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), - '<project name="home:adrian:ProtectedProject1"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), params: '<project name="home:adrian:ProtectedProject1"> <title/> <description/> <access><disable/></access> </project>' # STDERR.puts(@response.body) assert_response 200 # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), - '<project name="home:adrian:ProtectedProject1"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject1"), params: '<project name="home:adrian:ProtectedProject1"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' # rubocop:enable Metrics/LineLength assert_response 404 # building against # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), - '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), params: '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' # rubocop:enable Metrics/LineLength assert_response 404 # check if download protected project has to access protected project, which reveals Hidden project existence to others and is and error - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), - '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <binarydownload><disable/></binarydownload> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), params: '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <binarydownload><disable/></binarydownload> </project>' assert_response 200 # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), - '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:ProtectedProject2"), params: '<project name="home:adrian:ProtectedProject2"> <title/> <description/> <repository name="HiddenProjectRepo"> <path repository="nada" project="HiddenProject"/> <arch>i586</arch> </repository> </project>' # rubocop:enable Metrics/LineLength assert_response 404 # check if access protected project has access binarydownload protected project prepare_request_with_user "binary_homer", "buildservice" - put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject3"), - '<project name="home:binary_homer:ProtectedProject3"> <title/> <description/> <access><disable/></access> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject3"), params: '<project name="home:binary_homer:ProtectedProject3"> <title/> <description/> <access><disable/></access> </project>' # STDERR.puts(@response.body) assert_response 200 # rubocop:disable Metrics/LineLength - put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject3"), - '<project name="home:binary_homer:ProtectedProject3"> <title/> <description/> <repository name="BinaryprotectedProjectRepo"> <path repository="nada" project="BinaryprotectedProject"/> <arch>i586</arch> </repository> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:binary_homer:ProtectedProject3"), params: '<project name="home:binary_homer:ProtectedProject3"> <title/> <description/> <repository name="BinaryprotectedProjectRepo"> <path repository="nada" project="BinaryprotectedProject"/> <arch>i586</arch> </repository> </project>' # rubocop:enable Metrics/LineLength assert_response 200 @@ -905,8 +860,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest def test_copy_project_of_source_protected_package login_king - put "/source/home:tom/ProtectedPackage/_meta", - '<package project="home:tom" name="ProtectedPackage"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' + put "/source/home:tom/ProtectedPackage/_meta", params: '<package project="home:tom" name="ProtectedPackage"> <title/> <description/> <sourceaccess><disable/></sourceaccess> </package>' assert_response :success post "/source/CopyOfProject?cmd=copy&oproject=home:tom&nodelay=1" @@ -932,7 +886,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest assert_no_xml_tag( tag: "disable", parent: { tag: "access" } ) # as admin - post "/source/home:Iggy/TestPack", cmd: "branch", noaccess: "1" + post "/source/home:Iggy/TestPack", params: { cmd: "branch", noaccess: "1" } assert_response :success assert_no_xml_tag( tag: "disable", parent: { tag: "access" } ) get "/source/home:king:branches:home:Iggy/_meta" @@ -943,7 +897,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest # as user login_tom - post "/source/home:Iggy/TestPack", cmd: "branch", noaccess: "1" + post "/source/home:Iggy/TestPack", params: { cmd: "branch", noaccess: "1" } assert_response :success get "/source/home:tom:branches:home:Iggy/_meta" assert_response :success @@ -956,8 +910,7 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest def test_setup_default_project # Create public project login_adrian - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> </project>' assert_response :success get "/source/home:adrian:Project/_meta" assert_response :success @@ -970,23 +923,20 @@ class ReadPermissionTest < ActionDispatch::IntegrationTest orig_value = c.default_access_disabled c.default_access_disabled = true c.save! - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> </project>' assert_response :success get "/source/home:adrian:Project/_meta" assert_response :success assert_xml_tag( tag: "disable", parent: { tag: "access" } ) # enabling access is not allowed in this mode - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> </project>' assert_response 403 assert_xml_tag tag: "status", attributes: { code: "change_project_protection_level" } # enabling access is allowed c.default_access_disabled = orig_value c.save! - put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), - '<project name="home:adrian:Project"> <title/> <description/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: "home:adrian:Project"), params: '<project name="home:adrian:Project"> <title/> <description/> </project>' assert_response :success # cleanup diff --git a/src/api/test/functional/release_management_test.rb b/src/api/test/functional/release_management_test.rb index 666f6ed86..2d042dae2 100644 --- a/src/api/test/functional/release_management_test.rb +++ b/src/api/test/functional/release_management_test.rb @@ -13,15 +13,15 @@ class ReleaseManagementTests < ActionDispatch::IntegrationTest login_tom # try as non-admin - post "/source/home:tom:BaseDistro", cmd: :move, oproject: "BaseDistro" + post "/source/home:tom:BaseDistro", params: { cmd: :move, oproject: "BaseDistro" } assert_response 403 login_king - post "/source/home:tom", cmd: :move, oproject: "BaseDistro" + post "/source/home:tom", params: { cmd: :move, oproject: "BaseDistro" } assert_response 400 # real move - post "/source/TEMP:BaseDistro", cmd: :move, oproject: "BaseDistro" + post "/source/TEMP:BaseDistro", params: { cmd: :move, oproject: "BaseDistro" } assert_response :success assert_xml_tag( tag: "status", attributes: { code: "ok"} ) get "/source/TEMP:BaseDistro" @@ -46,7 +46,7 @@ class ReleaseManagementTests < ActionDispatch::IntegrationTest assert_response 404 # move back - post "/source/BaseDistro", cmd: :move, oproject: "TEMP:BaseDistro" + post "/source/BaseDistro", params: { cmd: :move, oproject: "TEMP:BaseDistro" } assert_response :success assert_xml_tag( tag: "status", attributes: { code: "ok"} ) get "/source/BaseDistro/pack2/_meta" @@ -69,7 +69,7 @@ class ReleaseManagementTests < ActionDispatch::IntegrationTest login_tom # inject a job for copy any entire project ... gets copied in testsuite but appears to be delayed - post "/source/home:tom:BaseDistro", cmd: :copy, oproject: "BaseDistro" + post "/source/home:tom:BaseDistro", params: { cmd: :copy, oproject: "BaseDistro" } assert_response :success assert_xml_tag( tag: "status", attributes: { code: "invoked"} ) @@ -78,12 +78,12 @@ class ReleaseManagementTests < ActionDispatch::IntegrationTest assert_response :success # copy any entire project NOW - post "/source/home:tom:BaseDistro", cmd: :copy, oproject: "BaseDistro", nodelay: 1 + post "/source/home:tom:BaseDistro", params: { cmd: :copy, oproject: "BaseDistro", nodelay: 1 } assert_response :success assert_xml_tag( tag: "status", attributes: { code: "ok"} ) # try a split - post "/source/home:tom:BaseDistro", cmd: :copy, oproject: "BaseDistro", makeolder: 1 + post "/source/home:tom:BaseDistro", params: { cmd: :copy, oproject: "BaseDistro", makeolder: 1 } assert_response 403 # cleanup @@ -104,7 +104,7 @@ class ReleaseManagementTests < ActionDispatch::IntegrationTest # make a full split as admin login_king - post "/source/TEST:BaseDistro", cmd: :copy, oproject: "BaseDistro", makeolder: 1, nodelay: 1 + post "/source/TEST:BaseDistro", params: { cmd: :copy, oproject: "BaseDistro", makeolder: 1, nodelay: 1 } assert_response :success # the origin must got increased by 2 @@ -128,7 +128,7 @@ class ReleaseManagementTests < ActionDispatch::IntegrationTest assert_response :success # test again with history copy - post "/source/TEST:BaseDistro", cmd: :copy, oproject: "BaseDistro", makeolder: 1, nodelay: 1, withhistory: 1 + post "/source/TEST:BaseDistro", params: { cmd: :copy, oproject: "BaseDistro", makeolder: 1, nodelay: 1, withhistory: 1 } assert_response :success # the origin must got increased by another 2 diff --git a/src/api/test/functional/request_controller_test.rb b/src/api/test/functional/request_controller_test.rb index 8b62c093d..fb82a3858 100644 --- a/src/api/test/functional/request_controller_test.rb +++ b/src/api/test/functional/request_controller_test.rb @@ -29,7 +29,7 @@ class RequestControllerTest < ActionDispatch::IntegrationTest <state name='new' who='tom' when='2011-12-02T17:20:42'/> </request> XML - post '/request?cmd=create', xml + post '/request?cmd=create', params: xml assert_response :success new_request_id = BsRequest.last.number assert_select "request", id: new_request_id do @@ -45,7 +45,7 @@ XML assert_select "description" end - put("/request/#{new_request_id}", xml) + put("/request/#{new_request_id}", params: xml) assert_response :success get "/request/#{new_request_id}" assert_response :success @@ -65,7 +65,7 @@ XML def test_get_requests_collection login_king - get '/request', view: 'collection', reviewstates: 'accepted' + get '/request', params: { view: 'collection', reviewstates: 'accepted' } assert_response :success # Should respond with a collection of 9 requests assert_select 'collection request', 9 @@ -87,7 +87,7 @@ XML end # Narrow search for reviews by user adrian - get '/request', view: 'collection', reviewstates: 'new', roles: 'reviewer', user: 'adrian' + get '/request', params: { view: 'collection', reviewstates: 'new', roles: 'reviewer', user: 'adrian' } assert_response :success # Should respond with a collection of 2 requests @@ -129,13 +129,13 @@ XML def test_create_invalid login_king - post '/request?cmd=create', 'GRFZL' + post '/request?cmd=create', params: 'GRFZL' assert_response 400 reset_auth # make sure requests from not valid users do not pass req = load_backend_file('request/1') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 401 end @@ -147,7 +147,7 @@ XML assert_response :success assert_xml_tag(tag: 'devel') - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro:Update" package="pack2"/> <target project="home:Iggy" package="NEW_PACKAGE"/> @@ -159,7 +159,7 @@ XML id = node['id'] assert !id.blank? - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="RemoteInstance:BaseDistro:Update" package="pack2"/> <target project="home:Iggy" package="NEW_PACKAGE2"/> @@ -204,24 +204,24 @@ XML wait_for_scheduler_start prepare_request_with_user 'Iggy', 'buildservice' - post '/source/home:Iggy/NEW_PACKAGE', cmd: :branch + post '/source/home:Iggy/NEW_PACKAGE', params: { cmd: :branch } assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_package' }) - post '/source/home:Iggy/TestPack', cmd: :branch, missingok: 'true' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, missingok: 'true' } assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'not_missing' }) - post '/source/home:Iggy/NEW_PACKAGE', cmd: :branch, missingok: 'true' + post '/source/home:Iggy/NEW_PACKAGE', params: { cmd: :branch, missingok: 'true' } assert_response :success get '/source/home:Iggy:branches:home:Iggy/NEW_PACKAGE/_link' assert_response :success assert_xml_tag(tag: 'link', attributes: { missingok: 'true', project: 'home:Iggy', package: nil }) - put '/source/home:Iggy:branches:home:Iggy/NEW_PACKAGE/new_file', 'my content' + put '/source/home:Iggy:branches:home:Iggy/NEW_PACKAGE/new_file', params: 'my content' assert_response :success # the birthday of J.K. Timecop.freeze(2010, 7, 12) # submit request - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <priority>critical</priority> <action type="submit"> <source project="home:Iggy:branches:home:Iggy" package="NEW_PACKAGE"/> @@ -320,7 +320,7 @@ XML end # missingok disapeared - post '/source/home:Iggy:branches:home:Iggy', cmd: :undelete + post '/source/home:Iggy:branches:home:Iggy', params: { cmd: :undelete } assert_response :success get '/source/home:Iggy:branches:home:Iggy/NEW_PACKAGE/_link' assert_response :success @@ -338,15 +338,15 @@ XML def test_request_autodecline_on_removal login_Iggy - post '/source/home:Iggy/TestPack?target_project=home:Iggy&target_package=TestPack.DELETE', cmd: :branch + post '/source/home:Iggy/TestPack?target_project=home:Iggy&target_package=TestPack.DELETE', params: { cmd: :branch } assert_response :success - post '/source/home:Iggy/TestPack.DELETE?target_project=home:Iggy&target_package=TestPack.DELETE2', cmd: :branch + post '/source/home:Iggy/TestPack.DELETE?target_project=home:Iggy&target_package=TestPack.DELETE2', params: { cmd: :branch } assert_response :success - put '/source/home:Iggy/TestPack.DELETE2/file', 'some' + put '/source/home:Iggy/TestPack.DELETE2/file', params: 'some' assert_response :success # create requests - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:Iggy" package="TestPack.DELETE2"/> <target project="home:Iggy" package="DUMMY"/> @@ -357,7 +357,7 @@ XML node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) id1 = node.value('id') - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:Iggy" package="TestPack.DELETE"/> <target project="home:Iggy" package="TestPack.DELETE2"/> @@ -384,13 +384,13 @@ XML def test_submit_request_with_broken_source login_Iggy - post '/source/home:Iggy/TestPack?target_project=home:Iggy&target_package=TestPack.DELETE', cmd: :branch + post '/source/home:Iggy/TestPack?target_project=home:Iggy&target_package=TestPack.DELETE', params: { cmd: :branch } assert_response :success - post '/source/home:Iggy/TestPack.DELETE?target_project=home:Iggy&target_package=TestPack.DELETE2', cmd: :branch + post '/source/home:Iggy/TestPack.DELETE?target_project=home:Iggy&target_package=TestPack.DELETE2', params: { cmd: :branch } assert_response :success # create working requests - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:Iggy" package="TestPack.DELETE2"/> <target project="home:Iggy" package="DUMMY"/> @@ -403,9 +403,9 @@ XML id1 = node.value('id') # create conflicts - put '/source/home:Iggy/TestPack.DELETE/conflictingfile', 'ASD' + put '/source/home:Iggy/TestPack.DELETE/conflictingfile', params: 'ASD' assert_response :success - put '/source/home:Iggy/TestPack.DELETE2/conflictingfile', '123' + put '/source/home:Iggy/TestPack.DELETE2/conflictingfile', params: '123' assert_response :success # accepting request fails in a valid way @@ -416,7 +416,7 @@ XML # new requests are not possible anymore login_Iggy - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:Iggy" package="TestPack.DELETE2"/> <target project="home:Iggy" package="DUMMY"/> @@ -425,7 +425,7 @@ XML </request>' assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'expand_error' }) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:Iggy" package="TestPack.DELETE2" rev="2"/> <target project="home:Iggy" package="DUMMY"/> @@ -443,50 +443,50 @@ XML def test_submit_broken_request login_king - put '/source/home:coolo:test/kdelibs_DEVEL_package/file', 'CONTENT' # just to have a revision, or we fail + put '/source/home:coolo:test/kdelibs_DEVEL_package/file', params: 'CONTENT' # just to have a revision, or we fail assert_response :success login_Iggy - post '/request?cmd=create', load_backend_file('request/no_such_project') + post '/request?cmd=create', params: load_backend_file('request/no_such_project') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_project' }) - post '/request?cmd=create', load_backend_file('request/no_such_package') + post '/request?cmd=create', params: load_backend_file('request/no_such_package') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_package' }) - post '/request?cmd=create', load_backend_file('request/no_such_user') + post '/request?cmd=create', params: load_backend_file('request/no_such_user') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }, child: { content: %r{Couldn.t find User} }) - post '/request?cmd=create', load_backend_file('request/no_such_group') + post '/request?cmd=create', params: load_backend_file('request/no_such_group') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }, child: { content: %r{Couldn.t find Group} }) - post '/request?cmd=create', load_backend_file('request/no_such_role') + post '/request?cmd=create', params: load_backend_file('request/no_such_role') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }, child: { content: %r{Couldn.t find Role} }) - post '/request?cmd=create', load_backend_file('request/no_such_target_project') + post '/request?cmd=create', params: load_backend_file('request/no_such_target_project') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_project' }) - post '/request?cmd=create', load_backend_file('request/no_such_target_package') + post '/request?cmd=create', params: load_backend_file('request/no_such_target_package') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_package' }) - post '/request?cmd=create', load_backend_file('request/missing_role') + post '/request?cmd=create', params: load_backend_file('request/missing_role') assert_response 404 assert_select 'status[code] > summary', /No role specified/ - post '/request?cmd=create', load_backend_file('request/failing_cleanup_due_devel_package') + post '/request?cmd=create', params: load_backend_file('request/failing_cleanup_due_devel_package') assert_response 400 assert_select 'status[code] > summary', /Package is used by following packages as devel package:/ end def test_set_bugowner_request login_Iggy - post '/request?cmd=create', load_backend_file('request/set_bugowner') + post '/request?cmd=create', params: load_backend_file('request/set_bugowner') assert_response :success assert_xml_tag(tag: 'person', attributes: { name: 'Iggy' }) node = ActiveXML::Node.new(@response.body) @@ -496,7 +496,7 @@ XML assert_response :success assert_xml_tag(tag: 'person', attributes: { name: 'Iggy' }) - post '/request?cmd=create', load_backend_file('request/set_bugowner_group') + post '/request?cmd=create', params: load_backend_file('request/set_bugowner_group') assert_response :success assert_xml_tag(tag: 'group', attributes: { name: 'test_group' }) node = ActiveXML::Node.new(@response.body) @@ -506,29 +506,29 @@ XML assert_response :success assert_xml_tag(tag: 'group', attributes: { name: 'test_group' }) - post '/request?cmd=create', load_backend_file('request/set_bugowner_fail') + post '/request?cmd=create', params: load_backend_file('request/set_bugowner_fail') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_package' }) - post '/request?cmd=create', load_backend_file('request/set_bugowner_fail_unknown_user') + post '/request?cmd=create', params: load_backend_file('request/set_bugowner_fail_unknown_user') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }) - post '/request?cmd=create', load_backend_file('request/set_bugowner_fail_unknown_group') + post '/request?cmd=create', params: load_backend_file('request/set_bugowner_fail_unknown_group') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }) # test direct put login_Iggy - put "/request/#{id}", load_backend_file('request/set_bugowner') + put "/request/#{id}", params: load_backend_file('request/set_bugowner') assert_response 403 - put "/request/#{id2}", load_backend_file('request/set_bugowner_group') + put "/request/#{id2}", params: load_backend_file('request/set_bugowner_group') assert_response 403 login_king - put "/request/#{id}", load_backend_file('request/set_bugowner') + put "/request/#{id}", params: load_backend_file('request/set_bugowner') assert_response :success - put "/request/#{id2}", load_backend_file('request/set_bugowner_group') + put "/request/#{id2}", params: load_backend_file('request/set_bugowner_group') assert_response :success # accept @@ -557,17 +557,17 @@ XML assert_xml_tag(tag: 'requestid', content: id2) # cleanup - put "/source/kde4/kdelibs/_meta", meta + put "/source/kde4/kdelibs/_meta", params: meta assert_response :success end def test_invalid_bugowner_requests login_Iggy - put '/source/home:Iggy:Test/_meta', "<project name='home:Iggy:Test'><title></title><description></description> </project>" + put '/source/home:Iggy:Test/_meta', params: "<project name='home:Iggy:Test'><title></title><description></description> </project>" assert_response :success login_adrian - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="set_bugowner"> <target project="home:Iggy:Test"/> </action> @@ -576,7 +576,7 @@ XML assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'invalid_record' }) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="set_bugowner"> <target project="home:Iggy:Test"/> <person name="DOESNOTEXIST" /> @@ -586,7 +586,7 @@ XML assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="set_bugowner"> <target project="home:Iggy:Test"/> <group name="DOESNOTEXIST" /> @@ -604,11 +604,11 @@ XML def test_set_bugowner_request_locked_project login_Iggy - put '/source/home:Iggy:Test/_meta', "<project name='home:Iggy:Test'><title></title><description></description> <lock><enable/></lock></project>" + put '/source/home:Iggy:Test/_meta', params: "<project name='home:Iggy:Test'><title></title><description></description> <lock><enable/></lock></project>" assert_response :success login_adrian - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="set_bugowner"> <target project="home:Iggy:Test"/> <person name="adrian" /> @@ -636,14 +636,14 @@ XML assert_xml_tag(tag: 'person', attributes: { role: 'bugowner' }) # unlock and try with a locked package - post '/source/home:Iggy:Test', { cmd: 'unlock', comment: 'cleanup' } + post '/source/home:Iggy:Test', params: { cmd: 'unlock', comment: 'cleanup' } assert_response :success - put '/source/home:Iggy:Test/pack/_meta', "<package project='home:Iggy:Test' name='pack'><title></title><description></description> <lock><enable/></lock></package>" + put '/source/home:Iggy:Test/pack/_meta', params: "<package project='home:Iggy:Test' name='pack'><title></title><description></description> <lock><enable/></lock></package>" assert_response :success login_adrian - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="set_bugowner"> <target project="home:Iggy:Test" package="pack"/> <person name="adrian" /> @@ -677,19 +677,19 @@ XML def test_create_request_anonymous # try it without anonymous - login required - post '/request?cmd=create', load_backend_file('request/add_role') + post '/request?cmd=create', params: load_backend_file('request/add_role') assert_xml_tag tag: 'status', attributes: { code: 'authentication_required' } assert_response 401 # now try as webui if we get a different error - post '/request?cmd=create', load_backend_file('request/add_role'), { 'HTTP_USER_AGENT' => 'obs-webui-something' } + post '/request?cmd=create', params: load_backend_file('request/add_role'), headers: { 'HTTP_USER_AGENT' => 'obs-webui-something' } assert_xml_tag tag: 'status', attributes: { code: 'anonymous_user' } assert_response 401 end def test_add_role_request login_Iggy - post '/request?cmd=create', load_backend_file('request/add_role') + post '/request?cmd=create', params: load_backend_file('request/add_role') assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) @@ -698,18 +698,18 @@ XML post "/request/#{id}?cmd=changestate&newstate=revoked" assert_response :success - post '/request?cmd=create', load_backend_file('request/add_role_fail') + post '/request?cmd=create', params: load_backend_file('request/add_role_fail') assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_package' }) - post '/request?cmd=create', load_backend_file('request/add_role_fail') + post '/request?cmd=create', params: load_backend_file('request/add_role_fail') assert_response 404 end def test_create_request_clone_and_superseed_it login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -719,7 +719,7 @@ XML # do the real mbranch for default maintained packages reset_auth login_tom - post '/source', cmd: 'branch', request: id + post '/source', params: { cmd: 'branch', request: id } assert_response :success # got the correct package branched ? @@ -742,7 +742,7 @@ XML def test_create_request_review_and_supersede login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -799,7 +799,7 @@ XML def test_create_request_and_supersede login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -824,7 +824,7 @@ XML def test_create_request_and_supersede_as_creator login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -838,7 +838,7 @@ XML def test_create_request_and_decline_review login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -879,7 +879,7 @@ XML Timecop.freeze(2010, 7, 12) login_Iggy - post('/request?cmd=create', "<request> + post('/request?cmd=create', params: "<request> <action type='add_role'> <target project='home:Iggy' package='TestPack' /> <person name='Iggy' role='reviewer' /> @@ -936,7 +936,7 @@ XML # reopen a review login_tom Timecop.freeze(1) # 0:0:5 reopened from tom - post "/request/#{id}?cmd=changereviewstate&newstate=new&by_user=tom&comment=reopen2", nil + post "/request/#{id}?cmd=changereviewstate&newstate=new&by_user=tom&comment=reopen2" assert_response :success get "/request/#{id}?withhistory=1" assert_response :success @@ -1009,7 +1009,7 @@ XML def test_assign_from_group login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -1035,7 +1035,7 @@ XML assert_no_xml_tag(tag: 'review', attributes: { state: 'new', by_user: 'Iggy' }) assert_xml_tag(tag: 'review', attributes: { state: 'new', by_user: 'king' }) assert_xml_tag(tag: 'review', attributes: { state: 'new', by_group: 'test_group' }) - post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=Iggy", 'Iggy, please have a look' + post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=Iggy", params: 'Iggy, please have a look' assert_response :success get "/request/#{id}" assert_response :success @@ -1043,11 +1043,11 @@ XML assert_xml_tag(tag: 'review', attributes: { state: 'new', by_user: 'king' }) assert_xml_tag(tag: 'review', attributes: { state: 'accepted', by_group: 'test_group' }) # stealing the review of king is not working - post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=king&revert=1", 'try to kill it' + post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=king&revert=1", params: 'try to kill it' assert_response 404 assert_xml_tag tag: 'summary', content: "Not an assigned review" # Iggy went home without telling.... - post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=Iggy&revert=1", 'ups, drop it again' + post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=Iggy&revert=1", params: 'ups, drop it again' assert_response :success get "/request/#{id}" assert_response :success @@ -1062,7 +1062,7 @@ XML assert_no_xml_tag(tag: 'review', attributes: { state: 'new', by_user: 'adrian_downloader' }) assert_xml_tag(tag: 'review', attributes: { state: 'new', by_user: 'king' }) assert_xml_tag(tag: 'review', attributes: { state: 'new', by_group: 'test_group' }) - post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=adrian_downloader", 'adrian_downloader, please have a look' + post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=adrian_downloader", params: 'adrian_downloader, please have a look' assert_response :success get "/request/#{id}" assert_response :success @@ -1078,7 +1078,7 @@ XML assert_xml_tag(tag: 'review', attributes: { state: 'accepted', by_user: 'adrian_downloader' }) # adrian_downloader assigns to himself - post "/request/#{id}?by_group=test_group_b&cmd=assignreview&reviewer=adrian_downloader", 'I will work on it as well' + post "/request/#{id}?by_group=test_group_b&cmd=assignreview&reviewer=adrian_downloader", params: 'I will work on it as well' assert_response :success get "/request/#{id}" assert_response :success @@ -1101,7 +1101,7 @@ XML def test_change_review_state_after_leaving_review_phase login_Iggy req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -1124,9 +1124,9 @@ XML assert_xml_tag(tag: 'review', attributes: { by_group: 'test_group' }) login_adrian - post "/request/#{id}?newstate=new&by_group=test_group&cmd=changereviewstate", 'adrian is looking' + post "/request/#{id}?newstate=new&by_group=test_group&cmd=changereviewstate", params: 'adrian is looking' assert_response :success - post "/request/#{id}?newstate=new&by_group=test_group&cmd=changereviewstate", 'adrian does not care' + post "/request/#{id}?newstate=new&by_group=test_group&cmd=changereviewstate", params: 'adrian does not care' assert_response :success login_tom @@ -1147,9 +1147,9 @@ XML assert_xml_tag tag: 'status', attributes: { code: 'review_change_state_no_permission' } # search this request and verify that all reviews got rendered. - get '/search/request', match: "[@id=#{id}]" + get '/search/request', params: { match: "[@id=#{id}]" } assert_response :success - get '/search/request', match: "[review/@by_user='adrian']" + get '/search/request', params: { match: "[review/@by_user='adrian']" } assert_response :success assert_xml_tag(tag: 'review', attributes: { by_user: 'adrian' }) assert_xml_tag(tag: 'review', attributes: { by_user: 'tom' }) @@ -1158,7 +1158,7 @@ XML def test_search_by_creator login_Iggy - get '/search/request', match: "@creator='Iggy'" + get '/search/request', params: { match: "@creator='Iggy'" } assert_response :success assert_xml_tag(tag: "request", attributes: {id: "6", creator: "Iggy"}) end @@ -1168,21 +1168,21 @@ XML # claim to be someone else login_Iggy - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'request_save_error' }) assert_xml_tag(tag: 'summary', content: "Admin permissions required to set request creator to foreign user") # make sure there is at least one request login_tom - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success node = ActiveXML::Node.new(@response.body) id = node.value :id # admin can define requests in the name of other people login_king - put("/request/#{id}", load_backend_file('request/1')) + put("/request/#{id}", params: load_backend_file('request/1')) assert_response :success assert_xml_tag(tag: 'state', attributes: { who: 'tom' }) @@ -1193,25 +1193,25 @@ XML # via GET login_Iggy - get '/search/request', match: "(state/@name='new' or state/@name='review') and (action/target/@project='kde4' and action/target/@package='wpa_supplicant')" + get '/search/request', params: { match: "(state/@name='new' or state/@name='review') and (action/target/@project='kde4' and action/target/@package='wpa_supplicant')" } assert_response :success assert_xml_tag(tag: 'request', attributes: { id: id }) # via POST - post '/search/request', URI.encode("match=(state/@name='new' or state/@name='review') and (action/target/@project='kde4' and action/target/@package='wpa_supplicant')") + post '/search/request', params: URI.encode("match=(state/@name='new' or state/@name='review') and (action/target/@project='kde4' and action/target/@package='wpa_supplicant')") assert_response :success assert_xml_tag(tag: 'request', attributes: { id: id }) # search history - get '/search/request', match: "history/@who='Iggy'" + get '/search/request', params: { match: "history/@who='Iggy'" } assert_response :success assert_no_xml_tag(tag: 'history') - get '/search/request', match: "history/@who='Iggy'", withhistory: "1" + get '/search/request', params: { match: "history/@who='Iggy'", withhistory: "1" } assert_response :success assert_xml_tag(tag: 'history', attributes: { who: "Iggy" }) # test "osc rq" - get '/search/request', match: "(state/@who='tom' or history/@who='tom')" + get '/search/request', params: { match: "(state/@who='tom' or history/@who='tom')" } assert_response :success assert_xml_tag tag: 'collection', children: { count: 6 } @@ -1281,7 +1281,7 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) @@ -1295,7 +1295,7 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) @@ -1322,7 +1322,7 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq # this used to verify it can't delete devel links, but that was changed assert_response :success @@ -1332,7 +1332,7 @@ XML assert_response 400 # cleanup - put '/source/home:Iggy/TestPack/_meta', oldmeta.dup + put '/source/home:Iggy/TestPack/_meta', params: oldmeta.dup assert_response :success end @@ -1340,7 +1340,7 @@ XML login_Iggy # block request creation in project - post '/source/home:Iggy/_attribute', "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Go Away</value> </attribute> </attributes>" + post '/source/home:Iggy/_attribute', params: "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Go Away</value> </attribute> </attributes>" assert_response :success rq = '<request> @@ -1351,29 +1351,29 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 403 assert_match(/Go Away/, @response.body) assert_xml_tag tag: 'status', attributes: { code: 'request_rejected' } # just for submit actions - post '/source/home:Iggy/_attribute', "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>No Submits</value> <value>submit</value> </attribute> </attributes>" + post '/source/home:Iggy/_attribute', params: "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>No Submits</value> <value>submit</value> </attribute> </attributes>" assert_response :success - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 403 assert_match(/No Submits/, @response.body) assert_xml_tag tag: 'status', attributes: { code: 'request_rejected' } # but it works when blocking only for others - post '/source/home:Iggy/_attribute', "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Submits welcome</value> <value>delete</value> <value>set_bugowner</value> </attribute> </attributes>" + post '/source/home:Iggy/_attribute', params: "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Submits welcome</value> <value>delete</value> <value>set_bugowner</value> </attribute> </attributes>" assert_response :success - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success # block request creation in package - post '/source/home:Iggy/TestPack/_attribute', "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Package blocked</value> </attribute> </attributes>" + post '/source/home:Iggy/TestPack/_attribute', params: "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Package blocked</value> </attribute> </attributes>" assert_response :success - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 403 assert_match(/Package blocked/, @response.body) assert_xml_tag tag: 'status', attributes: { code: 'request_rejected' } @@ -1381,22 +1381,22 @@ XML delete '/source/home:Iggy/_attribute/OBS:RejectRequests' assert_response :success # still not working - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 403 assert_match(/Package blocked/, @response.body) assert_xml_tag tag: 'status', attributes: { code: 'request_rejected' } # just for submit actions - post '/source/home:Iggy/TestPack/_attribute', "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>No Submits</value> <value>submit</value> </attribute> </attributes>" + post '/source/home:Iggy/TestPack/_attribute', params: "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>No Submits</value> <value>submit</value> </attribute> </attributes>" assert_response :success - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 403 assert_match(/No Submits/, @response.body) assert_xml_tag tag: 'status', attributes: { code: 'request_rejected' } # but it works when blocking only for others - post '/source/home:Iggy/TestPack/_attribute', "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Submits welcome</value> <value>delete</value> <value>set_bugowner</value> </attribute> </attributes>" + post '/source/home:Iggy/TestPack/_attribute', params: "<attributes><attribute namespace='OBS' name='RejectRequests'> <value>Submits welcome</value> <value>delete</value> <value>set_bugowner</value> </attribute> </attributes>" assert_response :success - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success # FIXME: test with request without target @@ -1409,7 +1409,7 @@ XML # osc is still submitting with old style by default def test_old_style_submit_request prepare_request_with_user 'hidden_homer', 'buildservice' - post '/request?cmd=create', '<request type="submit"> + post '/request?cmd=create', params: '<request type="submit"> <submit> <source project="HiddenProject" package="pack" rev="1"/> <target project="kde4" package="DUMMY"/> @@ -1432,7 +1432,7 @@ XML def test_submit_request_from_hidden_project_and_hidden_source login_tom - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="HiddenProject" package="pack" rev="1"/> <target project="home:tom" package="DUMMY"/> @@ -1440,7 +1440,7 @@ XML <state name="new" /> </request>' assert_response 404 - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="SourceprotectedProject" package="pack" rev="1"/> <target project="home:tom" package="DUMMY"/> @@ -1450,7 +1450,7 @@ XML assert_response 403 prepare_request_with_user 'hidden_homer', 'buildservice' - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="HiddenProject" package="pack" rev="1"/> <target project="kde4" package="DUMMY"/> @@ -1465,7 +1465,7 @@ XML assert_response :success prepare_request_with_user 'sourceaccess_homer', 'buildservice' - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="SourceprotectedProject" package="pack" rev="1"/> <target project="kde4" package="DUMMY"/> @@ -1482,9 +1482,9 @@ XML def test_auto_revoke_when_source_gets_removed_maintenance_incident login_tom - post '/source/kde4/kdebase', cmd: :branch + post '/source/kde4/kdebase', params: { cmd: :branch } assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="maintenance_incident"> <source project="home:tom:branches:kde4" package="kdebase" rev="1"/> <target project="My:Maintenance" releaseproject="BaseDistro3" /> @@ -1518,9 +1518,9 @@ XML def test_auto_revoke_when_source_gets_removed_submit login_tom - post '/source/kde4/kdebase', cmd: :branch + post '/source/kde4/kdebase', params: { cmd: :branch } assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:tom:branches:kde4" package="kdebase" rev="0"/> </action> @@ -1532,9 +1532,9 @@ XML assert node.has_attribute?(:id) id1 = node.value(:id) - post '/source/home:tom:branches:kde4/kdebase', cmd: :branch + post '/source/home:tom:branches:kde4/kdebase', params: { cmd: :branch } assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:tom:branches:home:tom:branches:kde4" package="kdebase" rev="0"/> </action> @@ -1591,13 +1591,13 @@ XML <description/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 401 assert_select 'status[code] > summary', /Authentication required/ # create request by non-maintainer => validate created review item login_tom - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') assert_xml_tag(tag: 'review', attributes: { by_project: 'home:Iggy', by_package: 'TestPack' }) @@ -1618,7 +1618,7 @@ XML assert_xml_tag(tag: 'review', attributes: { by_project: 'home:Iggy', by_package: 'TestPack' }) # test search via xpath as well - get '/search/request', match: "state/@name='review' and review[@by_project='home:Iggy' and @state='new']" + get '/search/request', params: { match: "state/@name='review' and review[@by_project='home:Iggy' and @state='new']" } assert_response :success assert_xml_tag(tag: 'collection', child: { tag: 'request' }) assert_xml_tag(tag: 'review', attributes: { by_project: 'home:Iggy', by_package: 'TestPack' }) @@ -1626,12 +1626,12 @@ XML # create request by maintainer login_Iggy req = load_backend_file('request/submit_without_target') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'unknown_target_project' }) req = load_backend_file('request/works') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') assert_no_xml_tag(tag: 'review', attributes: { by_project: 'home:Iggy', by_package: 'TestPack' }) @@ -1660,7 +1660,7 @@ XML assert_xml_tag(tag: 'review', attributes: { by_group: 'test_group' }) # test search via xpath as well - get '/search/request', match: "state/@name='review' and review[@by_group='test_group' and @state='new']" + get '/search/request', params: { match: "state/@name='review' and review[@by_group='test_group' and @state='new']" } assert_response :success assert_xml_tag(tag: 'collection', child: { tag: 'request' }) assert_xml_tag(tag: 'review', attributes: { by_group: 'test_group' }) @@ -1743,7 +1743,7 @@ XML </action> <description/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 403 assert_xml_tag(tag: 'status', attributes: { code: 'lacking_maintainership' }) end @@ -1758,7 +1758,7 @@ XML </action> <description/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 403 assert_xml_tag(tag: 'status', attributes: { code: 'lacking_maintainership' }) end @@ -1766,7 +1766,7 @@ XML def test_makeoriginolder_request login_Iggy - put '/source/home:Iggy:Apache/_meta', "<project name='home:Iggy:Apache'> <title/> <description/> + put '/source/home:Iggy:Apache/_meta', params: "<project name='home:Iggy:Apache'> <title/> <description/> <link project='Apache'/> </project>" assert_response :success @@ -1781,7 +1781,7 @@ XML </action> <description/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success node = Xmlhash.parse(@response.body) id = node['id'] @@ -1814,11 +1814,11 @@ XML def test_reopen_a_review_declined_request %w(new review).each do |newstate| login_Iggy - post '/source/Apache/apache2', cmd: :branch + post '/source/Apache/apache2', params: { cmd: :branch } assert_response :success # do a commit - put '/source/home:Iggy:branches:Apache/apache2/file', 'dummy' + put '/source/home:Iggy:branches:Apache/apache2/file', params: 'dummy' assert_response :success req = "<request> @@ -1827,7 +1827,7 @@ XML </action> <description/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'state', attributes: { name: 'new' }) node = ActiveXML::Node.new(@response.body) @@ -1866,11 +1866,11 @@ XML def test_reopen_revoked_and_declined_request login_Iggy - post '/source/Apache/apache2', cmd: :branch + post '/source/Apache/apache2', params: { cmd: :branch } assert_response :success # do a commit - put '/source/home:Iggy:branches:Apache/apache2/file', 'dummy' + put '/source/home:Iggy:branches:Apache/apache2/file', params: 'dummy' assert_response :success req = "<request> @@ -1879,7 +1879,7 @@ XML </action> <description/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'state', attributes: { name: 'new' }) node = ActiveXML::Node.new(@response.body) @@ -1954,13 +1954,13 @@ XML login_Iggy # create kdebase package - post '/source/kde4/kdebase', cmd: :branch + post '/source/kde4/kdebase', params: { cmd: :branch } assert_response :success - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success - put '/source/home:Iggy:branches:kde4/kdebase/change', 'avoid dropped submit action' + put '/source/home:Iggy:branches:kde4/kdebase/change', params: 'avoid dropped submit action' assert_response :success - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) @@ -1993,7 +1993,7 @@ XML assert_response :success assert_xml_tag(tag: 'state', attributes: { name: 'review' }) assert_xml_tag(tag: 'review', attributes: { by_project: 'home:coolo:test', by_package: 'kdelibs_DEVEL_package' }) - post "/request/#{id}?cmd=changereviewstate&newstate=accepted&by_project=home:coolo:test&by_package=kdelibs_DEVEL_package", nil + post "/request/#{id}?cmd=changereviewstate&newstate=accepted&by_project=home:coolo:test&by_package=kdelibs_DEVEL_package" assert_response :success get "/request/#{id}" assert_response :success @@ -2007,13 +2007,13 @@ XML post "/request/#{id}?cmd=changereviewstate&newstate=new&by_user=INEXISTENT" assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }) - post "/request/#{id}?cmd=changereviewstate&newstate=new&by_project=home:coolo:test&by_package=kdelibs_DEVEL_package", nil + post "/request/#{id}?cmd=changereviewstate&newstate=new&by_project=home:coolo:test&by_package=kdelibs_DEVEL_package" assert_response :success get "/request/#{id}" assert_response :success assert_xml_tag(tag: 'state', attributes: { name: 'review' }) # and accept it again - post "/request/#{id}?cmd=changereviewstate&newstate=accepted&by_project=home:coolo:test&by_package=kdelibs_DEVEL_package", nil + post "/request/#{id}?cmd=changereviewstate&newstate=accepted&by_project=home:coolo:test&by_package=kdelibs_DEVEL_package" assert_response :success get "/request/#{id}" assert_response :success @@ -2070,9 +2070,9 @@ XML login_king delete '/source/kde4/Testing' assert_response :success - post '/source/home:fred:DeleteProject', cmd: "undelete" + post '/source/home:fred:DeleteProject', params: { cmd: "undelete" } assert_response :success - post '/source/home:Iggy/ToBeDeletedTestPack', cmd: "undelete" + post '/source/home:Iggy/ToBeDeletedTestPack', params: { cmd: "undelete" } assert_response :success end @@ -2080,7 +2080,7 @@ XML req = load_backend_file('request/submit_with_review') login_Iggy - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success # we upload 2 and 2 default reviewers are added assert_xml_tag(children: { only: { tag: 'review' }, count: 4 }) @@ -2168,7 +2168,7 @@ XML </action> <description>SUBMIT</description> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -2182,7 +2182,7 @@ XML # set project to approve it login_king - post '/source/BaseDistro2.0/_attribute', "<attributes><attribute namespace='OBS' name='ApprovedRequestSource' /></attributes>" + post '/source/BaseDistro2.0/_attribute', params: "<attributes><attribute namespace='OBS' name='ApprovedRequestSource' /></attributes>" assert_response :success # create request again @@ -2194,7 +2194,7 @@ XML </action> <description>SUBMIT</description> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -2215,12 +2215,12 @@ XML def test_submit_unchanged_sources # create ower playground login_king - put '/source/DummY/_meta', "<project name='DummY'><title/><description/><link project='BaseDistro2.0'/></project>" + put '/source/DummY/_meta', params: "<project name='DummY'><title/><description/><link project='BaseDistro2.0'/></project>" assert_response :success # branch a package which does not exist in project, but project is linked login_tom - post '/source/DummY/pack2', cmd: :branch + post '/source/DummY/pack2', params: { cmd: :branch } assert_response :success # check source link @@ -2242,7 +2242,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success req = "<request> <action type='submit'> @@ -2255,12 +2255,12 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success # now link package inside, so sources are unchanged login_king - post '/source/BaseDistro2.0/pack2', cmd: :branch, target_project: "DummY" + post '/source/BaseDistro2.0/pack2', params: { cmd: :branch, target_project: "DummY" } assert_response :success login_tom req = "<request> @@ -2274,7 +2274,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: "missing_action" }) req = "<request> @@ -2288,7 +2288,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: "missing_action" }) @@ -2304,7 +2304,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success req = "<request> <action type='submit'> @@ -2317,12 +2317,12 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success # now with modified sources login_tom - put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/new_file', "just to have changed source" + put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/new_file', params: "just to have changed source" assert_response :success req = "<request> <action type='submit'> @@ -2335,7 +2335,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success req = "<request> <action type='submit'> @@ -2348,7 +2348,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success # cleanup @@ -2362,12 +2362,12 @@ XML def test_branch_and_submit_request_to_linked_project_and_delete_it_again # create ower playground login_king - put '/source/DummY/_meta', "<project name='DummY'><title/><description/><link project='BaseDistro2.0'/></project>" + put '/source/DummY/_meta', params: "<project name='DummY'><title/><description/><link project='BaseDistro2.0'/></project>" assert_response :success # branch a package which does not exist in project, but project is linked login_tom - post '/source/DummY/pack2', cmd: :branch + post '/source/DummY/pack2', params: { cmd: :branch } assert_response :success # check source link @@ -2378,7 +2378,7 @@ XML assert_nil ret['package'] # same package name # do some modification - put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/NEW_FILE', 'content' + put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/NEW_FILE', params: 'content' assert_response :success # create request @@ -2393,7 +2393,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) @@ -2421,7 +2421,7 @@ XML ### try again with update link # do some modification - put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/NEW_FILE', 'NEW content' + put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2/NEW_FILE', params: 'NEW content' assert_response :success # create request req = "<request> @@ -2435,7 +2435,7 @@ XML <description>SUBMIT</description> <state who='Iggy' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) @@ -2443,7 +2443,7 @@ XML assert id.present? # ensure that the diff shows the link change - post "/request/#{id}?cmd=diff&view=xml", nil + post "/request/#{id}?cmd=diff&view=xml" assert_response :success assert_xml_tag(parent: { tag: 'file', attributes: { state: 'changed' } }, tag: 'old', attributes: { name: '_link' }) @@ -2461,10 +2461,10 @@ XML get "/request/#{id}" assert_response :success assert_xml_tag(parent: { tag: 'action', attributes: { type: 'submit' } }, tag: 'acceptinfo', attributes: { rev: '3' }) - post "/request/#{id}?cmd=diff", nil + post "/request/#{id}?cmd=diff" assert_response :success assert_match 'NEW_FILE', @response.body - post "/request/#{id}?cmd=diff&view=xml", nil + post "/request/#{id}?cmd=diff&view=xml" assert_response :success assert_xml_tag(parent: { tag: 'file', attributes: { state: 'changed' } }, tag: 'new', attributes: { name: 'NEW_FILE' }) @@ -2481,7 +2481,7 @@ XML <description>SUBMIT</description> <state who='Iggy' name='new'/> </request>" - post '/request?cmd=create&addrevision=1', req + post '/request?cmd=create&addrevision=1', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) @@ -2489,7 +2489,7 @@ XML assert id.present? # ensure that the diff shows the link change - post "/request/#{id}?cmd=diff&view=xml", nil + post "/request/#{id}?cmd=diff&view=xml" assert_response :success assert_xml_tag(parent: { tag: 'file', attributes: { state: 'added' } }, tag: 'new', attributes: { name: '_link' }) @@ -2516,19 +2516,19 @@ XML <description>DELETE REQUEST</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) id = node['id'] assert id.present? - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) id2 = node['id'] assert id2.present? - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) @@ -2615,21 +2615,21 @@ XML <description>SUBMIT</description> <state/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req # user has no write permission in target assert_response 403 assert_xml_tag(tag: 'status', attributes: { code: 'post_request_no_permission' }) # works as user with write permission in target login_Iggy - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) id = node['id'] assert id.present? # and a second request - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) @@ -2650,7 +2650,7 @@ XML <description>SUBMIT</description> <state who='tom' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'request_save_error' }) assert_xml_tag(tag: 'summary', content: "Auto accept time is in the past") @@ -2696,7 +2696,7 @@ XML # works as user with write permission in target login_Iggy - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = Xmlhash.parse(@response.body) @@ -2725,7 +2725,7 @@ XML def test_branch_version_update_and_submit_request_back # branch a package which does not exist in project, but project is linked login_tom - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response :success # version update @@ -2757,7 +2757,7 @@ XML <description>SUBMIT</description> <state/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -2805,7 +2805,7 @@ XML # def test_submit_from_source_protected_project prepare_request_with_user 'sourceaccess_homer', 'buildservice' - post '/request?cmd=create', load_backend_file('request/from_source_protected_valid') + post '/request?cmd=create', params: load_backend_file('request/from_source_protected_valid') assert_response :success assert_xml_tag(tag: 'request') node = ActiveXML::Node.new(@response.body) @@ -2813,15 +2813,15 @@ XML id = node.value('id') # show diffs - post "/request/#{id}?cmd=diff", nil + post "/request/#{id}?cmd=diff" assert_response :success # diffs are secret for others reset_auth - post "/request/#{id}?cmd=diff", nil + post "/request/#{id}?cmd=diff" assert_response 401 login_Iggy - post "/request/#{id}?cmd=diff", nil + post "/request/#{id}?cmd=diff" # make sure to always either show a diff or an error - empty diff is not an option assert_response 403 end @@ -2830,11 +2830,11 @@ XML def request_hidden(user, pass, backend_file) reset_auth req = load_backend_file(backend_file) - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 401 assert_select 'status[code] > summary', /Authentication required/ prepare_request_with_user user, pass - post '/request?cmd=create', req + post '/request?cmd=create', params: req end ## create request to hidden package from open place - valid user - success @@ -2855,7 +2855,7 @@ XML ## create request to hidden package from hidden place - valid user - success def test_create_request_to_hidden_package_from_hidden_place_valid_user login_king - put '/source/HiddenProject/target/file', 'ASD' + put '/source/HiddenProject/target/file', params: 'ASD' assert_response :success request_hidden('adrian', 'buildservice', 'request/to_hidden_from_hidden_valid') assert_response :success @@ -2884,12 +2884,12 @@ XML ### role def test_hidden_add_role_request login_Iggy - post '/request?cmd=create', load_backend_file('request/hidden_add_role_fail') + post '/request?cmd=create', params: load_backend_file('request/hidden_add_role_fail') # should fail as this user shouldn't see the target package at all. assert_response 404 if $ENABLE_BROKEN_TEST reset_auth login_adrian - post '/request?cmd=create', load_backend_file('request/hidden_add_role') + post '/request?cmd=create', params: load_backend_file('request/hidden_add_role') assert_response :success end @@ -2897,11 +2897,11 @@ XML def test_try_to_delete_project_without_permissions login_Iggy - put '/source/home:Iggy:Test/_meta', "<project name='home:Iggy:Test'> <title /> <description /> </project>" + put '/source/home:Iggy:Test/_meta', params: "<project name='home:Iggy:Test'> <title /> <description /> </project>" assert_response :success # first action is permitted, but second not - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="delete"> <target project="home:Iggy:Test"/> </action> @@ -2942,7 +2942,7 @@ XML assert_xml_tag(tag: 'person', attributes: { userid: 'fred', role: 'maintainer' }) # create request for package, which is maintained by fred - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="add_role"> <target project="home:Iggy" package="TestPack"/> <person name="adrian" role="maintainer"/> @@ -2961,7 +2961,7 @@ XML # create request for project, where fred has no permissions login_Iggy - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="add_role"> <target project="home:Iggy" /> <person name="adrian" role="maintainer"/> @@ -2990,7 +2990,7 @@ XML <description/> <state who='Iggy' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'invalid_record' }) @@ -3002,7 +3002,7 @@ XML <description/> <state who='Iggy' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'invalid_record' }) end @@ -3021,7 +3021,7 @@ XML <description/> <state who='Iggy' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_xml_tag(tag: 'status', attributes: { code: 'invalid_record' }) end @@ -3036,7 +3036,7 @@ XML <description/> <state who='Iggy' name='new'/> </request>" - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success node = ActiveXML::Node.new(@response.body) @@ -3071,15 +3071,15 @@ XML </repository> </project>" - put url_for(controller: :source, action: :update_project_meta, project: 'home:Iggy:todo'), meta + put url_for(controller: :source, action: :update_project_meta, project: 'home:Iggy:todo'), params: meta assert_response :success meta = "<package name='realfun' project='home:Iggy:todo'><title/><description/></package>" - put url_for(controller: :source, action: :update_package_meta, project: 'home:Iggy:todo', package: 'realfun'), meta + put url_for(controller: :source, action: :update_package_meta, project: 'home:Iggy:todo', package: 'realfun'), params: meta assert_response :success login_tom - post '/source/home:Iggy:todo/realfun', cmd: 'branch' + post '/source/home:Iggy:todo/realfun', params: { cmd: 'branch' } assert_response :success # verify @@ -3095,7 +3095,7 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) @@ -3137,7 +3137,7 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response 404 assert_xml_tag(tag: 'status', attributes: { code: 'not_found' }) end @@ -3152,15 +3152,15 @@ XML </repository> </project>" - put url_for(controller: :source, action: :update_project_meta, project: 'home:Iggy:todo'), meta + put url_for(controller: :source, action: :update_project_meta, project: 'home:Iggy:todo'), params: meta assert_response :success meta = "<package name='realfun' project='home:Iggy:todo'><title/><description/></package>" - put url_for(controller: :source, action: :update_package_meta, project: 'home:Iggy:todo', package: 'realfun'), meta + put url_for(controller: :source, action: :update_package_meta, project: 'home:Iggy:todo', package: 'realfun'), params: meta assert_response :success login_tom - post '/source/home:Iggy:todo/realfun', cmd: 'branch' + post '/source/home:Iggy:todo/realfun', params: { cmd: 'branch' } assert_response :success # verify @@ -3175,12 +3175,12 @@ XML <state name="new" /> </request>' - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) iddelete = node.value('id') - post '/request?cmd=create', rq + post '/request?cmd=create', params: rq assert_response :success node = ActiveXML::Node.new(@response.body) assert node.has_attribute?(:id) @@ -3216,7 +3216,7 @@ XML def test_delete_request_id login_tom req = load_backend_file('request/1') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success node = Xmlhash.parse(@response.body) @@ -3240,7 +3240,7 @@ XML def test_reopen_declined_request login_Iggy req = load_backend_file('request/add_role') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success node = Xmlhash.parse(@response.body) @@ -3264,10 +3264,10 @@ XML login_Iggy Timecop.freeze(2010, 7, 12) - put '/source/home:Iggy:fordecline/_meta', "<project name='home:Iggy:fordecline'><title></title><description></description></project>" + put '/source/home:Iggy:fordecline/_meta', params: "<project name='home:Iggy:fordecline'><title></title><description></description></project>" assert_response :success - post '/request?cmd=create', "<request><action type='add_role'><target project='home:Iggy:fordecline'/><person name='Iggy' role='reviewer'/></action></request>" + post '/request?cmd=create', params: "<request><action type='add_role'><target project='home:Iggy:fordecline'/><person name='Iggy' role='reviewer'/></action></request>" assert_response :success id = Xmlhash.parse(@response.body)['id'] @@ -3323,7 +3323,7 @@ XML def test_check_target_maintainer login_tom - post '/request?cmd=create', "<request><action type='submit'><source project='Apache' package='apache2'/><target project='kde4' package='apache2'/></action></request>" + post '/request?cmd=create', params: "<request><action type='submit'><source project='Apache' package='apache2'/><target project='kde4' package='apache2'/></action></request>" assert_response :success id = Xmlhash.parse(@response.body)['id'] @@ -3334,7 +3334,7 @@ XML def test_cleanup_from_home login_dmayr req = load_backend_file('request/cleanup_from_home') - post '/request?cmd=create', req + post '/request?cmd=create', params: req assert_response :success id = Xmlhash.parse(@response.body)['id'] @@ -3356,7 +3356,7 @@ XML packages(:Devel_BaseDistro_Update_pack2).relationships.create(role: roles(:maintainer), user: users(:Iggy)) login_tom - post '/request?cmd=create', "<request><action type='delete'><target project='Devel:BaseDistro:Update' package='pack2'/></action></request>" + post '/request?cmd=create', params: "<request><action type='delete'><target project='Devel:BaseDistro:Update' package='pack2'/></action></request>" assert_response :success id = Xmlhash.parse(@response.body)['id'] @@ -3380,18 +3380,18 @@ XML sprj = 'Apache' bprj = "home:king:branches:#{sprj}" - post "/source/#{sprj}/apache2", cmd: :branch, target_project: "#{bprj}" + post "/source/#{sprj}/apache2", params: { cmd: :branch, target_project: "#{bprj}" } assert_response :success - put "/source/#{bprj}/apache2/dummy", "dummy" + put "/source/#{bprj}/apache2/dummy", params: "dummy" assert_response :success - post "/source/#{sprj}/Tidy", cmd: :branch, target_project: "#{bprj}" + post "/source/#{sprj}/Tidy", params: { cmd: :branch, target_project: "#{bprj}" } assert_response :success - put "/source/#{bprj}/Tidy/dummy", "dummy" + put "/source/#{bprj}/Tidy/dummy", params: "dummy" assert_response :success # Submit apache2 back. It is not the last project. - post '/request?cmd=create', "<request><action type='submit'><source project='#{bprj}' package='apache2'/><target project='#{sprj}' package='apache2'/></action></request>" + post '/request?cmd=create', params: "<request><action type='submit'><source project='#{bprj}' package='apache2'/><target project='#{sprj}' package='apache2'/></action></request>" assert_response :success # Accept our own request :-) id = Xmlhash.parse(@response.body)['id'] @@ -3404,7 +3404,7 @@ XML assert_xml_tag tag: 'entry', attributes: { name: 'Tidy' } # Submit Tidy back. It *is* the last project. - post '/request?cmd=create', "<request><action type='submit'><source project='#{bprj}' package='Tidy'/><target project='#{sprj}' package='Tidy'/></action></request>" + post '/request?cmd=create', params: "<request><action type='submit'><source project='#{bprj}' package='Tidy'/><target project='#{sprj}' package='Tidy'/></action></request>" assert_response :success id = Xmlhash.parse(@response.body)['id'] post "/request/#{id}?cmd=changestate&newstate=accepted" @@ -3418,9 +3418,9 @@ XML assert_no_xml_tag tag: 'entry', attributes: { name: 'Tidy' } end - delete "/source/#{sprj}/Tidy/dummy", "dummy" + delete "/source/#{sprj}/Tidy/dummy", params: "dummy" assert_response :success - delete "/source/#{sprj}/apache2/dummy", "dummy" + delete "/source/#{sprj}/apache2/dummy", params: "dummy" assert_response :success end @@ -3450,7 +3450,7 @@ XML prepare_request_with_user 'Iggy', 'buildservice' Timecop.freeze(2010, 7, 12) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro:Update" package="pack2"/> <target project="home:Iggy" package="default"/> @@ -3463,7 +3463,7 @@ XML assert !default.blank? Timecop.freeze(1) # a second default - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro:Update" package="pack2"/> <target project="home:Iggy" package="moderate"/> @@ -3476,7 +3476,7 @@ XML moderate = node['id'] assert !moderate.blank? Timecop.freeze(1) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro" package="pack2"/> <target project="home:Iggy" package="low"/> @@ -3489,7 +3489,7 @@ XML low = node['id'] assert !low.blank? Timecop.freeze(1) - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro:Update" package="pack2"/> <target project="home:Iggy" package="critical"/> @@ -3501,7 +3501,7 @@ XML node = Xmlhash.parse(@response.body) critical = node['id'] assert !critical.blank? - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="BaseDistro2.0" package="pack2"/> <target project="home:Iggy" package="important"/> @@ -3515,7 +3515,7 @@ XML assert !important.blank? Timecop.freeze(1) - get '/search/request', match: "target/@project = 'home:Iggy'" + get '/search/request', params: { match: "target/@project = 'home:Iggy'" } assert_response :success assert_xml_tag(tag: 'collection', child: { tag: 'request' }, attributes: { matches: 6 }) @@ -3527,11 +3527,11 @@ XML # now re-priorize via incident attribute login_king - post "/source/BaseDistro2.0/_attribute", "<attributes><attribute namespace='OBS' name='IncidentPriority' > + post "/source/BaseDistro2.0/_attribute", params: "<attributes><attribute namespace='OBS' name='IncidentPriority' > <value>100</value> </attribute></attributes>" assert_response :success - get '/search/request', match: "target/@project = 'home:Iggy'" + get '/search/request', params: { match: "target/@project = 'home:Iggy'" } assert_response :success assert_xml_tag(tag: 'collection', child: { tag: 'request' }, attributes: { matches: 6 }) @@ -3539,11 +3539,11 @@ XML assert_equal 'important', node['request'][0]['priority'] # make the low and important request equal high prio - post "/source/BaseDistro/_attribute", "<attributes><attribute namespace='OBS' name='IncidentPriority' > + post "/source/BaseDistro/_attribute", params: "<attributes><attribute namespace='OBS' name='IncidentPriority' > <value>100</value> </attribute></attributes>" assert_response :success - get '/search/request', match: "target/@project = 'home:Iggy'" + get '/search/request', params: { match: "target/@project = 'home:Iggy'" } assert_response :success assert_xml_tag(tag: 'collection', child: { tag: 'request' }, attributes: { matches: 6 }) @@ -3553,11 +3553,11 @@ XML assert_equal 'low', node['request'][1]['priority'] # make the low most important - post "/source/BaseDistro/_attribute", "<attributes><attribute namespace='OBS' name='IncidentPriority' > + post "/source/BaseDistro/_attribute", params: "<attributes><attribute namespace='OBS' name='IncidentPriority' > <value>101</value> </attribute></attributes>" assert_response :success - get '/search/request', match: "target/@project = 'home:Iggy'" + get '/search/request', params: { match: "target/@project = 'home:Iggy'" } assert_response :success assert_xml_tag(tag: 'collection', child: { tag: 'request' }, attributes: { matches: 6 }) diff --git a/src/api/test/functional/request_events_test.rb b/src/api/test/functional/request_events_test.rb index 776a8c973..1fdf1e3f8 100644 --- a/src/api/test/functional/request_events_test.rb +++ b/src/api/test/functional/request_events_test.rb @@ -25,8 +25,7 @@ class RequestEventsTest < ActionDispatch::IntegrationTest myid = 0 SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post '/request?cmd=create', - "<request><action type='add_role'><target project='home:tom'/><person name='Iggy' role='reviewer'/></action></request>" + post '/request?cmd=create', params: "<request><action type='add_role'><target project='home:tom'/><person name='Iggy' role='reviewer'/></action></request>" assert_response :success myid = Xmlhash.parse(@response.body)['id'] SendEventEmails.new.perform @@ -52,7 +51,7 @@ class RequestEventsTest < ActionDispatch::IntegrationTest body += "<action type='add_role'><target project='home:tom'/><person name='Iggy' role='reviewer'/></action>\n" end body += "</request>" - post '/request?cmd=create', body + post '/request?cmd=create', params: body assert_response :success req = Xmlhash.parse(@response.body) assert_equal actions, req['action'].count @@ -73,7 +72,7 @@ class RequestEventsTest < ActionDispatch::IntegrationTest myid = 0 SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post '/request?cmd=create', "<request><action type='set_bugowner'><target project='home:tom'/><person name='Iggy'/></action></request>" + post '/request?cmd=create', params: "<request><action type='set_bugowner'><target project='home:tom'/><person name='Iggy'/></action></request>" assert_response :success myid = Xmlhash.parse(@response.body)['id'] SendEventEmails.new.perform @@ -91,7 +90,7 @@ class RequestEventsTest < ActionDispatch::IntegrationTest # now check if Iggy (the creator) gets an email about revokes assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post "/request/#{myid}?cmd=changestate&newstate=declined", '' + post "/request/#{myid}?cmd=changestate&newstate=declined", params: '' assert_response :success SendEventEmails.new.perform end @@ -115,8 +114,7 @@ class RequestEventsTest < ActionDispatch::IntegrationTest myid = '' SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post '/request?cmd=create', - "<request><action type='add_role'><target project='kde4' package='kdelibs'/><person name='Iggy' role='reviewer'/></action></request>" + post '/request?cmd=create', params: "<request><action type='add_role'><target project='kde4' package='kdelibs'/><person name='Iggy' role='reviewer'/></action></request>" assert_response :success myid = Xmlhash.parse(@response.body)['id'] SendEventEmails.new.perform @@ -134,7 +132,7 @@ class RequestEventsTest < ActionDispatch::IntegrationTest myid = '' SendEventEmails.new.perform assert_difference 'ActionMailer::Base.deliveries.size', +1 do - post '/request?cmd=create', "<request><action type='delete'><target project='home:coolo' repository='standard'/></action></request>" + post '/request?cmd=create', params: "<request><action type='delete'><target project='home:coolo' repository='standard'/></action></request>" assert_response :success myid = Xmlhash.parse(@response.body)['id'] SendEventEmails.new.perform diff --git a/src/api/test/functional/search_controller_test.rb b/src/api/test/functional/search_controller_test.rb index e8ff7f348..97d2c20fc 100644 --- a/src/api/test/functional/search_controller_test.rb +++ b/src/api/test/functional/search_controller_test.rb @@ -57,12 +57,12 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_1 login_Iggy - get "/search/package", match: '[@name="apache2"]' + get "/search/package", params: { match: '[@name="apache2"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } assert_xml_tag child: { tag: 'package', attributes: { name: 'apache2', project: "Apache"} } - get "/search/package/id", match: '[contains(@name,"Test")]' + get "/search/package/id", params: { match: '[contains(@name,"Test")]' } assert_response :success assert_xml_tag child: { tag: 'package', attributes: { name: 'TestPack', project: "home:Iggy"} } assert_xml_tag child: { tag: 'package', attributes: { name: 'ToBeDeletedTestPack', project: "home:Iggy"} } @@ -72,7 +72,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_2 login_Iggy - get "/search/package", match: '[attribute/@name="OBS:Maintained"]' + get "/search/package", params: { match: '[attribute/@name="OBS:Maintained"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } assert_xml_tag child: { tag: 'package', attributes: { name: 'apache2', project: "Apache"} } @@ -80,11 +80,11 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_3 login_Iggy - get "/search/package", match: '[attribute/@name="OBS:Maintained" and @name="apache2"]' + get "/search/package", params: { match: '[attribute/@name="OBS:Maintained" and @name="apache2"]' } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: 1 } assert_xml_tag child: { tag: 'package', attributes: { name: 'apache2', project: "Apache"} } - get "/search/package/id", match: '[attribute/@name="OBS:Maintained" and @name="apache2"]' + get "/search/package/id", params: { match: '[attribute/@name="OBS:Maintained" and @name="apache2"]' } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: 1 } assert_xml_tag child: { tag: 'package', attributes: { name: 'apache2', project: "Apache"} } @@ -92,40 +92,40 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_4 login_Iggy - get "/search/package", match: '[attribute/@name="OBS:Maintained" and @name="Testpack"]' + get "/search/package", params: { match: '[attribute/@name="OBS:Maintained" and @name="Testpack"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 0 } end def test_xpath_5 login_Iggy - get "/search/package", match: '[devel/@project="kde4"]' + get "/search/package", params: { match: '[devel/@project="kde4"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 0 } end def test_xpath_6 login_Iggy - get "/search/package", match: '[attribute/@name="Maintained"]' + get "/search/package", params: { match: '[attribute/@name="Maintained"]' } assert_response 400 assert_xml_tag content: "attributes must be $NAMESPACE:$NAME" end def test_xpath_7 login_Iggy - get "/search/package", match: '[attribute/@name="OBS:Maintained"]' + get "/search/package", params: { match: '[attribute/@name="OBS:Maintained"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } login_Iggy - get "/search/package", match: 'attribute/@name="[OBS:Maintained]"' + get "/search/package", params: { match: 'attribute/@name="[OBS:Maintained]"' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 0 } end def test_xpath_8 login_Iggy - get "/search/package", match: 'attribute/@name="[OBS:Maintained"' + get "/search/package", params: { match: 'attribute/@name="[OBS:Maintained"' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: "illegal_xpath_error" } # fun part @@ -135,10 +135,10 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_not_method login_Iggy # not correct, but we used to support it :/ - get "/search/package", match: '[not(@name)]' + get "/search/package", params: { match: '[not(@name)]' } assert_response :success # this needs to work as well osc#205) - get "/search/package", match: '[not(@name="home:Iggy")]' + get "/search/package", params: { match: '[not(@name="home:Iggy")]' } assert_response :success assert_xml_tag tag: 'collection' end @@ -146,9 +146,9 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_search_for_person_or_group # used by maintenance people login_Iggy - get "/search/project", match: "(group/@role='bugowner' or person/@role='bugowner') and starts-with(@name,\"Base\"))" + get "/search/project", params: { match: "(group/@role='bugowner' or person/@role='bugowner') and starts-with(@name,\"Base\"))" } assert_response :success - get "/search/package", match: "(group/@role='bugowner' or person/@role='bugowner') and starts-with(@project,\"Base\"))" + get "/search/package", params: { match: "(group/@role='bugowner' or person/@role='bugowner') and starts-with(@project,\"Base\"))" } assert_response :success get "/search/request?match=(action/@type='set_bugowner'+and+state/@name='accepted')" assert_response :success @@ -162,14 +162,14 @@ class SearchControllerTest < ActionDispatch::IntegrationTest # do as the webui does def test_involved_packages login_Iggy - get "/search/package/id", match: "(person/@userid='Iggy') or (group/@groupid='test_group')" + get "/search/package/id", params: { match: "(person/@userid='Iggy') or (group/@groupid='test_group')" } assert_response :success end def test_person_searches # used by maintenance people login_Iggy - get "/search/person", match: "(@login='Iggy')" + get "/search/person", params: { match: "(@login='Iggy')" } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: "1" } assert_xml_tag parent: { tag: 'person' }, tag: 'login', content: "Iggy" @@ -177,15 +177,15 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: 'person' }, tag: 'realname', content: "Iggy Pop" assert_xml_tag parent: { tag: 'person' }, tag: 'state', content: "confirmed" - get "/search/person", match: "(@login='Iggy' or @login='tom')" + get "/search/person", params: { match: "(@login='Iggy' or @login='tom')" } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: "2" } - get "/search/person", match: "(@email='Iggy@pop.org')" + get "/search/person", params: { match: "(@email='Iggy@pop.org')" } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: "1" } - get "/search/person", match: "(@realname='Iggy Pop')" + get "/search/person", params: { match: "(@realname='Iggy Pop')" } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: "1" } @@ -199,11 +199,11 @@ class SearchControllerTest < ActionDispatch::IntegrationTest # old osc < 0.137 did use the search interface wrong, but that worked ... :/ # FIXME3.0: to be removed! login_Iggy - get "/search/package_id", match: '[attribute/@name="OBS:Maintained" and @name="apache2"]' + get "/search/package_id", params: { match: '[attribute/@name="OBS:Maintained" and @name="apache2"]' } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: 1 } assert_xml_tag child: { tag: 'package', attributes: { name: 'apache2', project: "Apache"} } - get "/search/project_id", match: '[@name="kde"]' + get "/search/project_id", params: { match: '[@name="kde"]' } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: 1 } assert_xml_tag child: { tag: 'project', attributes: { name: 'kde' } } @@ -213,7 +213,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_search_hidden_project_with_valid_user # user is maintainer, thus access to hidden project is allowed login_adrian - get "/search/project", match: '[@name="HiddenProject"]' + get "/search/project", params: { match: '[@name="HiddenProject"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } # <project name="HiddenProject"> @@ -223,7 +223,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_search_hidden_project_with_invalid_user # user is not maintainer - project has to be invisible login_Iggy - get "/search/project", match: '[@name="HiddenProject"]' + get "/search/project", params: { match: '[@name="HiddenProject"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 0 } end @@ -233,7 +233,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_search_package_in_hidden_project_with_valid_user # user is maintainer, thus access to hidden package is allowed login_adrian - get "/search/package", match: '[@name="pack" and @project="HiddenProject"]' + get "/search/package", params: { match: '[@name="pack" and @project="HiddenProject"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } assert_xml_tag child: { tag: 'package', attributes: { name: 'pack', project: "HiddenProject"} } @@ -242,11 +242,11 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_search_package_in_hidden_project_as_non_maintainer # user is not maintainer - package has to be invisible login_Iggy - get "/search/package", match: '[@name="pack" and @project="HiddenProject"]' + get "/search/package", params: { match: '[@name="pack" and @project="HiddenProject"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 0 } - get "/search/package", match: '[@name="pack"]' + get "/search/package", params: { match: '[@name="pack"]' } assert_response :success assert_xml_tag tag: 'package', attributes: { project: "SourceprotectedProject", name: "pack" } assert_no_xml_tag tag: 'package', attributes: { project: "HiddenProject", name: "pack" } @@ -264,7 +264,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_search_issues login_Iggy - get "/search/issue", match: '[@name="123456"]' + get "/search/issue", params: { match: '[@name="123456"]' } assert_response :success assert_xml_tag parent: { tag: 'issue'}, tag: 'name', content: "123456" assert_xml_tag parent: { tag: 'issue'}, tag: 'tracker', content: "bnc" @@ -272,32 +272,32 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_xml_tag parent: { tag: 'issue'}, tag: 'state', content: "CLOSED" assert_xml_tag parent: { tag: 'owner'}, tag: 'login', content: "fred" - get "/search/issue", match: '[@name="123456" and @tracker="bnc"]' + get "/search/issue", params: { match: '[@name="123456" and @tracker="bnc"]' } assert_response :success assert_xml_tag parent: { tag: 'issue'}, tag: 'label', content: "bnc#123456" # opposite order to test database joins - get "/search/issue", match: '[@tracker="bnc" and @name="123456"]' + get "/search/issue", params: { match: '[@tracker="bnc" and @name="123456"]' } assert_response :success assert_xml_tag parent: { tag: 'issue'}, tag: 'label', content: "bnc#123456" - get "/search/issue", match: '[@name="0123456" and @tracker="bnc"]' + get "/search/issue", params: { match: '[@name="0123456" and @tracker="bnc"]' } assert_response :success assert_no_xml_tag tag: 'issue' - get "/search/issue", match: '[@tracker="bnc" and (@name="123456" or @name="1234")]' + get "/search/issue", params: { match: '[@tracker="bnc" and (@name="123456" or @name="1234")]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 2 } - get "/search/issue", match: '[@tracker="bnc" and (@name="123456" or @name="1234") and @state="CLOSED"]' + get "/search/issue", params: { match: '[@tracker="bnc" and (@name="123456" or @name="1234") and @state="CLOSED"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } - get "/search/issue", match: '[owner/@login="fred"]' + get "/search/issue", params: { match: '[owner/@login="fred"]' } assert_response :success assert_xml_tag parent: { tag: 'issue'}, tag: 'label', content: "bnc#123456" - get "/search/issue", match: '[owner/@email="fred@feuerstein.de"]' + get "/search/issue", params: { match: '[owner/@email="fred@feuerstein.de"]' } assert_response :success assert_xml_tag parent: { tag: 'issue'}, tag: 'label', content: "bnc#123456" end @@ -342,7 +342,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_osc_search_devel_package_after_request_accept login_Iggy - get "/search/package", match: "([devel/[@project='Devel:BaseDistro:Update' and @package='pack2']])" + get "/search/package", params: { match: "([devel/[@project='Devel:BaseDistro:Update' and @package='pack2']])" } assert_response :success assert_xml_tag tag: 'collection', attributes: { matches: 1 } assert_xml_tag tag: 'package', attributes: { project: "BaseDistro:Update", name: "pack2" } @@ -351,31 +351,31 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_search_request # rubocop:disable Metrics/LineLength login_Iggy - get "/search/request", match: "(action/target/@package='pack2' and action/target/@project='BaseDistro2.0' and action/source/@project='BaseDistro2.0' and action/source/@package='pack2.linked' and action/@type='submit')" + get "/search/request", params: { match: "(action/target/@package='pack2' and action/target/@project='BaseDistro2.0' and action/source/@project='BaseDistro2.0' and action/source/@package='pack2.linked' and action/@type='submit')" } assert_response :success # what osc may do - get "/search/request", match: "(state/@name='new' or state/@name='review') and (action/target/@project='BaseDistro2.0' or submit/target/@project='BaseDistro2.0' or action/source/@project='BaseDistro2.0' or submit/source/@project='BaseDistro2.0') and (action/target/@package='pack2.linked' or submit/target/@package='pack2_linked' or action/source/@package='pack2_linked' or submit/source/@package='pack2_linked')" + get "/search/request", params: { match: "(state/@name='new' or state/@name='review') and (action/target/@project='BaseDistro2.0' or submit/target/@project='BaseDistro2.0' or action/source/@project='BaseDistro2.0' or submit/source/@project='BaseDistro2.0') and (action/target/@package='pack2.linked' or submit/target/@package='pack2_linked' or action/source/@package='pack2_linked' or submit/source/@package='pack2_linked')" } assert_response :success # what osc really is doing - get "/search/request", match: "(state/@name='new' or state/@name='review') and (target/@project='BaseDistro2.0' or source/@project='BaseDistro2.0') and (target/@package='pack2.linked' or source/@package='pack2_linked')" + get "/search/request", params: { match: "(state/@name='new' or state/@name='review') and (target/@project='BaseDistro2.0' or source/@project='BaseDistro2.0') and (target/@package='pack2.linked' or source/@package='pack2_linked')" } assert_response :success # maintenance team is doing this query - get "/search/request", match: "state/@name='review' and review[@by_group='maintenance-team' and @state='new']" + get "/search/request", params: { match: "state/@name='review' and review[@by_group='maintenance-team' and @state='new']" } assert_response :success - get "/search/request", match: "(action/target/@project='Apache' and action/@type='submit' and state/@name='review' ) or (action/target/@project='Apache' and action/@type='maintenance_release' and state/@name='review' )" + get "/search/request", params: { match: "(action/target/@project='Apache' and action/@type='submit' and state/@name='review' ) or (action/target/@project='Apache' and action/@type='maintenance_release' and state/@name='review' )" } assert_response :success assert_xml_tag tag: "collection", attributes: { "matches"=> "1" } assert_xml_tag tag: "request", children: { count: 3, only: { tag: "review"} } - get "/search/request", match: "[@id=1]" + get "/search/request", params: { match: "[@id=1]" } assert_response :success # rubocop:enable Metrics/LineLength - get "/search/request", match: "(review[@state='new' and @by_user='adrian'])" + get "/search/request", params: { match: "(review[@state='new' and @by_user='adrian'])" } assert_response :success # FIXME: Similar to test/functional/request_controller_test.rb @@ -410,7 +410,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest login_Iggy # this is not a good test - as the actual test is that didn't create bizar SQL queries, but this requires human eyes # rubocop:disable Metrics/LineLength - get "/search/request", match: 'action/@type="submit" and (action/target/@project="Apache" or submit/target/@project="Apache") and (action/target/@package="apache2" or submit/target/@package="apache2")' + get "/search/request", params: { match: 'action/@type="submit" and (action/target/@project="Apache" or submit/target/@project="Apache") and (action/target/@package="apache2" or submit/target/@package="apache2")' } # rubocop:enable Metrics/LineLength assert_response :success end @@ -426,12 +426,12 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_xml_tag tag: 'collection' all_packages_count = get_package_count - get "/search/package?match=*", limit: 3 + get "/search/package?match=*", params: { limit: 3 } assert_response :success assert_xml_tag tag: 'collection' assert get_package_count == 3 - get "/search/package?match=*", offset: 3 + get "/search/package?match=*", params: { offset: 3 } assert_response :success assert_xml_tag tag: 'collection' assert get_package_count == (all_packages_count - 3) @@ -463,7 +463,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_response 404 assert_xml_tag tag: 'status', attributes: { code: "unknown_attribute_type" } - post "/source/home:Iggy/_attribute", "<attributes><attribute namespace='OBS' name='OwnerRootProject' /></attributes>" + post "/source/home:Iggy/_attribute", params: "<attributes><attribute namespace='OBS' name='OwnerRootProject' /></attributes>" assert_response :success get "/search/owner?binary=DOES_NOT_EXIST" @@ -580,7 +580,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_no_xml_tag tag: 'owner', attributes: { project: "home:coolo:test" } # search via project link - put "/source/TEMPORARY/_meta", "<project name='TEMPORARY'><title/><description/><link project='home:Iggy'/> + put "/source/TEMPORARY/_meta", params: "<project name='TEMPORARY'><title/><description/><link project='home:Iggy'/> <group groupid='test_group' role='maintainer' /> <repository name='standard'> <path project='home:Iggy' repository='10.2'/> @@ -600,8 +600,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_no_xml_tag tag: 'owner', attributes: { project: "home:coolo:test" } # additional package - put "/source/TEMPORARY/pack/_meta", - "<package name='pack' project='TEMPORARY'><title/><description/><group groupid='test_group' role='bugowner'/></package>" + put "/source/TEMPORARY/pack/_meta", params: "<package name='pack' project='TEMPORARY'><title/><description/><group groupid='test_group' role='bugowner'/></package>" assert_response :success raw_put '/source/TEMPORARY/pack/package.spec', File.open("#{Rails.root}/test/fixtures/backend/binary/package.spec").read assert_response :success @@ -646,7 +645,7 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_no_xml_tag tag: 'owner', attributes: { project: "TEMPORARY", package: "pack" } # test fall through when higher project has the package, but no bugowner - put "/source/TEMPORARY/pack/_meta", "<package name='pack' project='TEMPORARY'><title/><description/></package>" + put "/source/TEMPORARY/pack/_meta", params: "<package name='pack' project='TEMPORARY'><title/><description/></package>" assert_response :success get "/search/owner?project=TEMPORARY&binary=package&filter=bugowner" assert_response :success @@ -690,16 +689,14 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_xml_tag tag: 'missing_owner', attributes: { rootproject: "TEMPORARY", project: "TEMPORARY", package: "pack" } # set an empty group - put "/source/TEMPORARY/pack/_meta", - "<package name='pack' project='TEMPORARY'><title/><description/><group groupid='test_group_empty' role='bugowner'/></package>" + put "/source/TEMPORARY/pack/_meta", params: "<package name='pack' project='TEMPORARY'><title/><description/><group groupid='test_group_empty' role='bugowner'/></package>" assert_response :success get "/search/missing_owner?project=TEMPORARY&filter=bugowner" assert_response :success assert_xml_tag tag: 'missing_owner', attributes: { rootproject: "TEMPORARY", project: "TEMPORARY", package: "pack" } # set an valid group - put "/source/TEMPORARY/pack/_meta", - "<package name='pack' project='TEMPORARY'><title/><description/><group groupid='test_group' role='bugowner'/></package>" + put "/source/TEMPORARY/pack/_meta", params: "<package name='pack' project='TEMPORARY'><title/><description/><group groupid='test_group' role='bugowner'/></package>" assert_response :success get "/search/missing_owner?project=TEMPORARY&filter=bugowner" assert_response :success @@ -707,14 +704,14 @@ class SearchControllerTest < ActionDispatch::IntegrationTest assert_response :success # set an valid group via project - put "/source/TEMPORARY/pack/_meta", "<package name='pack' project='TEMPORARY'><title/><description/></package>" + put "/source/TEMPORARY/pack/_meta", params: "<package name='pack' project='TEMPORARY'><title/><description/></package>" assert_response :success get "/search/missing_owner?project=TEMPORARY&filter=maintainer" assert_response :success assert_no_xml_tag tag: 'missing_owner', attributes: { rootproject: "TEMPORARY", project: "TEMPORARY", package: "pack" } assert_response :success # empty group in project - put "/source/TEMPORARY/_meta", "<project name='TEMPORARY'><title/><description/><link project='home:Iggy'/> + put "/source/TEMPORARY/_meta", params: "<project name='TEMPORARY'><title/><description/><link project='home:Iggy'/> <group groupid='test_group_empty' role='bugowner' /> <repository name='standard'> <path project='home:Iggy' repository='10.2'/> @@ -777,23 +774,23 @@ class SearchControllerTest < ActionDispatch::IntegrationTest run_publisher # setup projects and packages - put "/source/TEMPORARY:GA/_meta", "<project name='TEMPORARY:GA'><title/><description/> + put "/source/TEMPORARY:GA/_meta", params: "<project name='TEMPORARY:GA'><title/><description/> <repository name='standard'> <path project='home:Iggy' repository='10.2'/> <arch>i586</arch> </repository> </project>" assert_response :success - put "/source/TEMPORARY:Update/_meta", "<project name='TEMPORARY:Update'><title/><description/><link project='TEMPORARY:GA'/> + put "/source/TEMPORARY:Update/_meta", params: "<project name='TEMPORARY:Update'><title/><description/><link project='TEMPORARY:GA'/> <repository name='standard'> <path project='home:Iggy' repository='10.2'/> <arch>i586</arch> </repository> </project>" assert_response :success - put "/source/TEMPORARY:Update/package/_meta", "<package name='package' project='TEMPORARY:Update'><title/><description/> </package>" + put "/source/TEMPORARY:Update/package/_meta", params: "<package name='package' project='TEMPORARY:Update'><title/><description/> </package>" assert_response :success - put "/source/TEMPORARY:GA/package/_meta", "<package name='package' project='TEMPORARY:GA'><title/><description/> + put "/source/TEMPORARY:GA/package/_meta", params: "<package name='package' project='TEMPORARY:GA'><title/><description/> <person userid='fred' role='bugowner' /> </package>" assert_response :success @@ -832,28 +829,28 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_operators login_Iggy - get '/search/request/id', match: '@id>1' + get '/search/request/id', params: { match: '@id>1' } assert_response :success assert_xml_tag tag: 'request', attributes: { id: '2'} assert_no_xml_tag tag: 'request', attributes: { id: '1'} - get '/search/request/id', match: '@id>=2' + get '/search/request/id', params: { match: '@id>=2' } assert_response :success assert_xml_tag tag: 'request', attributes: { id: '2'} assert_no_xml_tag tag: 'request', attributes: { id: '1'} - get '/search/request/id', match: '@id<2' + get '/search/request/id', params: { match: '@id<2' } assert_response :success assert_no_xml_tag tag: 'request', attributes: { id: '2'} assert_xml_tag tag: 'request', attributes: { id: '1'} - get '/search/request/id', match: '@id<=2' + get '/search/request/id', params: { match: '@id<=2' } assert_response :success assert_no_xml_tag tag: 'request', attributes: { id: '3'} assert_xml_tag tag: 'request', attributes: { id: '2'} # verify it also works with dates - get '/search/request/id', match: 'state/@when>="2012-09-02"' + get '/search/request/id', params: { match: 'state/@when>="2012-09-02"' } assert_response :success assert_xml_tag tag: 'request', attributes: { id: '2'} assert_no_xml_tag tag: 'request', attributes: { id: '1'} @@ -861,12 +858,12 @@ class SearchControllerTest < ActionDispatch::IntegrationTest def test_xpath_with_two_relationships login_Iggy - get '/search/package/id', match: "person/@userid = 'adrian' and person/@role = 'reviewer'" + get '/search/package/id', params: { match: "person/@userid = 'adrian' and person/@role = 'reviewer'" } assert_response :success assert_xml_tag tag: 'package', attributes: { project: 'kde4', name: 'kdelibs' } assert_xml_tag tag: 'collection', children: { count: 1 } - get '/search/project', match: "person/@userid = 'adrian' and person/@role = 'maintainer'" + get '/search/project', params: { match: "person/@userid = 'adrian' and person/@role = 'maintainer'" } assert_response :success assert_xml_tag tag: 'project', attributes: { name: 'home:adrian' } assert_xml_tag tag: 'collection', children: { count: 1 } diff --git a/src/api/test/functional/source_controller_test.rb b/src/api/test/functional/source_controller_test.rb index e95879160..5e8c1da85 100644 --- a/src/api/test/functional/source_controller_test.rb +++ b/src/api/test/functional/source_controller_test.rb @@ -74,7 +74,7 @@ class SourceControllerTest < ActionDispatch::IntegrationTest </image> EOF - post '/source?cmd=orderkiwirepos', kiwi_config_http, { "Content-Type" => "text/xml" } + post '/source?cmd=orderkiwirepos', params: kiwi_config_http, headers: { "Content-Type" => "text/xml" } assert_response 200 converted_xml = Xmlhash.parse(response.body) first = converted_xml["repository"].first @@ -95,7 +95,7 @@ EOF </image> EOF - post '/source?cmd=orderkiwirepos', kiwi_config_obs, { "Content-Type" => "text/xml" } + post '/source?cmd=orderkiwirepos', params: kiwi_config_obs, headers: { "Content-Type" => "text/xml" } assert_response 200 converted_xml = Xmlhash.parse(response.body) first = converted_xml["repository"].first @@ -169,9 +169,9 @@ EOF def test_use_illegal_encoded_parameters login_king - put '/source/kde4/kdelibs/DUMMY?comment=working%20with%20Uml%C3%A4ut', 'WORKING' + put '/source/kde4/kdelibs/DUMMY?comment=working%20with%20Uml%C3%A4ut', params: 'WORKING' assert_response :success - put '/source/kde4/kdelibs/DUMMY?comment=illegalchar%96%96asd', 'NOTWORKING' + put '/source/kde4/kdelibs/DUMMY?comment=illegalchar%96%96asd', params: 'NOTWORKING' assert_response 400 delete '/source/kde4/kdelibs/DUMMY' assert_response :success @@ -299,27 +299,27 @@ EOF def test_invalid_project_and_package_name login_king %w(_invalid ..).each do |n| - put url_for(controller: :source, action: :update_project_meta, project: n), "<project name='#{n}'> <title /> <description /> </project>" + put url_for(controller: :source, action: :update_project_meta, project: n), params: "<project name='#{n}'> <title /> <description /> </project>" assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_project_name' } - put "/source/kde4/#{n}/_meta", "<package project='kde4' name='#{n}'> <title /> <description /> </package>" + put "/source/kde4/#{n}/_meta", params: "<package project='kde4' name='#{n}'> <title /> <description /> </package>" assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_package_name' } - post '/source/kde4/kdebase', cmd: 'branch', target_package: n + post '/source/kde4/kdebase', params: { cmd: 'branch', target_package: n } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_package_name' } - post '/source/kde4/kdebase', cmd: 'branch', target_project: n + post '/source/kde4/kdebase', params: { cmd: 'branch', target_project: n } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_project_name' } - post "/source/kde4/#{n}", cmd: 'copy', opackage: 'kdebase', oproject: 'kde4' + post "/source/kde4/#{n}", params: { cmd: 'copy', opackage: 'kdebase', oproject: 'kde4' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_package_name' } - post "/source/#{n}", cmd: 'copy', oproject: 'kde4' + post "/source/#{n}", params: { cmd: 'copy', oproject: 'kde4' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_project_name' } end @@ -341,30 +341,30 @@ EOF assert_xml_tag tag: 'package', attributes: {project: 'BaseDistro2.0'} # so branching fails - post '/source/BaseDistro2.0/pack2', cmd: :branch, missingok: 'true' + post '/source/BaseDistro2.0/pack2', params: { cmd: :branch, missingok: 'true' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'not_missing' } - post '/source/BaseDistro2.0/pack2', cmd: :branch, missingok: 'true', maintenance: 1 + post '/source/BaseDistro2.0/pack2', params: { cmd: :branch, missingok: 'true', maintenance: 1 } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'not_missing' } # also indirect - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: :branch, missingok: 'true' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: :branch, missingok: 'true' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'not_missing' } # and from remote - post '/source/UseRemoteInstance/pack2', cmd: :branch, missingok: 'true' + post '/source/UseRemoteInstance/pack2', params: { cmd: :branch, missingok: 'true' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'not_missing' } end def test_can_branch_package_under_two_names login_king - post '/source/home:Iggy/TestPack', cmd: 'branch', target_package: 'TestPack2' + post '/source/home:Iggy/TestPack', params: { cmd: 'branch', target_package: 'TestPack2' } assert_response :success # this is behaving strange as it's creating a TestPack3 pack, but returns a 400 # as it tries to branch TestPack2 -> TestPack too and fails if $ENABLE_BROKEN_TEST - post '/source/home:Iggy/TestPack', cmd: 'branch', target_package: 'TestPack3' + post '/source/home:Iggy/TestPack', params: { cmd: 'branch', target_package: 'TestPack3' } assert_response :success end # cleanup @@ -401,7 +401,7 @@ EOF d.text = new_desc # Write changed data back - put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), doc.dump_xml + put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), params: doc.dump_xml assert_response 403 ### admin only tag @@ -409,29 +409,29 @@ EOF login_fred d = doc.add_element 'remoteurl' d.text = 'http://localhost:5352' - put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), doc.dump_xml + put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), params: doc.dump_xml assert_response 403 assert_match(/admin rights are required to change projects using remote resources/, @response.body) # DoD remote repository doc = ActiveXML::Node.new(xml) r = doc.add_element 'repository', { name: "download_on_demand" } r.add_element 'download', { arch: "i586", url: "http://somewhere", repotype: "rpmmd" } - put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), doc.dump_xml + put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), params: doc.dump_xml assert_response 403 assert_match(/admin rights are required to change projects using remote resources/, @response.body) # invalid xml - put url_for(controller: :source, action: :update_project_meta, project: 'NewProject'), '<asd/>' + put url_for(controller: :source, action: :update_project_meta, project: 'NewProject'), params: '<asd/>' assert_response 400 assert_match(/validation error/, @response.body) # new project - put url_for(controller: :source, action: :update_project_meta, project: 'NewProject'), "<project name='NewProject'><title>blub</title><description/></project>" + put url_for(controller: :source, action: :update_project_meta, project: 'NewProject'), params: "<project name='NewProject'><title>blub</title><description/></project>" assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'create_project_no_permission' } login_king - put url_for(controller: :source, action: :update_project_meta, project: '_NewProject'), "<project name='_NewProject'><title>blub</title><description/></project>" + put url_for(controller: :source, action: :update_project_meta, project: '_NewProject'), params: "<project name='_NewProject'><title>blub</title><description/></project>" assert_response 400 assert_match(/invalid project name/, @response.body) end @@ -463,27 +463,27 @@ EOF subprojectmeta = "<project name='kde4:subproject'><title></title><description/></project>" # nobody - put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), params: subprojectmeta assert_response 401 assert_xml_tag tag: 'status', attributes: { code: 'authentication_required' } login_tom - put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), params: subprojectmeta assert_response 403 # admin login_king - put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), params: subprojectmeta assert_response :success delete '/source/kde4:subproject' assert_response :success # maintainer login_fred - put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), params: subprojectmeta assert_response :success delete '/source/kde4:subproject' assert_response :success # maintainer via group login_adrian - put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), params: subprojectmeta assert_response :success delete '/source/kde4:subproject' assert_response :success @@ -491,7 +491,7 @@ EOF # create illegal project login_fred subprojectmeta = "<project name='kde4_subproject'><title></title><description/></project>" - put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'kde4:subproject'), params: subprojectmeta assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'project_name_mismatch' } @@ -575,11 +575,11 @@ EOF # create them login_king - put url_for(controller: :source, action: :update_project_meta, project: 'TEMPORARY:rel_target'), rel_target_meta + put url_for(controller: :source, action: :update_project_meta, project: 'TEMPORARY:rel_target'), params: rel_target_meta assert_response :success get '/source/TEMPORARY:rel_target/_meta' assert_response :success - put url_for(controller: :source, action: :update_project_meta, project: 'TEMPORARY:build'), build_meta + put url_for(controller: :source, action: :update_project_meta, project: 'TEMPORARY:build'), params: build_meta assert_response :success get '/source/TEMPORARY:build/_meta' assert_response :success @@ -595,11 +595,11 @@ EOF <arch>x86_64</arch> </repository> </project>" - put '/source/TEMPORARY:rel_target/_meta', rel_target_meta + put '/source/TEMPORARY:rel_target/_meta', params: rel_target_meta assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'repo_dependency' }) assert_match(/following target repositories depend on this project:/, @response.body) - put '/source/TEMPORARY:rel_target/_meta?force=1', rel_target_meta + put '/source/TEMPORARY:rel_target/_meta?force=1', params: rel_target_meta assert_response :success get '/source/TEMPORARY:rel_target/_meta' assert_response :success @@ -636,7 +636,7 @@ EOF assert_response response1 unless response2 && tag2 # dummy write to check blocking - put url_for(controller: :source, action: :update_project_meta, project: project), "<project name=\"#{project}\"><title></title><description></description></project>" + put url_for(controller: :source, action: :update_project_meta, project: project), params: "<project name=\"#{project}\"><title></title><description></description></project>" assert_response 403 # 4 # assert_match(/unknown_project/, @response.body) assert_match(/create_project_no_permission/, @response.body) @@ -651,7 +651,7 @@ EOF d.text = new_desc # Write changed data back - put url_for(controller: :source, action: :update_project_meta, project: project), doc.to_s + put url_for(controller: :source, action: :update_project_meta, project: project), params: doc.to_s assert_response response2 assert_xml_tag(tag2) @@ -675,7 +675,7 @@ EOF d = doc.elements['/project'] d.delete_attribute('name') d.add_attribute('name', 'kde5') - put url_for(controller: :source, action: :update_project_meta, project: 'kde5'), doc.to_s + put url_for(controller: :source, action: :update_project_meta, project: 'kde5'), params: doc.to_s assert_response(:success, '--> king was not allowed to create a project') assert_xml_tag(tag: 'status', attributes: { code: 'ok' }) @@ -704,18 +704,18 @@ EOF olddoc = REXML::Document.new(xml) doc = REXML::Document.new(xml) # Write corrupt data back - put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), doc.to_s + '</xml>' + put url_for(controller: :source, action: :update_project_meta, project: 'kde4'), params: doc.to_s + '</xml>' assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'validation_failed' } login_king # write to illegal location: - put url_for(controller: :source, action: :update_project_meta, project: '$hash'), doc.to_s + put url_for(controller: :source, action: :update_project_meta, project: '$hash'), params: doc.to_s assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'invalid_project_name' } # must not create a project with different pathname and name in _meta.xml: - put url_for(controller: :source, action: :update_project_meta, project: 'kde5'), doc.to_s + put url_for(controller: :source, action: :update_project_meta, project: 'kde5'), params: doc.to_s assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'project_name_mismatch' } # TODO: referenced repository names must exist @@ -737,7 +737,7 @@ EOF # drop myself (fred) doc.elements['/project'].delete_element 'person' - put url_for(controller: :source, action: :update_project_meta, project: 'home:fred'), doc.to_s + put url_for(controller: :source, action: :update_project_meta, project: 'home:fred'), params: doc.to_s assert_response :success # no person inside anymore @@ -746,15 +746,15 @@ EOF assert_no_xml_tag tag: 'person' # but we are still allowed to modify our home meta, for example to re-add ourself - put url_for(controller: :source, action: :update_project_meta, project: 'home:fred'), xml + put url_for(controller: :source, action: :update_project_meta, project: 'home:fred'), params: xml assert_response :success end def test_lock_project login_Iggy - put '/source/home:Iggy/TestLinkPack/_meta', "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" + put '/source/home:Iggy/TestLinkPack/_meta', params: "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" assert_response :success - put '/source/home:Iggy/TestLinkPack/_link', "<link package='TestPack' />" + put '/source/home:Iggy/TestLinkPack/_link', params: "<link package='TestPack' />" assert_response :success # lock project @@ -763,7 +763,7 @@ EOF doc = REXML::Document.new(@response.body) doc.elements['/project'].add_element 'lock' doc.elements['/project/lock'].add_element 'enable' - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response :success get '/source/home:Iggy/_meta' assert_response :success @@ -776,9 +776,9 @@ EOF delete '/source/home:Iggy/TestLinkPack' assert_response 403 doc.elements['/project/description'].text = 'new text' - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response 403 - put '/source/home:Iggy/TestLinkPack/_link', '' + put '/source/home:Iggy/TestLinkPack/_link', params: '' assert_response 403 post "/build/home:Iggy?cmd=wipe" assert_response 403 @@ -786,14 +786,14 @@ EOF assert_response 403 # check branching from a locked project - post '/source/home:Iggy/TestLinkPack', cmd: 'branch' + post '/source/home:Iggy/TestLinkPack', params: { cmd: 'branch' } assert_response :success get '/source/home:Iggy:branches:home:Iggy/_meta' assert_response :success assert_no_xml_tag tag: 'lock' # unlock will fail on unlocked project - post '/source/home:Iggy:branches:home:Iggy', { cmd: "unlock", comment: "dummy" } + post '/source/home:Iggy:branches:home:Iggy', params: { cmd: "unlock", comment: "dummy" } assert_response 400 assert_select "status", code: "not_locked" # lock via command @@ -808,24 +808,24 @@ EOF end # try to unlock without comment - post '/source/home:Iggy', { cmd: 'unlock' } + post '/source/home:Iggy', params: { cmd: 'unlock' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'missing_parameter' } # unlock does not work via meta data anymore doc.elements['/project/lock'].delete_element 'enable' doc.elements['/project/lock'].add_element 'disable' - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response 403 # check unlock command login_adrian - post '/source/home:Iggy', { cmd: 'unlock', comment: 'cleanup' } + post '/source/home:Iggy', params: { cmd: 'unlock', comment: 'cleanup' } assert_response 403 login_Iggy - post '/source/home:Iggy', { cmd: 'unlock', comment: 'cleanup' } + post '/source/home:Iggy', params: { cmd: 'unlock', comment: 'cleanup' } assert_response :success - post '/source/home:Iggy:branches:home:Iggy', { cmd: 'unlock', comment: 'cleanup' } + post '/source/home:Iggy:branches:home:Iggy', params: { cmd: 'unlock', comment: 'cleanup' } assert_response :success # cleanup works now again @@ -837,7 +837,7 @@ EOF def test_check_lock_and_unlock_of_empty_project login_Iggy - put '/source/home:Iggy:TEST/_meta', "<project name='home:Iggy:TEST'> <title/> <description/> </project>" + put '/source/home:Iggy:TEST/_meta', params: "<project name='home:Iggy:TEST'> <title/> <description/> </project>" assert_response :success # lock command @@ -860,7 +860,7 @@ EOF def test_lock_package login_Iggy - put '/source/home:Iggy/TestLinkPack/_meta', "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" + put '/source/home:Iggy/TestLinkPack/_meta', params: "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" assert_response :success # lock package @@ -869,7 +869,7 @@ EOF doc = REXML::Document.new(@response.body) doc.elements['/package'].add_element 'lock' doc.elements['/package/lock'].add_element 'enable' - put '/source/home:Iggy/TestLinkPack/_meta', doc.to_s + put '/source/home:Iggy/TestLinkPack/_meta', params: doc.to_s assert_response :success get '/source/home:Iggy/TestLinkPack/_meta' assert_response :success @@ -880,28 +880,28 @@ EOF delete '/source/home:Iggy/TestLinkPack' assert_response 403 doc.elements['/package/description'].text = 'new text' - put '/source/home:Iggy/TestLinkPack/_meta', doc.to_s + put '/source/home:Iggy/TestLinkPack/_meta', params: doc.to_s assert_response 403 - put '/source/home:Iggy/TestLinkPack/_link', '' + put '/source/home:Iggy/TestLinkPack/_link', params: '' assert_response 403 # make package read-writable is not working via meta doc.elements['/package/lock'].delete_element 'enable' doc.elements['/package/lock'].add_element 'disable' - put '/source/home:Iggy/TestLinkPack/_meta', doc.to_s + put '/source/home:Iggy/TestLinkPack/_meta', params: doc.to_s assert_response 403 # try to unlock without comment - post '/source/home:Iggy/TestLinkPack', { cmd: 'unlock' } + post '/source/home:Iggy/TestLinkPack', params: { cmd: 'unlock' } assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'missing_parameter' } # without permissions login_adrian - post '/source/home:Iggy/TestLinkPack', { cmd: 'unlock', comment: 'BlahFasel' } + post '/source/home:Iggy/TestLinkPack', params: { cmd: 'unlock', comment: 'BlahFasel' } assert_response 403 # do for real and cleanup login_Iggy - post '/source/home:Iggy/TestLinkPack', { cmd: 'unlock', comment: 'BlahFasel' } + post '/source/home:Iggy/TestLinkPack', params: { cmd: 'unlock', comment: 'BlahFasel' } assert_response :success delete '/source/home:Iggy/TestLinkPack' assert_response :success @@ -922,7 +922,7 @@ EOF d.text = new_desc # Write changed data back - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs'), params: doc.to_s assert_response 403 # verify data is unchanged: @@ -932,12 +932,12 @@ EOF # try to trick api via non matching xml attributes doc.root.attributes['project'] = 'kde4' - put url_for(controller: :source, action: :update_package_meta, project: 'home:tom', package: 'kdelibs'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'home:tom', package: 'kdelibs'), params: doc.to_s assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'project_name_mismatch' }) doc.root.attributes['project'] = nil doc.root.attributes['name'] = 'none' - put url_for(controller: :source, action: :update_package_meta, project: 'home:tom', package: 'kdelibs'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'home:tom', package: 'kdelibs'), params: doc.to_s assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'package_name_mismatch' }) end @@ -949,7 +949,7 @@ EOF assert_response 404 # Write changed data back - put url_for(controller: :source, action: :update_package_meta, project: 'HiddenProject', package: 'pack'), "<package name=\"pack\"><title></title><description></description></package>" + put url_for(controller: :source, action: :update_package_meta, project: 'HiddenProject', package: 'pack'), params: "<package name=\"pack\"><title></title><description></description></package>" assert_response 404 end @@ -960,7 +960,7 @@ EOF unless response2 && tag2 # dummy write to check blocking - put url_for(controller: :source, action: :update_package_meta, project: project, package: package), '<package><title></title><description></description></package>' + put url_for(controller: :source, action: :update_package_meta, project: project, package: package), params: '<package><title></title><description></description></package>' assert_response 404 # assert_match(/unknown_package/, @response.body) assert_match(/unknown_project/, @response.body) @@ -974,7 +974,7 @@ EOF d.text = new_desc # Write changed data back - put url_for(controller: :source, action: :update_package_meta, project: project, package: package), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: project, package: package), params: doc.to_s assert_response response2 # (:success, "--> Was not able to update kdelibs _meta") assert_xml_tag tag2 # ( :tag => "status", :attributes => { :code => "ok"} ) @@ -1072,11 +1072,11 @@ EOF d = doc.elements['/package'] d.delete_attribute('name') d.add_attribute('name', 'kdelibs2') - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs2'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs2'), params: doc.to_s assert_response :success assert_xml_tag(tag: 'status', attributes: { code: 'ok' }) # do not allow to create it with invalid name - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs3'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs3'), params: doc.to_s assert_response 400 # Get data again and check that the maintainer was added @@ -1090,7 +1090,7 @@ EOF login_tom d.delete_attribute('name') d.add_attribute('name', 'kdelibs3') - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs3'), newdoc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs3'), params: newdoc.to_s assert_response 403 assert_xml_tag(tag: 'status', attributes: { code: 'create_package_no_permission' }) @@ -1102,9 +1102,9 @@ EOF def test_captial_letter_change login_tom - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'/> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'/> </project>" assert_response :success - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> </repository> </project>" assert_response :success get '/source/home:tom:projectB/_meta' assert_response :success @@ -1112,7 +1112,7 @@ EOF assert_no_xml_tag tag: 'path', attributes: { project: 'home:tom:projecta' } # write again with a capital letter change - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projecta' repository='repoA' /> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projecta' repository='repoA' /> </repository> </project>" assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_project' } get '/source/home:tom:projectB/_meta' @@ -1121,7 +1121,7 @@ EOF assert_no_xml_tag tag: 'path', attributes: { project: 'home:tom:projecta' } # change back using remote project - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='RemoteInstance:home:tom:projectA' repository='repoA' /> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='RemoteInstance:home:tom:projectA' repository='repoA' /> </repository> </project>" assert_response :success get '/source/home:tom:projectB/_meta' assert_response :success @@ -1131,7 +1131,7 @@ EOF if $ENABLE_BROKEN_TEST # FIXME: the case insensitive database select is not okay. # and switch letter again - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='RemoteInstance:home:tom:projecta' repository='repoA' /> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='RemoteInstance:home:tom:projecta' repository='repoA' /> </repository> </project>" assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_project' } get '/source/home:tom:projectB/_meta' @@ -1149,25 +1149,25 @@ EOF def test_repository_dependencies login_tom - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'/> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'/> </project>" assert_response :success - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> </repository> </project>" assert_response :success - put '/source/home:tom:projectC/_meta', "<project name='home:tom:projectC'> <title/> <description/> <repository name='repoC'> <path project='home:tom:projectB' repository='repoB' /> </repository> </project>" + put '/source/home:tom:projectC/_meta', params: "<project name='home:tom:projectC'> <title/> <description/> <repository name='repoC'> <path project='home:tom:projectB' repository='repoB' /> </repository> </project>" assert_response :success - put '/source/home:tom:projectD/_meta', "<project name='home:tom:projectD'> <title/> <description/> <repository name='repoD'> " \ + put '/source/home:tom:projectD/_meta', params: "<project name='home:tom:projectD'> <title/> <description/> <repository name='repoD'> " \ " <path project='home:tom:projectA' repository='repoA' />" \ " <path project='home:tom:projectB' repository='repoB' />" \ " <path project='home:tom:projectC' repository='repoC' />" \ '</repository> </project>' assert_response :success # delete a repo - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> </project>" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'repo_dependency' }) delete '/source/home:tom:projectA' assert_response 400 - put '/source/home:tom:projectA/_meta?force=1', "<project name='home:tom:projectA'> <title/> <description/> </project>" + put '/source/home:tom:projectA/_meta?force=1', params: "<project name='home:tom:projectA'> <title/> <description/> </project>" assert_response :success get '/source/home:tom:projectB/_meta' assert_response :success @@ -1177,7 +1177,7 @@ EOF assert_xml_tag tag: 'path', attributes: { project: 'home:tom:projectB', repository: 'repoB' } # unmodified # delete another repo - put '/source/home:tom:projectB/_meta?force=1', "<project name='home:tom:projectB'> <title/> <description/> </project>" + put '/source/home:tom:projectB/_meta?force=1', params: "<project name='home:tom:projectB'> <title/> <description/> </project>" assert_response :success get '/source/home:tom:projectD/_meta' assert_response :success @@ -1199,19 +1199,19 @@ EOF def test_full_remove_repository_dependencies login_tom - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'/> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'/> </project>" assert_response :success - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> </repository> </project>" assert_response :success - put '/source/home:tom:projectC/_meta', "<project name='home:tom:projectC'> <title/> <description/> <repository name='repoC'> <path project='home:tom:projectB' repository='repoB' /> </repository> </project>" + put '/source/home:tom:projectC/_meta', params: "<project name='home:tom:projectC'> <title/> <description/> <repository name='repoC'> <path project='home:tom:projectB' repository='repoB' /> </repository> </project>" assert_response :success # delete a repo - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> </project>" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'repo_dependency' }) delete '/source/home:tom:projectA' assert_response 400 - put '/source/home:tom:projectA/_meta?force=1&remove_linking_repositories=1', "<project name='home:tom:projectA'> <title/> <description/> </project>" + put '/source/home:tom:projectA/_meta?force=1&remove_linking_repositories=1', params: "<project name='home:tom:projectA'> <title/> <description/> </project>" assert_response :success get '/source/home:tom:projectB/_meta' assert_response :success @@ -1232,7 +1232,7 @@ EOF def test_fail_correctly_with_broken_repo_config login_tom # double definition of i586 architecture - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'> <arch>i586</arch> <arch>i586</arch> </repository> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'> <arch>i586</arch> <arch>i586</arch> </repository> </project>" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'project_save_error' }) assert_match %r(double use of architecture: 'i586'), @response.body @@ -1240,9 +1240,9 @@ EOF def test_delete_project_with_repository_dependencies login_tom - put '/source/home:tom:projectA/_meta', "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'> <arch>i586</arch> </repository> </project>" + put '/source/home:tom:projectA/_meta', params: "<project name='home:tom:projectA'> <title/> <description/> <repository name='repoA'> <arch>i586</arch> </repository> </project>" assert_response :success - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> <arch>i586</arch> </repository> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> <repository name='repoB'> <path project='home:tom:projectA' repository='repoA' /> <arch>i586</arch> </repository> </project>" assert_response :success # delete the project including the repository delete '/source/home:tom:projectA' @@ -1253,7 +1253,7 @@ EOF get '/source/home:tom:projectB/_meta' assert_response :success assert_xml_tag tag: 'path', attributes: { project: 'deleted', repository: 'deleted' } - put '/source/home:tom:projectB/_meta', "<project name='home:tom:projectB'> <title/> <description/> </project>" + put '/source/home:tom:projectB/_meta', params: "<project name='home:tom:projectB'> <title/> <description/> </project>" assert_response :success # cleanup @@ -1263,16 +1263,16 @@ EOF def test_delete_project_with_local_devel_packages login_tom - put '/source/home:tom:project/_meta', "<project name='home:tom:project'> <title/> <description/> <repository name='repoA'> <arch>i586</arch> </repository> </project>" + put '/source/home:tom:project/_meta', params: "<project name='home:tom:project'> <title/> <description/> <repository name='repoA'> <arch>i586</arch> </repository> </project>" assert_response :success - put '/source/home:tom:project/A/_meta', "<package name='A' project='home:tom:project'> <title/> <description/></package>" + put '/source/home:tom:project/A/_meta', params: "<package name='A' project='home:tom:project'> <title/> <description/></package>" assert_response :success - put '/source/home:tom:project/B/_meta', "<package name='B' project='home:tom:project'> <title/> <description/> <devel package='A'/> </package>" + put '/source/home:tom:project/B/_meta', params: "<package name='B' project='home:tom:project'> <title/> <description/> <devel package='A'/> </package>" assert_response :success - put '/source/home:tom:project/C/_meta', "<package name='C' project='home:tom:project'> <title/> <description/> <devel package='B'/> </package>" + put '/source/home:tom:project/C/_meta', params: "<package name='C' project='home:tom:project'> <title/> <description/> <devel package='B'/> </package>" assert_response :success login_king - put '/source/BaseDistro/pack2/_meta', "<package name='pack2' project='BaseDistro'> <title/> <description/> <devel package='A' project='home:tom:project'/> </package>" + put '/source/BaseDistro/pack2/_meta', params: "<package name='pack2' project='BaseDistro'> <title/> <description/> <devel package='A' project='home:tom:project'/> </package>" assert_response :success login_tom # delete a package which is used as devel package @@ -1298,20 +1298,20 @@ EOF def test_devel_project_cycle login_tom - put '/source/home:tom:A/_meta', "<project name='home:tom:A'> <title/> <description/> </project>" + put '/source/home:tom:A/_meta', params: "<project name='home:tom:A'> <title/> <description/> </project>" assert_response :success - put '/source/home:tom:B/_meta', "<project name='home:tom:B'> <title/> <description/> <devel project='home:tom:A'/> </project>" + put '/source/home:tom:B/_meta', params: "<project name='home:tom:B'> <title/> <description/> <devel project='home:tom:A'/> </project>" assert_response :success get '/source/home:tom:B/_meta' assert_response :success assert_xml_tag tag: 'devel', attributes: { project: 'home:tom:A' } - put '/source/home:tom:C/_meta', "<project name='home:tom:C'> <title/> <description/> <devel project='home:tom:B'/> </project>" + put '/source/home:tom:C/_meta', params: "<project name='home:tom:C'> <title/> <description/> <devel project='home:tom:B'/> </project>" assert_response :success # no self reference - put '/source/home:tom:A/_meta', "<project name='home:tom:A'> <title/> <description/> <devel project='home:tom:A'/> </project>" + put '/source/home:tom:A/_meta', params: "<project name='home:tom:A'> <title/> <description/> <devel project='home:tom:A'/> </project>" assert_response 400 # create a cycle via new package - put '/source/home:tom:A/_meta', "<project name='home:tom:A'> <title/> <description/> <devel project='home:tom:C'/> </project>" + put '/source/home:tom:A/_meta', params: "<project name='home:tom:A'> <title/> <description/> <devel project='home:tom:C'/> </project>" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'project_cycle' }) @@ -1325,21 +1325,21 @@ EOF def test_devel_package_cycle login_tom - put '/source/home:tom/packageA/_meta', "<package project='home:tom' name='packageA'> <title/> <description/> </package>" + put '/source/home:tom/packageA/_meta', params: "<package project='home:tom' name='packageA'> <title/> <description/> </package>" assert_response :success - put '/source/home:tom/packageB/_meta', "<package project='home:tom' name='packageB'> <title/> <description/> <devel package='packageA' /> </package>" + put '/source/home:tom/packageB/_meta', params: "<package project='home:tom' name='packageB'> <title/> <description/> <devel package='packageA' /> </package>" assert_response :success - put '/source/home:tom/packageC/_meta', "<package project='home:tom' name='packageC'> <title/> <description/> <devel package='packageB' /> </package>" + put '/source/home:tom/packageC/_meta', params: "<package project='home:tom' name='packageC'> <title/> <description/> <devel package='packageB' /> </package>" assert_response :success # no self reference - put '/source/home:tom/packageA/_meta', "<package project='home:tom' name='packageA'> <title/> <description/> <devel package='packageA' /> </package>" + put '/source/home:tom/packageA/_meta', params: "<package project='home:tom' name='packageA'> <title/> <description/> <devel package='packageA' /> </package>" assert_response 400 # create a cycle via new package - put '/source/home:tom/packageB/_meta', "<package project='home:tom' name='packageB'> <title/> <description/> <devel package='packageC' /> </package>" + put '/source/home:tom/packageB/_meta', params: "<package project='home:tom' name='packageB'> <title/> <description/> <devel package='packageC' /> </package>" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'cycle_error' }) # create a cycle via existing package - put '/source/home:tom/packageA/_meta', "<package project='home:tom' name='packageA'> <title/> <description/> <devel package='packageB' /> </package>" + put '/source/home:tom/packageA/_meta', params: "<package project='home:tom' name='packageA'> <title/> <description/> <devel package='packageB' /> </package>" assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'cycle_error' }) @@ -1357,8 +1357,7 @@ EOF assert_response response1 unless response2 || tag2 || response3 || select3 # dummy write to check blocking - put url_for(controller: :source, action: :update_package_meta, project: project, package: package), - "<package name=\"#{package}\"><title></title><description></description></package>" + put url_for(controller: :source, action: :update_package_meta, project: project, package: package), params: "<package name=\"#{package}\"><title></title><description></description></package>" assert_response 404 # assert_match(/unknown_package/, @response.body) assert_match(/unknown_project/, @response.body) @@ -1369,7 +1368,7 @@ EOF d = doc.elements['/package'] b = d.add_element 'build' b.add_element 'enable' - put url_for(controller: :source, action: :update_package_meta, project: project, package: package), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: project, package: package), params: doc.to_s assert_response response2 assert_xml_tag(tag2) @@ -1444,17 +1443,17 @@ EOF olddoc = REXML::Document.new(xml) doc = REXML::Document.new(xml) # Write corrupt data back - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs'), doc.to_s + '</xml>' + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs'), params: doc.to_s + '</xml>' assert_response 400 login_king # write to illegal location: - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: '.'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: '.'), params: doc.to_s assert_response 400 assert_xml_tag tag: 'status', attributes: { code: "invalid_package_name" } # must not create a package with different pathname and name in _meta.xml: - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs2000'), doc.to_s + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'kdelibs2000'), params: doc.to_s assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'package_name_mismatch' } # verify data is unchanged: @@ -1532,7 +1531,7 @@ EOF assert_response 401 assert_xml_tag tag: 'status', attributes: { code: 'authentication_required' } # anonymous with user-agent set - get '/source/SourceprotectedProject/pack/my_file', nil, { 'HTTP_USER_AGENT' => 'osc-something' } + get '/source/SourceprotectedProject/pack/my_file', headers: { 'HTTP_USER_AGENT' => 'osc-something' } assert_response 401 assert_xml_tag tag: 'status', attributes: { code: 'anonymous_user' } # nobody @@ -1566,7 +1565,7 @@ EOF # before md5 assert_xml_tag asserttag1 if asserttag1 teststring = '&;' - put url2, teststring + put url2, params: teststring assert_response assertresp2 # afterwards new md5 assert_select assertselect2, assertselect2rev if assertselect2 @@ -1689,7 +1688,7 @@ EOF assert_response :success origstring = @response.body.to_s teststring = '&;' - put url_for(controller: :source, action: :get_file, project: 'kde4', package: 'kdelibs', filename: 'my_patch.diff'), teststring + put url_for(controller: :source, action: :get_file, project: 'kde4', package: 'kdelibs', filename: 'my_patch.diff'), params: teststring assert_response(403, 'Was able to write a package file without permission') assert_xml_tag(tag: 'status') @@ -1711,7 +1710,7 @@ EOF assert_response :success # reset file in backend to fixture setup - put '/source/kde4/kdelibs/my_patch.diff?user=king', 'argl' + put '/source/kde4/kdelibs/my_patch.diff?user=king', params: 'argl' end def test_get_package_meta_history @@ -1727,7 +1726,7 @@ EOF get '/source/kde4/kdelibs/_meta' assert_response :success meta = @response.body - put '/source/kde4/kdelibs/_meta?comment=empty+change', meta + put '/source/kde4/kdelibs/_meta?comment=empty+change', params: meta assert_response :success get '/source/kde4/kdelibs/_history?meta=1' assert_response :success @@ -1748,7 +1747,7 @@ EOF get '/source/kde4/_meta' assert_response :success meta = @response.body - put '/source/kde4/_meta?comment=empty+change', meta + put '/source/kde4/_meta?comment=empty+change', params: meta assert_response :success get '/source/kde4/_project/_history?meta=1' assert_response :success @@ -1773,7 +1772,7 @@ EOF post '/source/kde4/kdelibs' assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'missing_parameter' }) - post '/source/kde4/kdelibs', cmd: :invalid + post '/source/kde4/kdelibs', params: { cmd: :invalid } assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'illegal_request' } assert_xml_tag tag: 'summary', content: 'invalid_command' @@ -1782,7 +1781,7 @@ EOF post '/source/kde4/kdelibs' assert_response 400 assert_xml_tag(tag: 'status', attributes: { code: 'missing_parameter' }) - post '/source/kde4/kdelibs', cmd: :invalid + post '/source/kde4/kdelibs', params: { cmd: :invalid } assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'illegal_request' } assert_xml_tag tag: 'summary', content: 'invalid_command' @@ -1796,7 +1795,7 @@ EOF # delete single package in project prepare_request_with_user 'fredlibs', 'buildservice' - put '/source/kde4/kdelibs/DUMMYFILE', 'dummy' + put '/source/kde4/kdelibs/DUMMYFILE', params: 'dummy' assert_response :success # to have different revision number in meta and plain files delete '/source/kde4/kdelibs?user=illegal&comment=test%20deleted' @@ -1818,31 +1817,31 @@ EOF assert_response :success # list deleted packages of existing project - get '/source/kde4', deleted: 1 + get '/source/kde4', params: { deleted: 1 } assert_response :success assert_xml_tag(tag: 'entry', attributes: { name: 'kdelibs' }) # access to files of a deleted package get '/source/kde4/kdelibs/_history' assert_response 404 - get '/source/kde4/kdelibs/_history', deleted: 1 + get '/source/kde4/kdelibs/_history', params: { deleted: 1 } assert_response :success node = ActiveXML::Node.new(@response.body) srcmd5 = node.each(:revision).last.value(:srcmd5) - get '/source/kde4/kdelibs', deleted: 1, rev: srcmd5 + get '/source/kde4/kdelibs', params: { deleted: 1, rev: srcmd5 } assert_response :success - get '/source/kde4/kdelibs/my_patch.diff', rev: srcmd5 + get '/source/kde4/kdelibs/my_patch.diff', params: { rev: srcmd5 } assert_response 404 - get '/source/kde4/kdelibs/my_patch.diff', deleted: 1, rev: srcmd5 + get '/source/kde4/kdelibs/my_patch.diff', params: { deleted: 1, rev: srcmd5 } assert_response :success - get '/source/kde4/kdelibs/my_patch.diff', deleted: 1 + get '/source/kde4/kdelibs/my_patch.diff', params: { deleted: 1 } assert_response :success # undelete single package - post '/source/kde4/kdelibs', cmd: :undelete, time: 99 + post '/source/kde4/kdelibs', params: { cmd: :undelete, time: 99 } assert_response 403 assert_match(/Only administrators are allowed to set the time/, @response.body) - post '/source/kde4/kdelibs', cmd: :undelete + post '/source/kde4/kdelibs', params: { cmd: :undelete } assert_response :success get '/source/kde4/kdelibs/_history' assert_response :success @@ -1855,11 +1854,11 @@ EOF delete '/source/kde4/kdelibs' assert_response :success login_king - post '/source/kde4/kdelibs', cmd: :undelete, time: 99 + post '/source/kde4/kdelibs', params: { cmd: :undelete, time: 99 } assert_response 400 assert_match(/specified time is less than time in last commit/, @response.body) mytime = Time.now.utc.to_i + 2 - post '/source/kde4/kdelibs', cmd: :undelete, time: mytime + post '/source/kde4/kdelibs', params: { cmd: :undelete, time: mytime } assert_response :success get '/source/kde4/kdelibs/_history' assert_response :success @@ -1871,7 +1870,7 @@ EOF assert_response :success meta_before_delete = @response.body # kind of stupid, but do_change_project_meta_test modifies backend data and does not clean up - put '/source/kde4/_meta', meta_before_delete + put '/source/kde4/_meta', params: meta_before_delete assert_response :success get '/source/kde4/_project/_history?meta=1' assert_response :success @@ -1895,12 +1894,12 @@ EOF # admin only operations login_king # list content of deleted project - get '/source', deleted: 1 + get '/source', params: { deleted: 1 } assert_response 200 assert_xml_tag(tag: 'entry', attributes: { name: 'kde4' }) prepare_request_with_user 'fredlibs', 'buildservice' - get '/source', deleted: 1 + get '/source', params: { deleted: 1 } assert_response 403 assert_match(/only admins can see deleted projects/, @response.body) @@ -1920,11 +1919,11 @@ EOF prepare_request_with_user 'fredlibs', 'buildservice' # undelete project - post '/source/kde4', cmd: :undelete + post '/source/kde4', params: { cmd: :undelete } assert_response 403 login_king - post '/source/kde4', cmd: :undelete + post '/source/kde4', params: { cmd: :undelete } assert_response :success # content got restored ? @@ -1945,7 +1944,7 @@ EOF assert_response :success # undelete project again - post '/source/kde4', cmd: :undelete + post '/source/kde4', params: { cmd: :undelete } assert_response 404 assert_match(/project 'kde4' already exists/, @response.body) end @@ -1959,7 +1958,7 @@ EOF assert_response 400 assert_select 'status[code] > summary', /following repositories depend on this project:/ - delete '/source/home:coolo', force: 1 + delete '/source/home:coolo', params: { force: 1 } assert_response :success # verify the repo is updated @@ -1972,7 +1971,7 @@ EOF # restore login_king - post '/source/home:coolo', cmd: :undelete + post '/source/home:coolo', params: { cmd: :undelete } assert_response :success end @@ -2057,14 +2056,14 @@ EOF login_tom get '/source/home:coolo:test' assert_response :success - put '/source/home:coolo:test/_project/_constraints', 'illegal' + put '/source/home:coolo:test/_project/_constraints', params: 'illegal' assert_response 400 assert_match(/validation error/, @response.body) - put '/source/home:coolo:test/_project/_constraints', '<constraints> <hardware> <processors>3</processors> </hardware> </constraints>' + put '/source/home:coolo:test/_project/_constraints', params: '<constraints> <hardware> <processors>3</processors> </hardware> </constraints>' assert_response :success - put '/source/home:coolo:test/test/_meta', "<package project='home:coolo:test' name='test'><title/><description/></package>" + put '/source/home:coolo:test/test/_meta', params: "<package project='home:coolo:test' name='test'><title/><description/></package>" assert_response :success - put '/source/home:coolo:test/test/_constraints', '<constraints> <linux> <version><min>1.0</min></version> </linux> </constraints>' + put '/source/home:coolo:test/test/_constraints', params: '<constraints> <linux> <version><min>1.0</min></version> </linux> </constraints>' assert_response :success # cleanup @@ -2075,7 +2074,7 @@ EOF end def test_pattern - put '/source/kde4/_pattern/mypattern', load_backend_file('pattern/digiKam.xml') + put '/source/kde4/_pattern/mypattern', params: load_backend_file('pattern/digiKam.xml') assert_response 401 prepare_request_with_user 'adrian_nobody', 'buildservice' @@ -2085,7 +2084,7 @@ EOF assert_response :success get '/source/kde4/_pattern/DoesNotExist' assert_response 404 - put '/source/kde4/_pattern/mypattern', load_backend_file('pattern/digiKam.xml') + put '/source/kde4/_pattern/mypattern', params: load_backend_file('pattern/digiKam.xml') assert_response 403 assert_match(/put_file_no_permission/, @response.body) @@ -2093,10 +2092,10 @@ EOF get '/source/home:coolo:test' assert_response :success assert_no_match(/_pattern/, @response.body) - put '/source/home:coolo:test/_pattern/mypattern', 'broken' + put '/source/home:coolo:test/_pattern/mypattern', params: 'broken' assert_response 400 assert_match(/validation error/, @response.body) - put '/source/home:coolo:test/_pattern/mypattern', load_backend_file('pattern/digiKam.xml') + put '/source/home:coolo:test/_pattern/mypattern', params: load_backend_file('pattern/digiKam.xml') assert_response :success get '/source/home:coolo:test/_pattern/mypattern' assert_response :success @@ -2132,15 +2131,15 @@ EOF get url_for(controller: :source, action: :show_project_config, project: 'RemoteInstance:BaseDistro') assert_response :success - put url_for(controller: :source, action: :update_project_config, project: 'RemoteInstance:BaseDistro'), 'Substitute: nix da' + put url_for(controller: :source, action: :update_project_config, project: 'RemoteInstance:BaseDistro'), params: 'Substitute: nix da' assert_response 403 prepare_request_with_user 'adrian_nobody', 'buildservice' - put url_for(controller: :source, action: :update_project_config, project: 'kde4'), 'Substitute: nix da' + put url_for(controller: :source, action: :update_project_config, project: 'kde4'), params: 'Substitute: nix da' assert_response 403 login_tom - put url_for(controller: :source, action: :update_project_config, project: 'home:coolo:test'), 'Substitute: nix da' + put url_for(controller: :source, action: :update_project_config, project: 'home:coolo:test'), params: 'Substitute: nix da' assert_response :success get url_for(controller: :source, action: :show_project_config, project: 'home:coolo:test') assert_response :success @@ -2162,7 +2161,7 @@ EOF login_king subprojectmeta = "<project name='DoesNotExist:subproject'><title></title><description/></project>" - put url_for(controller: :source, action: :update_project_meta, project: 'DoesNotExist:subproject'), subprojectmeta + put url_for(controller: :source, action: :update_project_meta, project: 'DoesNotExist:subproject'), params: subprojectmeta assert_response :success delete '/source/DoesNotExist:subproject/_pubkey' @@ -2222,40 +2221,40 @@ EOF assert_match(/unknown_package/, @response.body) # test not permitted commands - post '/build/BaseDistro2.0:LinkedUpdateProject', cmd: 'rebuild' + post '/build/BaseDistro2.0:LinkedUpdateProject', params: { cmd: 'rebuild' } assert_response 403 - post '/build/BaseDistro2.0:LinkedUpdateProject', cmd: 'wipe' + post '/build/BaseDistro2.0:LinkedUpdateProject', params: { cmd: 'wipe' } assert_response 403 assert_match(/permission to execute command on project BaseDistro2.0:LinkedUpdateProject/, @response.body) - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'deleteuploadrev' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'deleteuploadrev' } assert_response 404 assert_match(/unknown_package/, @response.body) - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'commitfilelist' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'commitfilelist' } assert_response 404 assert_match(/unknown_package/, @response.body) - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'commit' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'commit' } assert_response 404 assert_match(/unknown_package/, @response.body) - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'linktobranch' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'linktobranch' } assert_response 404 assert_match(/unknown_package/, @response.body) # test permitted commands - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'diff', oproject: 'RemoteInstance:BaseDistro', opackage: 'pack1' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'diff', oproject: 'RemoteInstance:BaseDistro', opackage: 'pack1' } assert_response :success - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'branch' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'branch' } assert_response :success - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2.linked', cmd: 'linkdiff' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2.linked', params: { cmd: 'linkdiff' } assert_response :success # read-write user, binary operations must be allowed login_king # obsolete with OBS 3.0, rebuild only via /build/ - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'rebuild' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'rebuild' } assert_response :success - post '/build/BaseDistro2.0:LinkedUpdateProject', cmd: 'rebuild', package: 'pack2' + post '/build/BaseDistro2.0:LinkedUpdateProject', params: { cmd: 'rebuild', package: 'pack2' } assert_response :success - post '/build/BaseDistro2.0:LinkedUpdateProject', cmd: 'wipe' + post '/build/BaseDistro2.0:LinkedUpdateProject', params: { cmd: 'wipe' } assert_response :success # create package and remove it again @@ -2263,14 +2262,14 @@ EOF assert_response :success delete '/source/BaseDistro2.0:LinkedUpdateProject/pack2' assert_response 404 - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'copy', oproject: 'BaseDistro:Update', opackage: 'pack2' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'copy', oproject: 'BaseDistro:Update', opackage: 'pack2' } assert_response :success - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'undelete' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'undelete' } assert_response 400 # already exists assert_match(/package_exists/, @response.body) delete '/source/BaseDistro2.0:LinkedUpdateProject/pack2' assert_response :success - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'undelete' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'undelete' } assert_response :success get '/source/BaseDistro2.0:LinkedUpdateProject/pack2' assert_response :success @@ -2284,9 +2283,9 @@ EOF def test_linktobranch login_Iggy - put '/source/home:Iggy/TestLinkPack/_meta', "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" + put '/source/home:Iggy/TestLinkPack/_meta', params: "<package project='home:Iggy' name='TestLinkPack'> <title/> <description/> </package>" assert_response :success - put '/source/home:Iggy/TestLinkPack/_link', "<link package='TestPack' />" + put '/source/home:Iggy/TestLinkPack/_link', params: "<link package='TestPack' />" assert_response :success login_fred @@ -2307,7 +2306,7 @@ EOF def test_branch_images_repo_without_path login_adrian - put '/source/home:adrian:IMAGES/_meta', "<project name='home:adrian:IMAGES'> <title/> <description/> + put '/source/home:adrian:IMAGES/_meta', params: "<project name='home:adrian:IMAGES'> <title/> <description/> <repository name='images'> <arch>i586</arch> <arch>x86_64</arch> @@ -2315,10 +2314,10 @@ EOF </project>" assert_response :success - put '/source/home:adrian:IMAGES/appliance/_meta', "<package project='home:adrian:IMAGES' name='appliance'> <title/> <description/> </package>" + put '/source/home:adrian:IMAGES/appliance/_meta', params: "<package project='home:adrian:IMAGES' name='appliance'> <title/> <description/> </package>" assert_response :success - post '/source/home:adrian:IMAGES/appliance', cmd: 'branch', add_repositories: 1 + post '/source/home:adrian:IMAGES/appliance', params: { cmd: 'branch', add_repositories: 1 } assert_response :success get '/source/home:adrian:branches:home:adrian:IMAGES/_meta' @@ -2339,7 +2338,7 @@ EOF def test_branch_repository_with_extra_policy login_adrian - put '/source/home:adrian:TEMP/_meta', "<project name='home:adrian:TEMP'> <title/> <description/> + put '/source/home:adrian:TEMP/_meta', params: "<project name='home:adrian:TEMP'> <title/> <description/> <repository name='repo1' rebuild='local'> <arch>x86_64</arch> </repository> @@ -2351,11 +2350,11 @@ EOF </repository> </project>" assert_response :success - put '/source/home:adrian:TEMP/dummy/_meta', "<package project='home:adrian:TEMP' name='dummy'> <title/> <description/> </package>" + put '/source/home:adrian:TEMP/dummy/_meta', params: "<package project='home:adrian:TEMP' name='dummy'> <title/> <description/> </package>" assert_response :success # without attribute - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1, add_repositories_rebuild: :local, add_repositories_block: :never + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1, add_repositories_rebuild: :local, add_repositories_block: :never } assert_response :success get '/source/home:adrian:branches:home:adrian:TEMP/_meta' assert_response :success @@ -2366,7 +2365,7 @@ EOF assert_response :success # copy rebuild strategy when branching - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1, add_repositories_rebuild: :copy + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1, add_repositories_rebuild: :copy } assert_response :success get '/source/home:adrian:branches:home:adrian:TEMP/_meta' assert_response :success @@ -2377,9 +2376,9 @@ EOF assert_response :success # invalid policy - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1, add_repositories_rebuild: :WRONG + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1, add_repositories_rebuild: :WRONG } assert_response 400 - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1, add_repositories_block: :WRONG + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1, add_repositories_block: :WRONG } assert_response 400 # cleanup @@ -2389,7 +2388,7 @@ EOF def test_branch_repository_attribute_tests login_adrian - put '/source/home:adrian:TEMP/_meta', "<project name='home:adrian:TEMP'> <title/> <description/> + put '/source/home:adrian:TEMP/_meta', params: "<project name='home:adrian:TEMP'> <title/> <description/> <repository name='repo1'> <arch>x86_64</arch> </repository> @@ -2401,11 +2400,11 @@ EOF </repository> </project>" assert_response :success - put '/source/home:adrian:TEMP/dummy/_meta', "<package project='home:adrian:TEMP' name='dummy'> <title/> <description/> </package>" + put '/source/home:adrian:TEMP/dummy/_meta', params: "<package project='home:adrian:TEMP' name='dummy'> <title/> <description/> </package>" assert_response :success # without attribute - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1 + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1 } assert_response :success get '/source/home:adrian:branches:home:adrian:TEMP/_meta' assert_response :success @@ -2416,12 +2415,12 @@ EOF assert_response :success # use repos from other project - post "/source/home:adrian:TEMP/_attribute", " + post "/source/home:adrian:TEMP/_attribute", params: " <attributes><attribute namespace='OBS' name='BranchRepositoriesFromProject'> <value>BaseDistro</value> </attribute></attributes>" assert_response :success - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1 + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1 } assert_response :success get '/source/home:adrian:branches:home:adrian:TEMP/_meta' assert_response :success @@ -2435,12 +2434,12 @@ EOF assert_response :success # use just some repositories - post "/source/home:adrian:TEMP/_attribute", " + post "/source/home:adrian:TEMP/_attribute", params: " <attributes><attribute namespace='OBS' name='BranchSkipRepositories'> <value>repo1</value><value>repo3</value> </attribute></attributes>" assert_response :success - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', add_repositories: 1 + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', add_repositories: 1 } assert_response :success get '/source/home:adrian:branches:home:adrian:TEMP/_meta' assert_response :success @@ -2450,7 +2449,7 @@ EOF delete '/source/home:adrian:branches:home:adrian:TEMP' assert_response :success # again as maintenance branch - post '/source/home:adrian:TEMP/dummy', cmd: 'branch', maintenance: 1 + post '/source/home:adrian:TEMP/dummy', params: { cmd: 'branch', maintenance: 1 } assert_response :success get '/source/home:adrian:branches:home:adrian:TEMP/_meta' assert_response :success @@ -2469,7 +2468,7 @@ EOF def test_branch_images_repo_with_path login_adrian - put '/source/home:adrian:IMAGES/_meta', "<project name='home:adrian:IMAGES'> <title/> <description/> + put '/source/home:adrian:IMAGES/_meta', params: "<project name='home:adrian:IMAGES'> <title/> <description/> <repository name='images'> <path project='BaseDistro' repository='BaseDistro_repo' /> <arch>x86_64</arch> @@ -2477,10 +2476,10 @@ EOF </project>" assert_response :success - put '/source/home:adrian:IMAGES/appliance/_meta', "<package project='home:adrian:IMAGES' name='appliance'> <title/> <description/> </package>" + put '/source/home:adrian:IMAGES/appliance/_meta', params: "<package project='home:adrian:IMAGES' name='appliance'> <title/> <description/> </package>" assert_response :success - post '/source/home:adrian:IMAGES/appliance', cmd: 'branch', add_repositories: 1 + post '/source/home:adrian:IMAGES/appliance', params: { cmd: 'branch', add_repositories: 1 } assert_response :success get '/source/home:adrian:branches:home:adrian:IMAGES/_meta' @@ -2501,7 +2500,7 @@ EOF def test_release_project # create manual release target login_adrian - put '/source/home:adrian:RT/_meta', "<project name='home:adrian:RT'> <title/> <description/> + put '/source/home:adrian:RT/_meta', params: "<project name='home:adrian:RT'> <title/> <description/> <repository name='rt'> <arch>i586</arch> <arch>x86_64</arch> @@ -2514,7 +2513,7 @@ EOF login_Iggy get '/source/home:Iggy/ToBeDeletedTestPack/_meta' assert_response :success - put '/source/home:Iggy/ToBeDeletedTestPack/_meta', @response.body + put '/source/home:Iggy/ToBeDeletedTestPack/_meta', params: @response.body assert_response :success run_scheduler('i586') @@ -2527,52 +2526,52 @@ EOF rt = doc.elements["/project/repository'"].add_element 'releasetarget' rt.add_attribute REXML::Attribute.new('project', 'home:adrian:RT') rt.add_attribute REXML::Attribute.new('repository', 'rt') - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response :success # try to release with incorrect trigger login_adrian - post '/source/home:Iggy?cmd=release', nil + post '/source/home:Iggy?cmd=release' assert_response 403 # cmd_no_permissions assert_match(/Trigger is not set to manual in repository home:Iggy\/10.2/, @response.body) # add correct trigger login_Iggy rt.add_attribute REXML::Attribute.new('trigger', 'manual') - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response :success # this user is not allowed - post '/source/home:Iggy/TestPack?cmd=release', nil + post '/source/home:Iggy/TestPack?cmd=release' assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'cmd_execution_no_permission' } # but he can release it to own space - post '/source/home:Iggy/TestPack?cmd=release&target_project=home:Iggy', nil + post '/source/home:Iggy/TestPack?cmd=release&target_project=home:Iggy' assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'missing_parameter' } - post '/source/home:Iggy/TestPack?cmd=release&target_project=home:Iggy:TEST&repository=10.2&target_repository=10.2', nil + post '/source/home:Iggy/TestPack?cmd=release&target_project=home:Iggy:TEST&repository=10.2&target_repository=10.2' assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_project' } # create project doc.root.attributes['name'] = "home:Iggy:TEST" - put '/source/home:Iggy:TEST/_meta', doc.to_s + put '/source/home:Iggy:TEST/_meta', params: doc.to_s assert_response :success # but now it works for real - post '/source/home:Iggy/TestPack?cmd=release&target_project=home:Iggy:TEST&repository=10.2&target_repository=10.2', nil + post '/source/home:Iggy/TestPack?cmd=release&target_project=home:Iggy:TEST&repository=10.2&target_repository=10.2' assert_response :success delete '/source/home:Iggy:TEST' assert_response :success # release entire project as well to default target login_adrian - post '/source/home:Iggy?cmd=release', nil + post '/source/home:Iggy?cmd=release' assert_response :success assert_xml_tag tag: 'status', attributes: { code: 'invoked' } # just invoked, it will not get executed in test suite # so try it again without delay - post '/source/home:Iggy?cmd=release&nodelay=1', nil + post '/source/home:Iggy?cmd=release&nodelay=1' assert_response :success assert_xml_tag tag: 'status', attributes: { code: 'ok' } @@ -2595,7 +2594,7 @@ EOF # cleanup login_Iggy - put '/source/home:Iggy/_meta', orig_project_meta + put '/source/home:Iggy/_meta', params: orig_project_meta assert_response :success login_adrian delete '/source/home:adrian:RT' @@ -2605,7 +2604,7 @@ EOF def test_release_package login_adrian # define manual release target - put '/source/home:adrian:RT/_meta', "<project name='home:adrian:RT'> <title/> <description/> + put '/source/home:adrian:RT/_meta', params: "<project name='home:adrian:RT'> <title/> <description/> <repository name='rt'> <arch>i586</arch> <arch>x86_64</arch> @@ -2624,37 +2623,37 @@ EOF rt = doc.elements["/project/repository'"].add_element 'releasetarget' rt.add_attribute REXML::Attribute.new('project', 'home:adrian:RT') rt.add_attribute REXML::Attribute.new('repository', 'rt') - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response :success - post '/source/home:Iggy/TestPack?cmd=branch&target_project=home:Iggy&target_package=TestPackBranch', nil + post '/source/home:Iggy/TestPack?cmd=branch&target_project=home:Iggy&target_package=TestPackBranch' assert_response :success get '/source/home:Iggy/TestPackBranch/_link' assert_response :success # try to release with incorrect trigger login_adrian - post '/source/home:Iggy/TestPack?cmd=release', nil + post '/source/home:Iggy/TestPack?cmd=release' assert_response 403 assert_match(/Trigger is not set to manual in repository home:Iggy\/10.2/, @response.body) # add correct trigger login_Iggy rt.add_attribute REXML::Attribute.new('trigger', 'manual') - put '/source/home:Iggy/_meta', doc.to_s + put '/source/home:Iggy/_meta', params: doc.to_s assert_response :success # this user is not allowed - post '/source/home:Iggy/TestPack?cmd=release', nil + post '/source/home:Iggy/TestPack?cmd=release' assert_response 403 assert_xml_tag tag: 'status', attributes: { code: 'cmd_execution_no_permission' } assert_match(/no permission to write in project home:adrian:RT/, @response.body) # release for real login_adrian - post '/source/home:Iggy/TestPack?cmd=release', nil + post '/source/home:Iggy/TestPack?cmd=release' assert_response :success assert_xml_tag tag: 'status', attributes: { code: 'ok' } - post '/source/home:Iggy/TestPackBranch?cmd=release', nil + post '/source/home:Iggy/TestPackBranch?cmd=release' assert_response :success assert_xml_tag tag: 'status', attributes: { code: 'ok' } @@ -2686,7 +2685,7 @@ EOF # release for real with a defined release tag login_adrian - post '/source/home:Iggy/TestPack?cmd=release&setrelease=Beta1', nil + post '/source/home:Iggy/TestPack?cmd=release&setrelease=Beta1' assert_response :success assert_xml_tag tag: 'status', attributes: { code: 'ok' } @@ -2713,7 +2712,7 @@ EOF # cleanup login_Iggy - put '/source/home:Iggy/_meta', orig_project_meta + put '/source/home:Iggy/_meta', params: orig_project_meta assert_response :success delete '/source/home:Iggy/TestPackBranch' assert_response :success @@ -2726,7 +2725,7 @@ EOF # fred has maintainer permissions in this single package of Iggys home # this is the osc way login_fred - put '/source/home:Iggy/TestPack/filename', 'CONTENT' + put '/source/home:Iggy/TestPack/filename', params: 'CONTENT' assert_response :success get '/source/home:Iggy/TestPack/_history' assert_response :success @@ -2734,7 +2733,7 @@ EOF revision = node.each(:revision).last.value :rev # standard copy - post '/source/home:fred/DELETE', cmd: :copy, oproject: 'home:Iggy', opackage: 'TestPack' + post '/source/home:fred/DELETE', params: { cmd: :copy, oproject: 'home:Iggy', opackage: 'TestPack' } assert_response :success get '/source/home:fred/DELETE/_history' assert_response :success @@ -2743,7 +2742,7 @@ EOF # FIXME: this is not yet supported in backend if $ENABLE_BROKEN_TEST # copy with history - post '/source/home:fred/DELETE', cmd: :copy, oproject: 'home:Iggy', opackage: 'TestPack', withhistory: '1' + post '/source/home:fred/DELETE', params: { cmd: :copy, oproject: 'home:Iggy', opackage: 'TestPack', withhistory: '1' } assert_response :success get '/source/home:fred/DELETE/_history' assert_response :success @@ -2759,7 +2758,7 @@ EOF def test_collectbuildenv login_Iggy - post '/source/home:Iggy/TestPack?cmd=branch&target_project=home:Iggy&target_package=TestPackBranch', nil + post '/source/home:Iggy/TestPack?cmd=branch&target_project=home:Iggy&target_package=TestPackBranch' assert_response :success get '/source/home:Iggy/TestPackBranch/_link' assert_response :success @@ -2768,7 +2767,7 @@ EOF assert_response 400 assert_xml_tag tag: 'status', attributes: { code: "missing_parameter" } - post '/source/home:Iggy/TestPackBranch?cmd=collectbuildenv&oproject=home:Iggy&opackage=TestPack&comment=my+collectbuildenv', nil + post '/source/home:Iggy/TestPackBranch?cmd=collectbuildenv&oproject=home:Iggy&opackage=TestPack&comment=my+collectbuildenv' assert_response :success get '/source/home:Iggy/TestPackBranch/_history' @@ -2789,7 +2788,7 @@ EOF assert_xml_tag tag: 'error', content: "_buildenv missing in home:Iggy/10.2" # from BaseDistro project, we build against - post '/source/home:Iggy/TestPackBranch?cmd=collectbuildenv&oproject=BaseDistro&opackage=pack1&comment=my+collectbuildenv', nil + post '/source/home:Iggy/TestPackBranch?cmd=collectbuildenv&oproject=BaseDistro&opackage=pack1&comment=my+collectbuildenv' assert_response :success # global fallback _buildenv, contains always an error get '/source/home:Iggy/TestPackBranch/_buildenv' @@ -2813,7 +2812,7 @@ EOF assert_response :success assert_xml_tag tag: 'person', attributes: { userid: 'Iggy', role: 'maintainer' } orig = @response.body - post '/source/home:fred:COPY', cmd: :copy, oproject: 'home:Iggy' + post '/source/home:fred:COPY', params: { cmd: :copy, oproject: 'home:Iggy' } assert_response :success get '/source/home:fred:COPY/_meta' assert_response :success @@ -2829,15 +2828,15 @@ EOF # permissions # create new project is not allowed - post '/source/TEMPCOPY', cmd: :copy, oproject: 'home:Iggy', nodelay: '1' + post '/source/TEMPCOPY', params: { cmd: :copy, oproject: 'home:Iggy', nodelay: '1' } assert_response 403 assert_xml_tag(tag: 'status', attributes: { code: 'cmd_execution_no_permission' }) login_king - put '/source/TEMPCOPY/_meta', '<project name="TEMPCOPY"> <title/> <description/> <person role="maintainer" userid="fred"/> </project>' + put '/source/TEMPCOPY/_meta', params: '<project name="TEMPCOPY"> <title/> <description/> <person role="maintainer" userid="fred"/> </project>' assert_response :success # copy into existing project is allowed login_fred - post '/source/TEMPCOPY', cmd: :copy, oproject: 'home:Iggy' + post '/source/TEMPCOPY', params: { cmd: :copy, oproject: 'home:Iggy' } assert_response :success # cleanup @@ -2849,16 +2848,16 @@ EOF def test_source_commits login_tom - post '/source/home:Iggy/TestPack', cmd: 'commitfilelist' + post '/source/home:Iggy/TestPack', params: { cmd: 'commitfilelist' } assert_response 403 - put '/source/home:Iggy/TestPack/filename', 'CONTENT' + put '/source/home:Iggy/TestPack/filename', params: 'CONTENT' assert_response 403 # fred has maintainer permissions in this single package of Iggys home # this is the osc way login_fred delete '/source/home:Iggy/TestPack/filename' # in case other tests created it - put '/source/home:Iggy/TestPack/filename?rev=repository', 'CONTENT' + put '/source/home:Iggy/TestPack/filename?rev=repository', params: 'CONTENT' assert_response :success get '/source/home:Iggy/TestPack/filename' assert_response 404 @@ -2889,7 +2888,7 @@ EOF # this is the future webui way login_fred - put '/source/home:Iggy/TestPack/filename?rev=upload', 'CONTENT' + put '/source/home:Iggy/TestPack/filename?rev=upload', params: 'CONTENT' assert_response :success get '/source/home:Iggy/TestPack/filename' assert_response :success @@ -2909,7 +2908,7 @@ EOF assert_xml_tag(parent: { tag: 'revision', attributes: { rev: revision.to_s }, content: nil }, tag: 'srcmd5') # test deleteuploadrev - put '/source/home:Iggy/TestPack/anotherfilename?rev=upload', 'CONTENT' + put '/source/home:Iggy/TestPack/anotherfilename?rev=upload', params: 'CONTENT' assert_response :success get '/source/home:Iggy/TestPack/anotherfilename' assert_response :success @@ -2925,41 +2924,41 @@ EOF # login_Iggy # _product must be created - put '/source/home:Iggy/_product/_meta', "<package project='home:Iggy' name='_product'> <title/> <description/> </package>" + put '/source/home:Iggy/_product/_meta', params: "<package project='home:Iggy' name='_product'> <title/> <description/> </package>" assert_response :success - put '/source/home:Iggy/_product/filename?rev=repository', 'CONTENT' + put '/source/home:Iggy/_product/filename?rev=repository', params: 'CONTENT' assert_response :success raw_post '/source/home:Iggy/_product?cmd=commitfilelist', ' <directory> <entry name="filename" md5="45685e95985e20822fb2538a522a5ccf" /> </directory> ' assert_response :success get '/source/home:Iggy/_product/filename' assert_response :success - put '/source/home:Iggy/_product/filename2', 'CONTENT' + put '/source/home:Iggy/_product/filename2', params: 'CONTENT' assert_response :success get '/source/home:Iggy/_product/filename2' assert_response :success # _pattern exists always - put '/source/home:Iggy/_pattern/filename', 'CONTENT' + put '/source/home:Iggy/_pattern/filename', params: 'CONTENT' assert_response 400 # illegal content - put '/source/home:Iggy/_pattern/filename?rev=repository', load_backend_file('pattern/digiKam.xml') + put '/source/home:Iggy/_pattern/filename?rev=repository', params: load_backend_file('pattern/digiKam.xml') assert_response :success raw_post '/source/home:Iggy/_pattern?cmd=commitfilelist', ' <directory> <entry name="filename" md5="c5fadc30cd4c7d45bd3ce053b2751ec2" /> </directory> ' assert_response :success get '/source/home:Iggy/_pattern/filename' assert_response :success - put '/source/home:Iggy/_pattern/filename2', load_backend_file('pattern/digiKam.xml') + put '/source/home:Iggy/_pattern/filename2', params: load_backend_file('pattern/digiKam.xml') assert_response :success get '/source/home:Iggy/_pattern/filename2' assert_response :success # _project exists always - put '/source/home:Iggy/_project/filename?rev=repository', 'CONTENT' + put '/source/home:Iggy/_project/filename?rev=repository', params: 'CONTENT' assert_response :success raw_post '/source/home:Iggy/_project?cmd=commitfilelist', ' <directory> <entry name="filename" md5="45685e95985e20822fb2538a522a5ccf" /> </directory> ' assert_response :success get '/source/home:Iggy/_project/filename' assert_response :success - put '/source/home:Iggy/_project/filename2', 'CONTENT' + put '/source/home:Iggy/_project/filename2', params: 'CONTENT' assert_response :success get '/source/home:Iggy/_project/filename2' assert_response :success @@ -2971,7 +2970,7 @@ EOF assert_response :success raw_put '/source/home:Iggy/TestPack/TestPack.spec', load_backend_file('source/home:Iggy/TestPack/TestPack.spec') assert_response :success - put('/source/home:Iggy/TestPack/myfile', 'DummyContent') + put('/source/home:Iggy/TestPack/myfile', params: 'DummyContent') assert_response :success delete '/source/home:Iggy/TestPack/filename' assert_response :success @@ -2979,14 +2978,14 @@ EOF def test_branch_and_merge_changes login_Iggy - post '/source/kde4/kdelibs?cmd=branch&target_project=home:Iggy&target_package=kdelibs_upstream', nil + post '/source/kde4/kdelibs?cmd=branch&target_project=home:Iggy&target_package=kdelibs_upstream' assert_response :success - put "/source/home:Iggy/kdelibs_upstream/kdelibs.changes", File.open("#{Rails.root}/test/fixtures/backend/source/kde4/kdelibs/kdelibs.changes").read - post '/source/home:Iggy/kdelibs_upstream?cmd=branch&target_project=home:Iggy&target_package=kdelibs_branch', nil + put "/source/home:Iggy/kdelibs_upstream/kdelibs.changes", params: File.open("#{Rails.root}/test/fixtures/backend/source/kde4/kdelibs/kdelibs.changes").read + post '/source/home:Iggy/kdelibs_upstream?cmd=branch&target_project=home:Iggy&target_package=kdelibs_branch' assert_response :success # apply conflicting changes for diff3 ... but not for our changes merge tool - put "/source/home:Iggy/kdelibs_branch/kdelibs.changes", File.open("#{Rails.root}/test/fixtures/backend/source/kde4/kdelibs/kdelibs.changes.branch").read - put "/source/home:Iggy/kdelibs_upstream/kdelibs.changes", File.open("#{Rails.root}/test/fixtures/backend/source/kde4/kdelibs/kdelibs.changes.new").read + put "/source/home:Iggy/kdelibs_branch/kdelibs.changes", params: File.open("#{Rails.root}/test/fixtures/backend/source/kde4/kdelibs/kdelibs.changes.branch").read + put "/source/home:Iggy/kdelibs_upstream/kdelibs.changes", params: File.open("#{Rails.root}/test/fixtures/backend/source/kde4/kdelibs/kdelibs.changes.new").read # merge is working? get '/source/home:Iggy/kdelibs_branch?expand=1' @@ -3006,12 +3005,12 @@ EOF login_tom # list all linking projects - post '/source/BaseDistro2.0', cmd: 'showlinked' + post '/source/BaseDistro2.0', params: { cmd: 'showlinked' } assert_response :success assert_xml_tag(tag: 'project', attributes: { name: 'BaseDistro2.0:LinkedUpdateProject' }, content: nil) # list all linking packages with a local link - post '/source/BaseDistro/pack2', cmd: 'showlinked' + post '/source/BaseDistro/pack2', params: { cmd: 'showlinked' } assert_response :success assert_xml_tag(tag: 'package', attributes: { project: 'BaseDistro:Update', name: 'pack2' }, content: nil) @@ -3024,25 +3023,21 @@ EOF def test_create_links login_king - put url_for(controller: :source, action: :update_project_meta, project: 'TEMPORARY'), - '<project name="TEMPORARY"> <title/> <description/> <person role="maintainer" userid="fred"/> </project>' + put url_for(controller: :source, action: :update_project_meta, project: 'TEMPORARY'), params: '<project name="TEMPORARY"> <title/> <description/> <person role="maintainer" userid="fred"/> </project>' assert_response 200 # create packages via user without any special roles login_fred get url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'temporary') assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'temporary'), - '<package project="kde4" name="temporary"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'temporary'), params: '<package project="kde4" name="temporary"> <title/> <description/> </package>' assert_response 200 assert_xml_tag(tag: 'status', attributes: { code: 'ok' }) - put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'temporary2'), - '<package project="kde4" name="temporary2"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: 'kde4', package: 'temporary2'), params: '<package project="kde4" name="temporary2"> <title/> <description/> </package>' assert_response 200 assert_xml_tag(tag: 'status', attributes: { code: 'ok' }) - put '/source/kde4/temporary/file_in_linked_package', 'FILE CONTENT' + put '/source/kde4/temporary/file_in_linked_package', params: 'FILE CONTENT' assert_response 200 - put url_for(controller: :source, action: :update_package_meta, project: 'TEMPORARY', package: 'temporary2'), - '<package project="TEMPORARY" name="temporary2"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: 'TEMPORARY', package: 'temporary2'), params: '<package project="TEMPORARY" name="temporary2"> <title/> <description/> </package>' assert_response 200 url = '/source/kde4/temporary/_link' @@ -3050,38 +3045,38 @@ EOF url3 = '/source/TEMPORARY/temporary2/_link' # illegal targets - put url, '<link project="notexisting" />' + put url, params: '<link project="notexisting" />' assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_project' } - put url, '<link project="kde4" package="notexiting" />' + put url, params: '<link project="kde4" package="notexiting" />' assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_package' } # not existing link target, but ignore it - put url, '<link project="kde4" package="notexiting" missingok="true" />' + put url, params: '<link project="kde4" package="notexiting" missingok="true" />' assert_response :success - put url, '<link project="BaseDistro" package="pack1" missingok="true" />' + put url, params: '<link project="BaseDistro" package="pack1" missingok="true" />' assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'not_missing' } # working local link - put url, '<link project="BaseDistro" package="pack1" />' + put url, params: '<link project="BaseDistro" package="pack1" />' assert_response :success - put url2, '<link package="temporary" />' + put url2, params: '<link package="temporary" />' assert_response :success - put url3, '<link project="kde4" />' + put url3, params: '<link project="kde4" />' assert_response :success # working link to package via project link - put url, '<link project="BaseDistro2.0:LinkedUpdateProject" package="pack2" />' + put url, params: '<link project="BaseDistro2.0:LinkedUpdateProject" package="pack2" />' assert_response :success # working link to remote package - put url, '<link project="RemoteInstance:BaseDistro" package="pack1" />' + put url, params: '<link project="RemoteInstance:BaseDistro" package="pack1" />' assert_response :success - put url, '<link project="RemoteInstance:BaseDistro2.0:LinkedUpdateProject" package="pack2" />' + put url, params: '<link project="RemoteInstance:BaseDistro2.0:LinkedUpdateProject" package="pack2" />' assert_response :success # working link to remote project link - put url, '<link project="UseRemoteInstance" package="pack2" />' + put url, params: '<link project="UseRemoteInstance" package="pack2" />' assert_response :success # check backend functionality @@ -3117,14 +3112,14 @@ EOF def test_parse_channel_file login_Iggy - put '/source/home:Iggy/TestChannel/_meta', "<package project='home:Iggy' name='TestChannel'> <title/> <description/> </package>" + put '/source/home:Iggy/TestChannel/_meta', params: "<package project='home:Iggy' name='TestChannel'> <title/> <description/> </package>" assert_response :success - put '/source/home:Iggy/TestChannel/_channel', '<channel/>' # binaries and binary element is required + put '/source/home:Iggy/TestChannel/_channel', params: '<channel/>' # binaries and binary element is required assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'validation_failed' } - put '/source/home:Iggy/TestChannel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/home:Iggy/TestChannel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="BaseDistro" repository="Invalid" /> <binaries> @@ -3134,7 +3129,7 @@ EOF assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_repository' } - put '/source/home:Iggy/TestChannel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/home:Iggy/TestChannel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <target project="Invalid" repository="Invalid" /> <binaries> @@ -3144,7 +3139,7 @@ EOF assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_project' } - put '/source/home:Iggy/TestChannel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/home:Iggy/TestChannel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <binaries project="BaseDistro" repository="BaseDistro_repo" arch="does_not_exist"> <binary name="glibc-devel" binaryarch="noarch" package="pack1" project="BaseDistro" repository="BaseDistro_repo" arch="i586"/> @@ -3153,7 +3148,7 @@ EOF assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'validation_failed' } - put '/source/home:Iggy/TestChannel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/home:Iggy/TestChannel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <binaries project="BaseDistro" repository="BaseDistro_repo" arch="i586"> <binary name="glibc-devel" package="INVALID" project="BaseDistro"/> @@ -3162,7 +3157,7 @@ EOF assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'unknown_package' } - put '/source/home:Iggy/TestChannel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/home:Iggy/TestChannel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <binaries> <binary /> @@ -3171,7 +3166,7 @@ EOF assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'validation_failed' } - put '/source/home:Iggy/TestChannel/_channel', '<?xml version="1.0" encoding="UTF-8"?> + put '/source/home:Iggy/TestChannel/_channel', params: '<?xml version="1.0" encoding="UTF-8"?> <channel> <product project="BaseDistro" name="simple" /> <target project="BaseDistro" repository="BaseDistro_repo" /> @@ -3233,14 +3228,12 @@ EOF def test_create_project_with_invalid_repository_reference login_tom - put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), - '<project name="home:tom:temporary"> <title/> <description/> + put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me" /> </project>' assert_response :success # self reference - put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), - '<project name="home:tom:temporary"> <title/> <description/> + put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me"> <path project="home:tom:temporary" repository="me" /> </repository> @@ -3248,8 +3241,7 @@ EOF assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'project_save_error' } assert_match(/Using same repository as path element is not allowed/, @response.body) - put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), - '<project name="home:tom:temporary"> <title/> <description/> + put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me"> <hostsystem project="home:tom:temporary" repository="me" /> </repository> @@ -3258,8 +3250,7 @@ EOF assert_xml_tag tag: 'status', attributes: { code: 'project_save_error' } assert_match(/Using same repository as hostsystem element is not allowed/, @response.body) # not existing repo - put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), - '<project name="home:tom:temporary"> <title/> <description/> + put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me"> <path project="home:tom:temporary" repository="DOESNOTEXIST" /> </repository> @@ -3267,8 +3258,7 @@ EOF assert_response 400 assert_xml_tag tag: 'status', attributes: { code: 'project_save_error' } assert_match(/unable to walk on path/, @response.body) - put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), - '<project name="home:tom:temporary"> <title/> <description/> + put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), params: '<project name="home:tom:temporary"> <title/> <description/> <repository name="me"> <hostsystem project="home:tom:temporary" repository="DOESNOTEXIST" /> </repository> @@ -3283,8 +3273,7 @@ EOF def test_use_project_link_as_non_maintainer login_tom - put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), - '<project name="home:tom:temporary"> <title/> <description/> <link project="kde4" /> </project>' + put url_for(controller: :source, action: :update_project_meta, project: 'home:tom:temporary'), params: '<project name="home:tom:temporary"> <title/> <description/> <link project="kde4" /> </project>' assert_response :success get '/source/home:tom:temporary' assert_response :success @@ -3294,7 +3283,7 @@ EOF assert_response :success delete '/source/home:tom:temporary/kdelibs' assert_response 404 - post '/source/home:tom:temporary/kdelibs', cmd: :copy, oproject: 'home:tom:temporary', opackage: 'kdelibs' + post '/source/home:tom:temporary/kdelibs', params: { cmd: :copy, oproject: 'home:tom:temporary', opackage: 'kdelibs' } assert_response :success get '/source/home:tom:temporary/kdelibs/_meta' meta = @response.body @@ -3306,7 +3295,7 @@ EOF assert_response 404 # check if package creation is doing the right thing - put '/source/home:tom:temporary/kdelibs/_meta', meta.dup + put '/source/home:tom:temporary/kdelibs/_meta', params: meta.dup assert_response :success delete '/source/home:tom:temporary/kdelibs' assert_response :success @@ -3337,33 +3326,33 @@ EOF assert_response :success login_tom - post '/source/kde4', cmd: :undelete + post '/source/kde4', params: { cmd: :undelete } assert_response 403 login_adrian - post '/source/kde4', cmd: :undelete + post '/source/kde4', params: { cmd: :undelete } assert_response 403 login_king - post '/source/kde4', cmd: :undelete + post '/source/kde4', params: { cmd: :undelete } assert_response :success login_tom - post '/source/kde4/kdelibs', cmd: :undelete + post '/source/kde4/kdelibs', params: { cmd: :undelete } assert_response 403 login_adrian - post '/source/kde4/kdelibs', cmd: :undelete + post '/source/kde4/kdelibs', params: { cmd: :undelete } assert_response :success end def test_branch_creating_project - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response 401 assert_xml_tag tag: "status", attributes: { code: "authentication_required" } Configuration.stubs(:anonymous).returns(false) # still 401 and not 403 (or it breaks osc login) - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response 401 assert_xml_tag tag: "status", attributes: { code: "authentication_required" } @@ -3375,18 +3364,18 @@ EOF # Create public project, but api config is changed to make it closed Configuration.stubs(:allow_user_to_create_home_project).returns(false) Configuration.stubs(:anonymous).returns(true) - post '/source/home:Iggy/TestPack', cmd: :branch, dryrun: '1' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, dryrun: '1' } assert_response :success - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response 403 # create home and try again login_king - put '/source/home:fredlibs/_meta', "<project name='home:fredlibs'><title/><description/> <person role='maintainer' userid='fredlibs'/> </project>" + put '/source/home:fredlibs/_meta', params: "<project name='home:fredlibs'><title/><description/> <person role='maintainer' userid='fredlibs'/> </project>" assert_response :success prepare_request_with_user 'fredlibs', 'buildservice' - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response :success # auto delete attribute got created @@ -3415,7 +3404,7 @@ EOF Configuration.stubs(:allow_user_to_create_home_project).returns(true) delete '/source/home:fredlibs:branches:home:Iggy' assert_response :success - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response :success # cleanup @@ -3426,26 +3415,26 @@ EOF end def test_branch_package_delete_and_undelete - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test' } assert_response 401 assert_xml_tag tag: 'status', attributes: { code: 'authentication_required' } prepare_request_with_user 'fredlibs', 'buildservice' - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'NotExisting' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'NotExisting' } assert_response 403 assert_match(/no permission to create project/, @response.body) - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test' } assert_response 403 assert_match(/no permission to/, @response.body) - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test', force: '1' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test', force: '1' } assert_response 403 assert_match(/no permission to/, @response.body) - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test', dryrun: '1' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test', dryrun: '1' } assert_response :success assert_xml_tag tag: 'package', attributes: { package: 'TestPack', project: 'home:Iggy' }, child: { tag: 'target', attributes: { package: 'TestPack', project: 'home:coolo:test' } } login_tom - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test' } assert_response :success get '/source/home:coolo:test/TestPack/_meta' assert_response :success @@ -3454,14 +3443,14 @@ EOF get '/source/home:coolo:test/_meta' assert_response :success oldmeta = @response.body - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test' } assert_response 400 assert_match(/branch target package already exists/, @response.body) - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test', force: '1' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test', force: '1' } assert_response :success - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test', force: '1', rev: '1' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test', force: '1', rev: '1' } assert_response :success - post '/source/home:Iggy/TestPack', cmd: :branch, target_project: 'home:coolo:test', force: '1', rev: '42424242' + post '/source/home:Iggy/TestPack', params: { cmd: :branch, target_project: 'home:coolo:test', force: '1', rev: '42424242' } assert_response 400 assert_match(/no such revision/, @response.body) # project meta must be untouched @@ -3471,7 +3460,7 @@ EOF # FIXME: do a real commit and branch afterwards # now with a new project - post '/source/home:Iggy/TestPack', cmd: :branch + post '/source/home:Iggy/TestPack', params: { cmd: :branch } assert_response :success get '/source/home:tom:branches:home:Iggy/TestPack/_meta' @@ -3491,7 +3480,7 @@ EOF assert_not_nil ret['patches']['branch'] # Branch a package with a defined devel package - post '/source/kde4/kdelibs', cmd: :branch + post '/source/kde4/kdelibs', params: { cmd: :branch } assert_response :success assert_xml_tag(tag: 'data', attributes: { name: 'targetproject' }, content: 'home:tom:branches:home:coolo:test') assert_xml_tag(tag: 'data', attributes: { name: 'targetpackage' }, content: 'kdelibs_DEVEL_package') @@ -3513,7 +3502,7 @@ EOF assert_response 404 # undelete package - post '/source/home:tom:branches:home:Iggy/TestPack', cmd: :undelete + post '/source/home:tom:branches:home:Iggy/TestPack', params: { cmd: :undelete } assert_response :success # content got restored ? @@ -3525,7 +3514,7 @@ EOF assert_response :success # undelete package again - post '/source/home:tom:branches:home:Iggy/TestPack', cmd: :undelete + post '/source/home:tom:branches:home:Iggy/TestPack', params: { cmd: :undelete } assert_response 400 # already exists # cleanup @@ -3802,7 +3791,7 @@ EOF end end - put url, xml + put url, params: xml assert_response :success # then we add two times the maintainer @@ -3818,7 +3807,7 @@ EOF end end - put url, xml + put url, params: xml assert_response :success get url @@ -3882,9 +3871,9 @@ EOF # restore (esp in backend) login_king - put '/source/home:Iggy/_meta', orig_prj_meta + put '/source/home:Iggy/_meta', params: orig_prj_meta assert_response :success - put '/source/home:Iggy/TestPack/_meta', orig_pkg_meta + put '/source/home:Iggy/TestPack/_meta', params: orig_pkg_meta assert_response :success end @@ -3892,7 +3881,7 @@ EOF login_tom name = Faker::Lorem.characters(255) url = url_for(controller: :source, action: :update_package_meta, project: 'home:tom', package: name) - put url, "<package name='#{name}' project='home:tom'> <title/> <description/></package>" + put url, params: "<package name='#{name}' project='home:tom'> <title/> <description/></package>" assert_response 400 assert_select 'status[code] > summary', %r{invalid package name} get url @@ -3904,7 +3893,7 @@ EOF login_tom name = "home:tom:#{Faker::Lorem.characters(255)}" url = url_for(controller: :source, action: :update_project_meta, project: name) - put url, "<project name='#{name}'> <title/> <description/></project>" + put url, params: "<project name='#{name}'> <title/> <description/></project>" assert_response 400 assert_select 'status[code] > summary', %r{invalid project name} get url @@ -3915,19 +3904,19 @@ EOF # _attribute is a "file", but can only be written by API->backend not directly def test_puting__attribute_to_backend login_tom - put "/source/home:tom/_project/_attribute?meta=1", '' + put "/source/home:tom/_project/_attribute?meta=1", params: '' assert_response 400 assert_select 'status[code] > summary', "Attributes need to be changed through /source/home:tom/_attribute" end def test_obscpio_deltastore login_tom - put('/source/home:tom:deltastore/_meta', '<project name="home:tom:deltastore"><title/><description/></project>') + put('/source/home:tom:deltastore/_meta', params: '<project name="home:tom:deltastore"><title/><description/></project>') assert_response :success - put('/source/home:tom:deltastore/deltapack/_meta', '<package name="deltapack" project="home:tom:deltastore"><title/><description/></package>') + put('/source/home:tom:deltastore/deltapack/_meta', params: '<package name="deltapack" project="home:tom:deltastore"><title/><description/></package>') assert_response :success - put '/source/home:tom:deltastore/deltapack/archive.obscpio', load_backend_file('source/deltapack/archive.obscpio') + put '/source/home:tom:deltastore/deltapack/archive.obscpio', params: load_backend_file('source/deltapack/archive.obscpio') assert_response :success get '/source/home:tom:deltastore/deltapack' @@ -3969,8 +3958,7 @@ EOF def test_issue_328 login_tom # create a new project with images repo referencing the other - put('/source/home:tom:threeatatime/_meta', - '<project name="home:tom:threeatatime"> <title/> <description/> + put('/source/home:tom:threeatatime/_meta', params: '<project name="home:tom:threeatatime"> <title/> <description/> <repository name="images"> <path project="home:tom:threeatatime" repository="standard"/> </repository> @@ -4010,7 +3998,7 @@ EOF put '/source/home:Iggy/_config?' + { project: 'home:Iggy', comment: 'Updated by test' - }.to_query, new_project_config + }.to_query, params: new_project_config assert_response :success get '/source/home:Iggy/_config' @@ -4021,7 +4009,7 @@ EOF put '/source/home:Iggy/_config?' + { project: 'home:Iggy', comment: 'Updated by test' - }.to_query, project_config + }.to_query, params: project_config assert_response :success end end diff --git a/src/api/test/functional/source_services_test.rb b/src/api/test/functional/source_services_test.rb index 3c56dd86c..9ee9e4b79 100644 --- a/src/api/test/functional/source_services_test.rb +++ b/src/api/test/functional/source_services_test.rb @@ -41,20 +41,18 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_combine_project_service_list login_king - put '/source/BaseDistro2.0/_project/_service', - '<services> <service name="set_version" > <param name="version">0815</param> </service> </services>' + put '/source/BaseDistro2.0/_project/_service', params: '<services> <service name="set_version" > <param name="version">0815</param> </service> </services>' assert_response :success - put '/source/BaseDistro2.0:LinkedUpdateProject/_project/_service', '<services> <service name="download_files" /> </services>' + put '/source/BaseDistro2.0:LinkedUpdateProject/_project/_service', params: '<services> <service name="download_files" /> </services>' assert_response :success login_tom - post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'branch' + post '/source/BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'branch' } assert_response :success - put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/_project/_service', - '<services> <service name="download_url" > <param name="host">blahfasel</param> </service> </services>' + put '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/_project/_service', params: '<services> <service name="download_url" > <param name="host">blahfasel</param> </service> </services>' assert_response :success - post '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2', cmd: 'getprojectservices' + post '/source/home:tom:branches:BaseDistro2.0:LinkedUpdateProject/pack2', params: { cmd: 'getprojectservices' } assert_response :success assert_xml_tag( tag: 'service', attributes: { name: 'download_files' } ) assert_xml_tag( parent: { tag: 'service', attributes: { name: 'download_url' } }, @@ -74,12 +72,12 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_run_source_service login_tom - put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>" + put '/source/home:tom/service/_meta', params: "<package project='home:tom' name='service'> <title /> <description /> </package>" assert_response :success - put '/source/home:tom/service/pack.spec', "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:tom/service/pack.spec', params: "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success - put '/source/home:tom/service/_service', '<services> <service name="not_existing" /> </services>' + put '/source/home:tom/service/_service', params: '<services> <service name="not_existing" /> </services>' assert_response :success assert_nil Package.find_by_project_and_name("home:tom", "service").backend_package.error post '/source/home:tom/service?cmd=runservice' @@ -94,8 +92,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_response 400 assert_match(/not_existing/, @response.body) # multiple line error shows up - put '/source/home:tom/service/_service', - '<services> <service name="download_url" > + put '/source/home:tom/service/_service', params: '<services> <service name="download_url" > <param name="host">localhost</param> <param name="path">/directory/subdirectory/file</param> </service> </services>' @@ -110,12 +107,12 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_no_xml_tag parent: { tag: 'serviceinfo' }, tag: 'error' get '/source/home:tom/service/_service:download_url:file?expand=1' assert_response :success - post '/source/home:tom/service?cmd=servicediff', nil + post '/source/home:tom/service?cmd=servicediff' assert_match(/download_url:file/, @response.body) assert_response :success # submit to other package - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:tom" package="service"/> <target project="home:tom" package="new_package"/> @@ -139,10 +136,10 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_response :success # branch and submit requsts - post '/source/home:tom/service', cmd: 'branch' + post '/source/home:tom/service', params: { cmd: 'branch' } assert_response :success assert_nil Package.find_by_project_and_name("home:tom:branches:home:tom", "service").backend_package.error - put '/source/home:tom:branches:home:tom/service/new_file', 'content' + put '/source/home:tom:branches:home:tom/service/new_file', params: 'content' assert_response :success assert_nil Package.find_by_project_and_name("home:tom:branches:home:tom", "service").backend_package.error post '/source/home:tom:branches:home:tom/service?cmd=waitservice' @@ -151,7 +148,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_nil Package.find_by_project_and_name("home:tom:branches:home:tom", "service").backend_package.error get '/source/home:tom:branches:home:tom/service/_service:download_url:file?expand=1' assert_response :success - post '/request?cmd=create', '<request> + post '/request?cmd=create', params: '<request> <action type="submit"> <source project="home:tom:branches:home:tom" package="service"/> <target project="home:tom" package="service"/> @@ -176,7 +173,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest get '/source/home:tom/service/_service:download_url:file?expand=1' assert_response :success original_file = @response.body - post '/source/home:tom/copied_service', cmd: 'copy', noservice: '1', opackage: 'service', oproject: 'home:tom' + post '/source/home:tom/copied_service', params: { cmd: 'copy', noservice: '1', opackage: 'service', oproject: 'home:tom' } assert_response :success get '/source/home:tom/copied_service?expand=1' assert_response :success @@ -184,7 +181,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest get '/source/home:tom/copied_service/_service:download_url:file?expand=1' assert_response :success assert_equal(@response.body, original_file) - post '/source/home:tom/copied_service', cmd: 'copy', opackage: 'service', oproject: 'home:tom' + post '/source/home:tom/copied_service', params: { cmd: 'copy', opackage: 'service', oproject: 'home:tom' } assert_response :success get '/source/home:tom/copied_service?expand=1' assert_response :success @@ -196,7 +193,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_not_equal(@response.body, original_file) # project copy tests - post '/source/home:tom:COPY', cmd: 'copy', noservice: '1', oproject: 'home:tom' + post '/source/home:tom:COPY', params: { cmd: 'copy', noservice: '1', oproject: 'home:tom' } assert_response :success get '/source/home:tom:COPY/service?expand=1' assert_response :success @@ -204,7 +201,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest get '/source/home:tom:COPY/service/_service:download_url:file?expand=1' assert_response :success assert_equal(@response.body, original_file) - post '/source/home:tom:COPY/service', cmd: 'copy', oproject: 'home:tom' + post '/source/home:tom:COPY/service', params: { cmd: 'copy', oproject: 'home:tom' } assert_response :success get '/source/home:tom:COPY/service?expand=1' assert_response :success @@ -216,7 +213,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_response :success # remove service - put '/source/home:tom/service/_service', '<services/>' # empty list + put '/source/home:tom/service/_service', params: '<services/>' # empty list assert_response :success post '/source/home:tom/service?cmd=runservice' assert_response :success @@ -250,12 +247,12 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_service_merge_invalid login_tom # Setup package - put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>" + put '/source/home:tom/service/_meta', params: "<package project='home:tom' name='service'> <title /> <description /> </package>" assert_response :success - put '/source/home:tom/service/pack.spec', "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:tom/service/pack.spec', params: "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success - put '/source/home:tom/service/_service', '<services> <service name="not_existing" /> </services>' + put '/source/home:tom/service/_service', params: '<services> <service name="not_existing" /> </services>' assert_response :success assert_nil Package.find_by_project_and_name("home:tom", "service").backend_package.error post '/source/home:tom/service?cmd=runservice' @@ -275,13 +272,12 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_service_merge_valid login_tom # Setup package - put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>" + put '/source/home:tom/service/_meta', params: "<package project='home:tom' name='service'> <title /> <description /> </package>" assert_response :success - put '/source/home:tom/service/pack.spec', "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:tom/service/pack.spec', params: "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success - put '/source/home:tom/service/_service', - '<services> <service name="download_url" > + put '/source/home:tom/service/_service', params: '<services> <service name="download_url" > <param name="host">localhost</param> <param name="path">/directory/subdirectory/file</param> </service> </services>' @@ -297,7 +293,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_no_xml_tag parent: { tag: 'serviceinfo' }, tag: 'error' get '/source/home:tom/service/_service:download_url:file?expand=1' assert_response :success - post '/source/home:tom/service?cmd=mergeservice', nil + post '/source/home:tom/service?cmd=mergeservice' assert_response :success get '/source/home:tom/service' assert_response :success @@ -317,16 +313,14 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_buildtime_service login_Iggy - put '/source/home:Iggy/service/_meta', - "<package project='home:Iggy' name='service'> <title /> <description /> <build><enable/></build></package>" + put '/source/home:Iggy/service/_meta', params: "<package project='home:Iggy' name='service'> <title /> <description /> <build><enable/></build></package>" assert_response :success - put '/source/home:Iggy/service/pack.spec', "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:Iggy/service/pack.spec', params: "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success post '/source/home:Iggy/service?cmd=waitservice' assert_response :success - put '/source/home:Iggy/service/_service', - '<services> <service name="set_version" mode="buildtime"> + put '/source/home:Iggy/service/_service', params: '<services> <service name="set_version" mode="buildtime"> <param name="version">0817</param> <param name="file">pack.spec</param> </service> </services>' @@ -354,18 +348,17 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_source_commit_with_service login_tom - put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>" + put '/source/home:tom/service/_meta', params: "<package project='home:tom' name='service'> <title /> <description /> </package>" assert_response :success post '/source/home:tom/service?cmd=waitservice' assert_response :success - put '/source/home:tom/service/_service', - '<services> <service name="set_version" > + put '/source/home:tom/service/_service', params: '<services> <service name="set_version" > <param name="version">0819</param> <param name="file">pack.spec</param> </service> </services>' assert_response :success post '/source/home:tom/service?cmd=waitservice' assert_response :success - put '/source/home:tom/service/pack.spec', "# Comment \nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:tom/service/pack.spec', params: "# Comment \nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success post '/source/home:tom/service?cmd=waitservice' assert_response :success @@ -378,7 +371,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest md5sum_spec = doc.elements["//entry[@name='pack.spec']"].attributes['md5'] # do a commit to trigger the service - put '/source/home:tom/service/filename?rev=repository', 'CONTENT' + put '/source/home:tom/service/filename?rev=repository', params: 'CONTENT' assert_response :success filelist = '<directory> <entry name="filename" md5="45685e95985e20822fb2538a522a5ccf" /> <entry name="_service" md5="' + md5sum_service + '" /> <entry name="pack.spec" md5="' + md5sum_spec + '" /> </directory> ' @@ -418,13 +411,13 @@ class SourceServicesTest < ActionDispatch::IntegrationTest def test_run_project_source_service login_tom - put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>" + put '/source/home:tom/service/_meta', params: "<package project='home:tom' name='service'> <title /> <description /> </package>" assert_response :success - put '/source/home:tom/service/pack.spec', "# Comment \nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:tom/service/pack.spec', params: "# Comment \nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success # unknown service - put '/source/home:tom/_project/_service', '<services> <service name="not_existing" /> </services>' + put '/source/home:tom/_project/_service', params: '<services> <service name="not_existing" /> </services>' assert_response :success post '/source/home:tom/service?cmd=runservice' assert_response :success @@ -436,7 +429,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_match(/not_existing.service No such file or directory/, @response.body) # unknown parameter - put '/source/home:tom/_project/_service', '<services> <service name="set_version" > <param name="INVALID">0817</param></service> </services>' + put '/source/home:tom/_project/_service', params: '<services> <service name="set_version" > <param name="INVALID">0817</param></service> </services>' assert_response :success post '/source/home:tom/service?cmd=runservice' assert_response :success @@ -448,24 +441,23 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_match(/service parameter "INVALID" is not defined/, @response.body) # invalid names - put '/source/home:tom/_project/_service', '<services> <service name="set_version ; `ls`" ></service> </services>' + put '/source/home:tom/_project/_service', params: '<services> <service name="set_version ; `ls`" ></service> </services>' assert_response 400 assert_match(/service name.*contains invalid chars/, @response.body) - put '/source/home:tom/_project/_service', '<services> <service name="../blahfasel" ></service> </services>' + put '/source/home:tom/_project/_service', params: '<services> <service name="../blahfasel" ></service> </services>' assert_response 400 assert_match(/service name.*contains invalid chars/, @response.body) - put '/source/home:tom/_project/_service', '<services> <service name="set_version" > <param name="asd; `ls`">0817</param></service> </services>' + put '/source/home:tom/_project/_service', params: '<services> <service name="set_version" > <param name="asd; `ls`">0817</param></service> </services>' assert_response 400 assert_match(/service parameter.*contains invalid chars/, @response.body) # reset - put '/source/home:tom/_project/_service', - '<services> <service name="set_version" > <param name="version">0817</param> <param name="file">pack.spec</param> </service> </services>' + put '/source/home:tom/_project/_service', params: '<services> <service name="set_version" > <param name="version">0817</param> <param name="file">pack.spec</param> </service> </services>' assert_response :success - put '/source/home:tom/service2/_meta', "<package project='home:tom' name='service2'> <title /> <description /> </package>" + put '/source/home:tom/service2/_meta', params: "<package project='home:tom' name='service2'> <title /> <description /> </package>" assert_response :success - put '/source/home:tom/service2/pack.spec', "# Comment \nVersion: 12\nRelease: 9\nSummary: asd" + put '/source/home:tom/service2/pack.spec', params: "# Comment \nVersion: 12\nRelease: 9\nSummary: asd" assert_response :success post '/source/home:tom/service2?cmd=runservice' assert_response :success @@ -492,7 +484,7 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_response 401 login_tom - put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>" + put '/source/home:tom/service/_meta', params: "<package project='home:tom' name='service'> <title /> <description /> </package>" assert_response :success post '/person/tom/token?cmd=create' @@ -518,18 +510,18 @@ class SourceServicesTest < ActionDispatch::IntegrationTest assert_match(/No valid token found/, @response.body) # with wrong token - post '/trigger/runservice', nil, { 'Authorization' => 'Token wrong' } + post '/trigger/runservice', headers: { 'Authorization' => 'Token wrong' } assert_response 404 assert_xml_tag tag: 'status', attributes: { code: 'not_found' } # with right token - post '/trigger/runservice', nil, { 'Authorization' => "Token #{token}" } + post '/trigger/runservice', headers: { 'Authorization' => "Token #{token}" } # success, but no source service configured :) assert_response 404 assert_match(/no source service defined/, @response.body) # with global token - post '/trigger/runservice?project=home:tom&package=service', nil, { 'Authorization' => "Token #{alltoken}" } + post '/trigger/runservice?project=home:tom&package=service', headers: { 'Authorization' => "Token #{alltoken}" } # success, but no source service configured :) assert_response 404 assert_match(/no source service defined/, @response.body) @@ -539,12 +531,12 @@ class SourceServicesTest < ActionDispatch::IntegrationTest tom.state = "locked" tom.save! # with right token - post '/trigger/runservice', nil, { 'Authorization' => "Token #{token}" } + post '/trigger/runservice', headers: { 'Authorization' => "Token #{token}" } # success, but no source service configured :) assert_response 403 assert_xml_tag tag: "status", attributes: { code: "no_permission" } # with global token - post '/trigger/runservice?project=home:tom&package=service', nil, { 'Authorization' => "Token #{alltoken}" } + post '/trigger/runservice?project=home:tom&package=service', headers: { 'Authorization' => "Token #{alltoken}" } # success, but no source service configured :) assert_response 403 assert_xml_tag tag: "status", attributes: { code: "no_permission" } diff --git a/src/api/test/functional/statistics_controller_test.rb b/src/api/test/functional/statistics_controller_test.rb index d5b161087..7e0bc8d11 100644 --- a/src/api/test/functional/statistics_controller_test.rb +++ b/src/api/test/functional/statistics_controller_test.rb @@ -13,8 +13,7 @@ class StatisticsControllerTest < ActionDispatch::IntegrationTest login_adrian get url_for(controller: :source, action: :show_package_meta, project: "HiddenProject", package: "test_latest_added") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "test_latest_added"), - '<package project="HiddenProject" name="test_latest_added"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "test_latest_added"), params: '<package project="HiddenProject" name="test_latest_added"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) @@ -34,8 +33,7 @@ class StatisticsControllerTest < ActionDispatch::IntegrationTest login_fred get url_for(controller: :source, action: :show_package_meta, project: "kde4", package: "test_latest_added1") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "test_latest_added1"), - '<package project="kde4" name="test_latest_added1"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "test_latest_added1"), params: '<package project="kde4" name="test_latest_added1"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) @@ -55,8 +53,7 @@ class StatisticsControllerTest < ActionDispatch::IntegrationTest login_adrian get url_for(controller: :source, action: :show_package_meta, project: "HiddenProject", package: "test_latest_added") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "test_latest_added"), - '<package project="HiddenProject" name="test_latest_added"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "HiddenProject", package: "test_latest_added"), params: '<package project="HiddenProject" name="test_latest_added"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) @@ -76,8 +73,7 @@ class StatisticsControllerTest < ActionDispatch::IntegrationTest login_fred get url_for(controller: :source, action: :show_package_meta, project: "kde4", package: "test_latest_added1") assert_response 404 - put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "test_latest_added1"), - '<package project="kde4" name="test_latest_added1"> <title/> <description/> </package>' + put url_for(controller: :source, action: :update_package_meta, project: "kde4", package: "test_latest_added1"), params: '<package project="kde4" name="test_latest_added1"> <title/> <description/> </package>' assert_response 200 assert_xml_tag( tag: "status", attributes: { code: "ok"} ) diff --git a/src/api/test/functional/status_controller_test.rb b/src/api/test/functional/status_controller_test.rb index 78dff27b4..e1fd1cc48 100644 --- a/src/api/test/functional/status_controller_test.rb +++ b/src/api/test/functional/status_controller_test.rb @@ -22,14 +22,14 @@ class StatusControllerTest < ActionDispatch::IntegrationTest assert_response 403 login_king - put "/status/messages", '<whereareyou/>' + put "/status/messages", params: '<whereareyou/>' assert_response 400 - put "/status/messages", '<messages><message>nada</message></messages>' + put "/status/messages", params: '<messages><message>nada</message></messages>' assert_response 400 assert_xml_tag attributes: { code: 'invalid_record' } - put "/status/messages", '<message severity="1">I have nothing to say</message>' + put "/status/messages", params: '<message severity="1">I have nothing to say</message>' assert_response :success # delete it again diff --git a/src/api/test/functional/tag_controller_test.rb b/src/api/test/functional/tag_controller_test.rb index 75712f7d6..08c62cc75 100644 --- a/src/api/test/functional/tag_controller_test.rb +++ b/src/api/test/functional/tag_controller_test.rb @@ -998,8 +998,7 @@ class TagControllerTest < ActionDispatch::IntegrationTest def test_tags_by_user_and_object_put_for_a_project # Precondition check: Get all tags for Iggy and the home:project. login_Iggy - get "/tag/get_tags_by_user_and_project", project: 'home:Iggy', - user: 'Iggy' + get "/tag/get_tags_by_user_and_project", params: { project: 'home:Iggy', user: 'Iggy' } assert_response :success # checking response-data assert_xml_tag tag: "tags", @@ -1034,7 +1033,7 @@ class TagControllerTest < ActionDispatch::IntegrationTest end # add tags - put url_for(controller: :tag, action: :tags_by_user_and_object, project: 'home:Iggy', user: 'Iggy'), xml.to_s + put url_for(controller: :tag, action: :tags_by_user_and_object, project: 'home:Iggy', user: 'Iggy'), params: xml.to_s assert_response :success # Get data again and check that tags where added or removed @@ -1064,8 +1063,7 @@ class TagControllerTest < ActionDispatch::IntegrationTest def test_tags_by_user_and_object_put_for_a_package # Precondition check: Get all tags for Iggy and a package. login_Iggy - get "/tag/get_tags_by_user_and_package", project: 'home:Iggy', - package: 'TestPack', user: 'Iggy' + get "/tag/get_tags_by_user_and_package", params: { project: 'home:Iggy', package: 'TestPack', user: 'Iggy' } assert_response :success # checking response-data assert_xml_tag tag: "tags", @@ -1103,7 +1101,7 @@ class TagControllerTest < ActionDispatch::IntegrationTest # add tags put url_for(controller: :tag, action: :tags_by_user_and_object, project: 'home:Iggy', package: "TestPack", - user: 'Iggy'), xml.to_s + user: 'Iggy'), params: xml.to_s assert_response :success # Get data again and check that tags where added or removed @@ -1152,13 +1150,13 @@ class TagControllerTest < ActionDispatch::IntegrationTest # put request for an unknown user put url_for(controller: :tag, action: :tags_by_user_and_object, project: 'home:Iggy', package: "TestPack", - user: 'Alien'), xml.to_s + user: 'Alien'), params: xml.to_s assert_response 404 # put request for another user than the logged on user. put url_for(controller: :tag, action: :tags_by_user_and_object, project: 'home:Iggy', package: "TestPack", - user: 'fred'), xml.to_s + user: 'fred'), params: xml.to_s assert_response 403 end @@ -1166,13 +1164,11 @@ class TagControllerTest < ActionDispatch::IntegrationTest login_Iggy # put request for an unknown project - get "/tag/tags_by_user_and_object", project: 'AlienProject', user: 'Iggy' + get "/tag/tags_by_user_and_object", params: { project: 'AlienProject', user: 'Iggy' } assert_response 404 # put request for an unknown package - get "/tag/tags_by_user_and_object", project: 'home:Iggy', - package: "AlienPackage", - user: 'Iggy' + get "/tag/tags_by_user_and_object", params: { project: 'home:Iggy', package: "AlienPackage", user: 'Iggy' } assert_response 404 end end diff --git a/src/api/test/functional/webui/commits_feed_test.rb b/src/api/test/functional/webui/commits_feed_test.rb index d84c54e44..fbdf52311 100644 --- a/src/api/test/functional/webui/commits_feed_test.rb +++ b/src/api/test/functional/webui/commits_feed_test.rb @@ -21,7 +21,7 @@ class Webui::CommitsFeedTest < Webui::IntegrationTest Timecop.freeze(2013, 8, 14, 12, 0, 0) do # login_king to: project_show_path(project: 'home:king') - get '/project/latest_commits/BaseDistro', {starting_at: "2013-08-10", ending_at: "2013-08-13"} + get '/project/latest_commits/BaseDistro', params: { starting_at: "2013-08-10", ending_at: "2013-08-13" } assert_response :success feed = Xmlhash.parse(@response.body) assert_equal 'Commits for BaseDistro', feed['title'] diff --git a/src/api/test/functional/webui/package_controller_test.rb b/src/api/test/functional/webui/package_controller_test.rb index 7d09f8cf5..796663674 100644 --- a/src/api/test/functional/webui/package_controller_test.rb +++ b/src/api/test/functional/webui/package_controller_test.rb @@ -479,7 +479,7 @@ class Webui::PackageControllerTest < Webui::IntegrationTest page.must_have_text "Revision Log of pack2 (3)" login_king - 20.times { |i| put '/source/BaseDistro2.0/pack2/dummy', i.to_s } + 20.times { |i| put '/source/BaseDistro2.0/pack2/dummy', params: i.to_s } visit package_view_revisions_path(project: 'BaseDistro2.0', package: 'pack2') page.must_have_text "Revision Log of pack2 (23)" all(:css, 'div.commit_item').count.must_equal 20 @@ -571,7 +571,7 @@ class Webui::PackageControllerTest < Webui::IntegrationTest click_button "Save changes" # add 6 new revision to source package - 6.times { |i| put '/source/BaseDistro2.0/tst_pack/rev_file_test', "revision #{(i + 1)}" } + 6.times { |i| put '/source/BaseDistro2.0/tst_pack/rev_file_test', params: "revision #{(i + 1)}" } # check latest revision visit project_show_path(project: "BaseDistro2.0") click_link "tst_pack" diff --git a/src/api/test/functional/webui/project_controller_test.rb b/src/api/test/functional/webui/project_controller_test.rb index 414d16d53..37d18ea35 100644 --- a/src/api/test/functional/webui/project_controller_test.rb +++ b/src/api/test/functional/webui/project_controller_test.rb @@ -744,7 +744,7 @@ XML put '/source/home:Iggy/_config?' + { project: 'home:Iggy', comment: 'Updated by test' - }.to_query, project_config + }.to_query, params: project_config assert_response :success end end diff --git a/src/api/test/functional/zzz_post_consistency_test.rb b/src/api/test/functional/zzz_post_consistency_test.rb index 5ecc63832..6142f7535 100644 --- a/src/api/test/functional/zzz_post_consistency_test.rb +++ b/src/api/test/functional/zzz_post_consistency_test.rb @@ -26,7 +26,7 @@ class ZZZPostConsistency < ActionDispatch::IntegrationTest get "/source/My:Maintenance/_meta" assert_response :success - get "/search/project", match: '[maintenance/maintains/@project="BaseDistro2.0:LinkedUpdateProject"]' + get "/search/project", params: { match: '[maintenance/maintains/@project="BaseDistro2.0:LinkedUpdateProject"]' } assert_response :success assert_xml_tag tag: 'collection', children: { count: 1 } assert_xml_tag tag: 'project', attributes: { name: "My:Maintenance" } diff --git a/src/api/test/integration/last_events_test.rb b/src/api/test/integration/last_events_test.rb index 94a053ad8..f7955b786 100644 --- a/src/api/test/integration/last_events_test.rb +++ b/src/api/test/integration/last_events_test.rb @@ -30,7 +30,7 @@ class LastEventsTest < ActionDispatch::IntegrationTest assert_equal 1, count_before - BackendPackage.links.count # now readd the link (also to fix the fixtures) - put('/source/BaseDistro2.0/pack2.linked/_link', "<link package=\"pack2\" cicount='copy' />") + put('/source/BaseDistro2.0/pack2.linked/_link', params: "<link package=\"pack2\" cicount='copy' />") UpdateNotificationEvents.new.perform assert_equal count_before, BackendPackage.links.count end diff --git a/src/api/test/test_consistency_helper.rb b/src/api/test/test_consistency_helper.rb index 2b65ffb50..7df8d2f02 100644 --- a/src/api/test/test_consistency_helper.rb +++ b/src/api/test/test_consistency_helper.rb @@ -20,7 +20,7 @@ def resubmit_all_fixtures r = @response.body next if Project.find_by_name(name).is_locked? # FIXME: add some more validation checks here - put "/source/#{name}/_meta", r.dup + put "/source/#{name}/_meta", params: r.dup assert_response :success get "/source/#{name}/_meta" assert_response :success @@ -36,7 +36,7 @@ def resubmit_all_fixtures assert_response :success r = @response.body # FIXME: add some more validation checks here - put "/source/#{name}/#{p['name']}/_meta", r.dup + put "/source/#{name}/#{p['name']}/_meta", params: r.dup assert_response :success get "/source/#{name}/#{p['name']}/_meta" assert_response :success -- 2.14.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Contact
Support
@OBShq
The Open Build Service is an
openSUSE project
.
Log In
Places
Places
All Projects
Status Monitor