summaryrefslogtreecommitdiffstats
path: root/test/integration
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/targets/uri/tasks/main.yml56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/integration/targets/uri/tasks/main.yml b/test/integration/targets/uri/tasks/main.yml
index 78e8c35741..69f62f8702 100644
--- a/test/integration/targets/uri/tasks/main.yml
+++ b/test/integration/targets/uri/tasks/main.yml
@@ -334,6 +334,62 @@
register: result
failed_when: result.json.headers['Content-Type'] != 'text/json'
+- name: Validate body_format form-urlencoded using dicts works
+ uri:
+ url: https://{{ httpbin_host }}/post
+ method: POST
+ body:
+ user: foo
+ password: bar!#@ |&82$M
+ submit: Sign in
+ body_format: form-urlencoded
+ return_content: yes
+ register: result
+
+- name: Assert form-urlencoded dict input
+ assert:
+ that:
+ - result is successful
+ - result.json.headers['Content-Type'] == 'application/x-www-form-urlencoded'
+ - result.json.form.password == 'bar!#@ |&82$M'
+
+- name: Validate body_format form-urlencoded using lists works
+ uri:
+ url: https://{{ httpbin_host }}/post
+ method: POST
+ body:
+ - [ user, foo ]
+ - [ password, bar!#@ |&82$M ]
+ - [ submit, Sign in ]
+ body_format: form-urlencoded
+ return_content: yes
+ register: result
+
+- name: Assert form-urlencoded list input
+ assert:
+ that:
+ - result is successful
+ - result.json.headers['Content-Type'] == 'application/x-www-form-urlencoded'
+ - result.json.form.password == 'bar!#@ |&82$M'
+
+- name: Validate body_format form-urlencoded of invalid input fails
+ uri:
+ url: https://{{ httpbin_host }}/post
+ method: POST
+ body:
+ - foo
+ - bar: baz
+ body_format: form-urlencoded
+ return_content: yes
+ register: result
+ ignore_errors: yes
+
+- name: Assert invalid input fails
+ assert:
+ that:
+ - result is failure
+ - "'failed to parse body as form_urlencoded: too many values to unpack' in result.msg"
+
- name: Test client cert auth, no certs
uri:
url: "https://ansible.http.tests/ssl_client_verify"