scrapi.requests.HarvesterResponse.save

Here are the examples of the python api scrapi.requests.HarvesterResponse.save taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

8 Examples 7

Example 1

Project: scrapi Source File: test_requests.py
    @pytest.mark.cassandra
    def test_record_or_load_loads(self, mock_requests, monkeypatch):
        requests.HarvesterResponse(ok=True, method='get', url='dinosaurs.sexy',
                                   content=b'rawr', headers_str="{}").save()

        resp = requests.get('dinosaurs.sexy')

        assert resp.headers == {}
        assert resp.content == b'rawr'
        assert not mock_requests.request.called
        assert isinstance(resp, requests.HarvesterResponse)

Example 2

Project: scrapi Source File: test_requests.py
    @pytest.mark.cassandra
    def test_force_makes_new_request(self, mock_requests, monkeypatch):
        requests.HarvesterResponse(ok=True, method='get', url='dinosaurs.sexy',
                                   content=b'citychicken').save()
        mock_requests.request.return_value = mock.Mock(encoding='utf-8',
                                                       content=b'Snapcity', status_code=200,
                                                       headers={'tota': 'dyle'})

        resp = requests.get('dinosaurs.sexy')

        assert resp.content == b'citychicken'
        assert mock_requests.request.called is False

        resp = requests.get('dinosaurs.sexy', force=True)

        assert resp.content == b'Snapcity'
        assert mock_requests.request.called is True

Example 3

Project: scrapi Source File: test_requests.py
    @pytest.mark.cassandra
    def test_request_doesnt_throttle_on_load(self, mock_requests, monkeypatch):
        mock_sleep = mock.Mock()
        monkeypatch.setattr(requests, 'maybe_sleep', mock_sleep)
        requests.HarvesterResponse(ok=True, method='get', url='dinosaurs.sexy',
                                   content=b'citychicken').save()

        resp = requests.get('dinosaurs.sexy', throttle=2)

        assert mock_sleep.called is False
        assert mock_requests.request.called is False
        assert isinstance(resp, requests.HarvesterResponse)

Example 4

Project: scrapi Source File: test_requests.py
Function: test_record_or_load_loads
    @pytest.mark.django_db
    def test_record_or_load_loads(self, mock_requests, monkeypatch):
        requests.HarvesterResponse(ok=True, method='get', url='dinosaurs.sexy',
                                   content=b'rawr', headers_str="{}").save()

        resp = requests.get('dinosaurs.sexy')

        assert resp.headers == {}
        assert resp.content == b'rawr'
        assert not mock_requests.request.called
        assert isinstance(resp, requests.HarvesterResponse)

Example 5

Project: scrapi Source File: test_requests.py
Function: test_force_makes_new_request
    @pytest.mark.django_db
    def test_force_makes_new_request(self, mock_requests, monkeypatch):
        requests.HarvesterResponse(ok=True, method='get', url='dinosaurs.sexy',
                                   content=b'citychicken').save()
        mock_requests.request.return_value = mock.Mock(ok=True, encoding='utf-8',
                                                       content=b'Snapcity', status_code=200,
                                                       headers={'tota': 'dyle'})

        resp = requests.get('dinosaurs.sexy')

        assert resp.content == b'citychicken'
        assert mock_requests.request.called is False

        resp = requests.get('dinosaurs.sexy', force=True)

        assert resp.content == b'Snapcity'
        assert mock_requests.request.called is True

Example 6

Project: scrapi Source File: test_requests.py
Function: test_request_doesnt_throttle_on_load
    @pytest.mark.django_db
    def test_request_doesnt_throttle_on_load(self, mock_requests, monkeypatch):
        mock_sleep = mock.Mock()
        monkeypatch.setattr(requests, 'maybe_sleep', mock_sleep)
        requests.HarvesterResponse(ok=True, method='get', url='dinosaurs.sexy',
                                   content=b'citychicken').save()

        resp = requests.get('dinosaurs.sexy', throttle=2)

        assert mock_sleep.called is False
        assert mock_requests.request.called is False
        assert isinstance(resp, requests.HarvesterResponse)

Example 7

Project: scrapi Source File: test_requests.py
    @pytest.mark.cassandra
    def test_record_or_load_remakes(self, mock_requests, monkeypatch):
        mock_requests.request.return_value = mock.Mock(encoding='utf-8', content='rawr', status_code=200, headers={'tota': 'dyle'})
        requests.HarvesterResponse(ok=False, method='get', url='dinosaurs.sexy').save()

        model = requests.HarvesterResponse.get(method='get', url='dinosaurs.sexy')

        assert not model.ok
        assert model.method == 'get'
        assert model.url == 'dinosaurs.sexy'

        resp = requests.get('dinosaurs.sexy')

        model = requests.HarvesterResponse.get(method='get', url='dinosaurs.sexy')

        assert model.method == 'get'
        assert model.content == b'rawr'
        assert model.encoding == 'utf-8'
        assert model.status_code == 200
        assert model.url == 'dinosaurs.sexy'
        assert model.headers == {'tota': 'dyle'}
        assert model.headers_str == '{"tota": "dyle"}'
        assert isinstance(resp, requests.HarvesterResponse)

Example 8

Project: scrapi Source File: test_requests.py
Function: test_record_or_load_remakes
    @pytest.mark.django_db
    def test_record_or_load_remakes(self, mock_requests, monkeypatch):
        mock_requests.request.return_value = mock.Mock(ok=True, encoding='utf-8', content='rawr', status_code=200, headers={'tota': 'dyle'})
        requests.HarvesterResponse(ok=False, method='get', url='dinosaurs.sexy').save()

        model = requests.HarvesterResponse.get(method='get', url='dinosaurs.sexy')

        assert not model.ok
        assert model.method == 'get'
        assert model.url == 'dinosaurs.sexy'

        resp = requests.get('dinosaurs.sexy')

        model = requests.HarvesterResponse.get(method='get', url='dinosaurs.sexy')

        assert model.method == 'get'
        assert model.content == b'rawr'
        assert model.encoding == 'utf-8'
        assert model.status_code == 200
        assert model.url == 'dinosaurs.sexy'
        assert model.headers == {'tota': 'dyle'}
        assert model.headers_str == '{"tota": "dyle"}'
        assert isinstance(resp, requests.HarvesterResponse)