https://github.com/bodsch/redirect-rules-testing
Script to test defined http redirects
https://github.com/bodsch/redirect-rules-testing
python3 qa-automation redirects
Last synced: 4 months ago
JSON representation
Script to test defined http redirects
- Host: GitHub
- URL: https://github.com/bodsch/redirect-rules-testing
- Owner: bodsch
- Created: 2022-07-20T07:32:20.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-22T13:03:10.000Z (about 1 year ago)
- Last Synced: 2025-01-09T05:38:30.843Z (6 months ago)
- Topics: python3, qa-automation, redirects
- Language: Python
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# redirect-rules-testing
Small python script to test redirects.
The following options are currently integrated:
- check the return code
- check whether a redirection is desired
- check the content_type
- check the redirection location## usage
```bash
test-redirect-rules.py [-h] -f FILE [-d DOMAIN] [-D DEBUG] [-R REPORT]
```
- `file` input files (e.g. `redirect-test.yml`)
- `domain` domain to prepare sources without a domain
- `debug` ...
- `report` report file as csv### examples
```bash
./test-redirect-rules.py -f redirect-tests.yml
2024-04-22 14:57:45 ERROR request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
2024-04-22 14:57:45 ERROR wrong location! get 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel', but expected 'https://www.boone-schulz.de'
2024-04-22 14:55:03 ERROR request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
2024-04-22 14:55:03 ERROR request 'http://www.boone-schulz.de/tags' is redirected (count: 3)
``````bash
./test-redirect-rules.py -f redirect-tests-2.yml -d https://www.boone-schulz.de
2024-04-22 15:00:55 ERROR request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
2024-04-22 15:00:55 ERROR wrong location! get 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel', but expected 'https://www.boone-schulz.de'
2024-04-22 15:00:55 ERROR request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
2024-04-22 15:00:56 ERROR request 'https://www.boone-schulz.de/tags' needs test
2024-04-22 15:00:56 INFO request 'https://www.boone-schulz.de/tags/'
``````bash
./test-redirect-rules.py -f redirect-tests-2.yml -d https://www.boone-schulz.de -R redirect-tests-2.csv
2024-04-22 14:57:45 ERROR request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
2024-04-22 14:57:45 ERROR wrong location! get 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel', but expected 'https://www.boone-schulz.de'
2024-04-22 14:54:17 ERROR request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
2024-04-22 14:54:17 ERROR request 'https://www.boone-schulz.de/tags' is redirected (count: 1)
2024-04-22 14:54:17 INFO report file written as redirect-tests-2.csv
```## Examples
```yaml
---redirects:
- source: https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel
expected:
return_code: 200
redirection: false
content_type: "text/html"- source: https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel
expected:
return_code: 404
content_type: text/html- source: http://www.boone-schulz.de/tags
expected:
return_code: 200
location: https://www.boone-schulz.de/tags/```
## output
```bash
OKAY : request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel'
ERROR: request 'https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel' needs test
wrong return_code! get '200', but expected '404'
{
"url": "https://www.boone-schulz.de/?side=ueber&display=archiv&artikel=3x-ie-unter-linux--wo-gibts-denn-sowas%253Fside%3Dartikel",
"code": 200,
"content_type": "text/html"
}
OKAY : request 'http://www.boone-schulz.de/tags' - redirect count 2
```