You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/uri/tasks/redirect-urllib2.yml

295 lines
9.8 KiB
YAML

# NOTE: The HTTP HEAD turns into an HTTP GET
- name: Test HTTP 301 using HEAD
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: HEAD
register: http_301_head
- assert:
that:
- http_301_head is successful
- http_301_head.json.data == ''
- http_301_head.json.method == 'GET'
- http_301_head.json.url == 'https://{{ httpbin_host }}/anything'
- http_301_head.redirected == true
- http_301_head.status == 200
- http_301_head.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: urllib2
return_content: yes
method: GET
register: http_301_get
- assert:
that:
- http_301_get is successful
- http_301_get.json.data == ''
- http_301_get.json.method == 'GET'
- http_301_get.json.url == 'https://{{ httpbin_host }}/anything'
- http_301_get.redirected == true
- http_301_get.status == 200
- http_301_get.url == 'https://{{ httpbin_host }}/anything'
# NOTE: The HTTP POST turns into an HTTP GET
- name: Test HTTP 301 using POST
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=301&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: POST
body: '{ "foo": "bar" }'
body_format: json
register: http_301_post
- assert:
that:
- http_301_post is successful
- http_301_post.json.data == ''
- http_301_post.json.method == 'GET'
- http_301_post.json.url == 'https://{{ httpbin_host }}/anything'
- http_301_post.redirected == true
- http_301_post.status == 200
- http_301_post.url == 'https://{{ httpbin_host }}/anything'
# NOTE: The HTTP HEAD turns into an HTTP GET
- name: Test HTTP 302 using HEAD
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: HEAD
register: http_302_head
- assert:
that:
- http_302_head is successful
- http_302_head.json.data == ''
- http_302_head.json.method == 'GET'
- http_302_head.json.url == 'https://{{ httpbin_host }}/anything'
- http_302_head.redirected == true
- http_302_head.status == 200
- http_302_head.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: urllib2
return_content: yes
method: GET
register: http_302_get
- assert:
that:
- http_302_get is successful
- http_302_get.json.data == ''
- http_302_get.json.method == 'GET'
- http_302_get.json.url == 'https://{{ httpbin_host }}/anything'
- http_302_get.redirected == true
- http_302_get.status == 200
- http_302_get.url == 'https://{{ httpbin_host }}/anything'
# NOTE: The HTTP POST turns into an HTTP GET
- name: Test HTTP 302 using POST
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=302&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: POST
body: '{ "foo": "bar" }'
body_format: json
register: http_302_post
- assert:
that:
- http_302_post is successful
- http_302_post.json.data == ''
- http_302_post.json.method == 'GET'
- http_302_post.json.url == 'https://{{ httpbin_host }}/anything'
- http_302_post.redirected == true
- http_302_post.status == 200
- http_302_post.url == 'https://{{ httpbin_host }}/anything'
# NOTE: The HTTP HEAD turns into an HTTP GET
- name: Test HTTP 303 using HEAD
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: HEAD
register: http_303_head
- assert:
that:
- http_303_head is successful
- http_303_head.json.data == ''
- http_303_head.json.method == 'GET'
- http_303_head.json.url == 'https://{{ httpbin_host }}/anything'
- http_303_head.redirected == true
- http_303_head.status == 200
- http_303_head.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: urllib2
return_content: yes
method: GET
register: http_303_get
- assert:
that:
- http_303_get is successful
- http_303_get.json.data == ''
- http_303_get.json.method == 'GET'
- http_303_get.json.url == 'https://{{ httpbin_host }}/anything'
- http_303_get.redirected == true
- http_303_get.status == 200
- http_303_get.url == 'https://{{ httpbin_host }}/anything'
# NOTE: The HTTP POST turns into an HTTP GET
- name: Test HTTP 303 using POST
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=303&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: POST
body: '{ "foo": "bar" }'
body_format: json
register: http_303_post
- assert:
that:
- http_303_post is successful
- http_303_post.json.data == ''
- http_303_post.json.method == 'GET'
- http_303_post.json.url == 'https://{{ httpbin_host }}/anything'
- http_303_post.redirected == true
- http_303_post.status == 200
- http_303_post.url == 'https://{{ httpbin_host }}/anything'
# NOTE: The HTTP HEAD turns into an HTTP GET
- name: Test HTTP 307 using HEAD
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
return_content: yes
method: HEAD
register: http_307_head
- assert:
that:
- http_307_head is successful
- http_307_head.json.data == ''
- http_307_head.json.method == 'GET'
- http_307_head.json.url == 'https://{{ httpbin_host }}/anything'
- http_307_head.redirected == true
- http_307_head.status == 200
- http_307_head.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: urllib2
return_content: yes
method: GET
register: http_307_get
- assert:
that:
- http_307_get is successful
- http_307_get.json.data == ''
- http_307_get.json.method == 'GET'
- http_307_get.json.url == 'https://{{ httpbin_host }}/anything'
- http_307_get.redirected == true
- http_307_get.status == 200
- http_307_get.url == 'https://{{ httpbin_host }}/anything'
# FIXME: This is fixed in https://github.com/ansible/ansible/pull/36809
- name: Test HTTP 307 using POST
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=307&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
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'
# FIXME: This is 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: urllib2
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'
# FIXME: This is 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: urllib2
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'
# FIXME: This is fixed in https://github.com/ansible/ansible/pull/36809
- name: Test HTTP 308 using POST
uri:
url: https://{{ httpbin_host }}/redirect-to?status_code=308&url=https://{{ httpbin_host }}/anything
follow_redirects: urllib2
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'