예제 #1
0
def test_cassette_load(tmpdir):
    a_file = tmpdir.join('test_cassette.yml')
    a_file.write(yaml.dump([
        {'request': 'foo', 'response': 'bar'}
    ]))
    a_cassette = Cassette.load(str(a_file))
    assert len(a_cassette) == 1
예제 #2
0
def test_cassette_load(tmpdir):
    a_file = tmpdir.join('test_cassette.yml')
    a_file.write(yaml.dump([
        {'request': 'foo', 'response': 'bar'}
    ]))
    a_cassette = Cassette.load(str(a_file))
    assert len(a_cassette) == 1
예제 #3
0
def test_cassette_load(tmpdir):
    a_file = tmpdir.join('test_cassette.yml')
    a_file.write(yaml.dump({'interactions': [
        {'request': {'body': '', 'uri': 'foo', 'method': 'GET', 'headers': {}},
         'response': 'bar'}
    ]}))
    a_cassette = Cassette.load(path=str(a_file))
    assert len(a_cassette) == 1
예제 #4
0
def test_cassette_load(tmpdir):
    a_file = tmpdir.join('test_cassette.yml')
    a_file.write(yaml.dump({'interactions': [
        {'request': {'body': '', 'uri': 'foo', 'method': 'GET', 'headers': {}},
         'response': 'bar'}
    ]}))
    a_cassette = Cassette.load(str(a_file))
    assert len(a_cassette) == 1
예제 #5
0
def request_has_matches(cassette_path, flask_request):
    cassette_requests = Request(method=flask_request.method, uri=request.url, body=flask_request.data, headers=flask_request.headers)
    with set_underlying_vcr_logging_level():
        cassette = Cassette.load(path=cassette_path, match_on=(extended_vcr_body_matcher, extended_query_matcher,
                                                               method, extended_vcr_body_matcher))
    for matches in cassette.find_requests_with_most_matches(cassette_requests):
        *_, failure = matches
        if not failure:
            return True
    return False
예제 #6
0
def test_cassette_load(tmpdir):
    a_file = tmpdir.join("test_cassette.yml")
    a_file.write(
        yaml.dump(
            {
                "interactions": [
                    {"request": {"body": "", "uri": "foo", "method": "GET", "headers": {}}, "response": "bar"}
                ]
            }
        )
    )
    a_cassette = Cassette.load(path=str(a_file))
    assert len(a_cassette) == 1
예제 #7
0
def test_cassette_load(tmpdir):
    a_file = tmpdir.join("test_cassette.yml")
    a_file.write(
        yaml.dump({
            "interactions": [{
                "request": {
                    "body": "",
                    "uri": "foo",
                    "method": "GET",
                    "headers": {}
                },
                "response": "bar"
            }]
        }))
    a_cassette = Cassette.load(path=str(a_file))
    assert len(a_cassette) == 1
예제 #8
0
    def __init__(self, cassette_path: str):
        config = vcr.get_merged_config()
        config.pop("path_transformer")
        config.pop("func_path_generator")

        self.vcrpy_cassette = Cassette.load(path=cassette_path, **config)
        self._host = None

        for request in self.vcrpy_cassette.requests:
            parsed_url = urlparse(request.uri)
            current_interaction_request_host = (
                f"{parsed_url.scheme}://{parsed_url.netloc}")

            if current_interaction_request_host != self._host and self._host != None:
                raise MultipleHostsInCassette(
                    "More than one host found in cassette interactions")

            if self._host == None:
                self._host = current_interaction_request_host