Exemplo n.º 1
0
def test_record_errors_to_cassette(temp_yaml_file, record_errors):
    custom_persister = CustomPersister()

    cassette_request = Request(
        **{
            'method': 'GET',
            'uri': 'http://127.0.0.1:8080/test',
            'body': None,
            'headers': {
                'User-Agent': 'python-requests/2.26.0',
                'Accept-Encoding': 'gzip, deflate',
                'Accept': '*/*',
                'Connection': 'keep-alive'
            }
        })
    cassette_response = {
        'status': {
            'code': 401,
            'message': 'Unauthorized'
        },
        'headers': {
            'Server': ['http-kit'],
            'Content-Length': ['19'],
            'Date': ['Fri, 15 Oct 2021 10:41:06 GMT']
        },
        'body': {
            'string': b'Unauthorized access'
        }
    }

    cassette_request.uri = 'http://127.0.0.1:8080/test'
    cassette_dict = {
        "requests": [cassette_request],
        "responses": [cassette_response]
    }
    CustomPersister.record_errors = record_errors
    CustomPersister.base_uri = "http://127.0.0.1:8080"
    CustomPersister.mock_url = "http://cornell"
    custom_persister.save_cassette(temp_yaml_file, cassette_dict,
                                   yamlserializer)
    output = open(temp_yaml_file, encoding="utf-8")
    if record_errors:
        assert yaml.safe_load(output)["interactions"] == [{
            "request":
            cassette_request._to_dict(),  # pylint: disable=protected-access
            "response":
            cassette_response
        }]
    else:
        assert output.read() == "0"