summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/uri/tasks/redirect-none.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/uri/tasks/redirect-none.yml')
-rw-r--r--test/integration/targets/uri/tasks/redirect-none.yml296
1 files changed, 296 insertions, 0 deletions
diff --git a/test/integration/targets/uri/tasks/redirect-none.yml b/test/integration/targets/uri/tasks/redirect-none.yml
new file mode 100644
index 0000000..0d1b2b3
--- /dev/null
+++ b/test/integration/targets/uri/tasks/redirect-none.yml
@@ -0,0 +1,296 @@
+- name: Test HTTP 301 using HEAD
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: HEAD
+ ignore_errors: yes
+ register: http_301_head
+
+- assert:
+ that:
+ - http_301_head is failure
+ - http_301_head.json is not defined
+ - http_301_head.location == 'https://{{ httpbin_host }}/anything'
+ - "http_301_head.msg == 'Status code was 301 and not [200]: HTTP Error 301: MOVED PERMANENTLY'"
+ - http_301_head.redirected == false
+ - http_301_head.status == 301
+ - http_301_head.url == 'https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 301 using GET
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: GET
+ ignore_errors: yes
+ register: http_301_get
+
+- assert:
+ that:
+ - http_301_get is failure
+ - http_301_get.json is not defined
+ - http_301_get.location == 'https://{{ httpbin_host }}/anything'
+ - "http_301_get.msg == 'Status code was 301 and not [200]: HTTP Error 301: MOVED PERMANENTLY'"
+ - http_301_get.redirected == false
+ - http_301_get.status == 301
+ - http_301_get.url == 'https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 301 using POST
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: POST
+ body: '{ "foo": "bar" }'
+ body_format: json
+ ignore_errors: yes
+ register: http_301_post
+
+- assert:
+ that:
+ - http_301_post is failure
+ - http_301_post.json is not defined
+ - http_301_post.location == 'https://{{ httpbin_host }}/anything'
+ - "http_301_post.msg == 'Status code was 301 and not [200]: HTTP Error 301: MOVED PERMANENTLY'"
+ - http_301_post.redirected == false
+ - http_301_post.status == 301
+ - http_301_post.url == 'https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 302 using HEAD
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: HEAD
+ ignore_errors: yes
+ register: http_302_head
+
+- assert:
+ that:
+ - http_302_head is failure
+ - http_302_head.json is not defined
+ - http_302_head.location == 'https://{{ httpbin_host }}/anything'
+ - "http_302_head.msg == 'Status code was 302 and not [200]: HTTP Error 302: FOUND'"
+ - http_302_head.redirected == false
+ - http_302_head.status == 302
+ - http_302_head.url == 'https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 302 using GET
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: GET
+ ignore_errors: yes
+ register: http_302_get
+
+- assert:
+ that:
+ - http_302_get is failure
+ - http_302_get.json is not defined
+ - http_302_get.location == 'https://{{ httpbin_host }}/anything'
+ - "http_302_get.msg == 'Status code was 302 and not [200]: HTTP Error 302: FOUND'"
+ - http_302_get.redirected == false
+ - http_302_get.status == 302
+ - http_302_get.url == 'https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 302 using POST
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: POST
+ body: '{ "foo": "bar" }'
+ body_format: json
+ ignore_errors: yes
+ register: http_302_post
+
+- assert:
+ that:
+ - http_302_post is failure
+ - http_302_post.json is not defined
+ - http_302_post.location == 'https://{{ httpbin_host }}/anything'
+ - "http_302_post.msg == 'Status code was 302 and not [200]: HTTP Error 302: FOUND'"
+ - http_302_post.redirected == false
+ - http_302_post.status == 302
+ - http_302_post.url == 'https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 303 using HEAD
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: HEAD
+ ignore_errors: yes
+ register: http_303_head
+
+- assert:
+ that:
+ - http_303_head is failure
+ - http_303_head.json is not defined
+ - http_303_head.location == 'https://{{ httpbin_host }}/anything'
+ - "http_303_head.msg == 'Status code was 303 and not [200]: HTTP Error 303: SEE OTHER'"
+ - http_303_head.redirected == false
+ - http_303_head.status == 303
+ - http_303_head.url == 'https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 303 using GET
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: GET
+ ignore_errors: yes
+ register: http_303_get
+
+- assert:
+ that:
+ - http_303_get is failure
+ - http_303_get.json is not defined
+ - http_303_get.location == 'https://{{ httpbin_host }}/anything'
+ - "http_303_get.msg == 'Status code was 303 and not [200]: HTTP Error 303: SEE OTHER'"
+ - http_303_get.redirected == false
+ - http_303_get.status == 303
+ - http_303_get.url == 'https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 303 using POST
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: POST
+ body: '{ "foo": "bar" }'
+ body_format: json
+ ignore_errors: yes
+ register: http_303_post
+
+- assert:
+ that:
+ - http_303_post is failure
+ - http_303_post.json is not defined
+ - http_303_post.location == 'https://{{ httpbin_host }}/anything'
+ - "http_303_post.msg == 'Status code was 303 and not [200]: HTTP Error 303: SEE OTHER'"
+ - http_303_post.redirected == false
+ - http_303_post.status == 303
+ - http_303_post.url == 'https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 307 using HEAD
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: HEAD
+ ignore_errors: yes
+ register: http_307_head
+
+- assert:
+ that:
+ - http_307_head is failure
+ - http_307_head.json is not defined
+ - http_307_head.location == 'https://{{ httpbin_host }}/anything'
+ - "http_307_head.msg == 'Status code was 307 and not [200]: HTTP Error 307: TEMPORARY REDIRECT'"
+ - http_307_head.redirected == false
+ - http_307_head.status == 307
+ - http_307_head.url == 'https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 307 using GET
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: GET
+ ignore_errors: yes
+ register: http_307_get
+
+- assert:
+ that:
+ - http_307_get is failure
+ - http_307_get.json is not defined
+ - http_307_get.location == 'https://{{ httpbin_host }}/anything'
+ - "http_307_get.msg == 'Status code was 307 and not [200]: HTTP Error 307: TEMPORARY REDIRECT'"
+ - http_307_get.redirected == false
+ - http_307_get.status == 307
+ - http_307_get.url == 'https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 307 using POST
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: POST
+ body: '{ "foo": "bar" }'
+ body_format: json
+ ignore_errors: yes
+ register: http_307_post
+
+- assert:
+ that:
+ - http_307_post is failure
+ - http_307_post.json is not defined
+ - http_307_post.location == 'https://{{ httpbin_host }}/anything'
+ - "http_307_post.msg == 'Status code was 307 and not [200]: HTTP Error 307: TEMPORARY REDIRECT'"
+ - http_307_post.redirected == false
+ - http_307_post.status == 307
+ - http_307_post.url == 'https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything'
+
+# NOTE: This is a bug, fixed in https://github.com/ansible/ansible/pull/36809
+- name: Test HTTP 308 using HEAD
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: GET
+ ignore_errors: yes
+ register: http_308_head
+
+- assert:
+ that:
+ - http_308_head is failure
+ - http_308_head.json is not defined
+ - http_308_head.location == 'https://{{ httpbin_host }}/anything'
+ - "'Status code was 308 and not [200]: HTTP Error 308: ' in http_308_head.msg"
+ - http_308_head.redirected == false
+ - http_308_head.status == 308
+ - http_308_head.url == 'https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything'
+
+# NOTE: This is a bug, fixed in https://github.com/ansible/ansible/pull/36809
+- name: Test HTTP 308 using GET
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: GET
+ ignore_errors: yes
+ register: http_308_get
+
+- assert:
+ that:
+ - http_308_get is failure
+ - http_308_get.json is not defined
+ - http_308_get.location == 'https://{{ httpbin_host }}/anything'
+ - "'Status code was 308 and not [200]: HTTP Error 308: ' in http_308_get.msg"
+ - http_308_get.redirected == false
+ - http_308_get.status == 308
+ - http_308_get.url == 'https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything'
+
+- name: Test HTTP 308 using POST
+ uri:
+ url: https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything
+ follow_redirects: none
+ return_content: yes
+ method: POST
+ body: '{ "foo": "bar" }'
+ body_format: json
+ ignore_errors: yes
+ register: http_308_post
+
+- assert:
+ that:
+ - http_308_post is failure
+ - http_308_post.json is not defined
+ - http_308_post.location == 'https://{{ httpbin_host }}/anything'
+ - "'Status code was 308 and not [200]: HTTP Error 308: ' in http_308_post.msg"
+ - http_308_post.redirected == false
+ - http_308_post.status == 308
+ - http_308_post.url == 'https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything'