An open API service indexing awesome lists of open source software.

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

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
```