Ejemplo n.º 1
0
    def test_arxiv_request_sends_valid_params(self, mocked_requests, mock_response):
        mocked_requests().text = mock_response

        _arxiv_request('test.url', delay=0, metadataPrefix='arXiv')
        assert mocked_requests.call_args[0] == ('test.url', )
        assert mocked_requests.call_args[1] == {'params': {'verb': 'ListRecords', 'metadataPrefix': 'arXiv'}}

        _arxiv_request('another_test.url', delay=0, resumptionToken='123456')
        assert mocked_requests.call_args[0] == ('another_test.url', )
        assert mocked_requests.call_args[1] == {'params': {'verb': 'ListRecords', 'resumptionToken': '123456'}}
Ejemplo n.º 2
0
    def test_arxiv_request_implements_delay(self, mocked_requests, mock_response):
        """Fair use policy specifies wait of 3 seconds between each request:
            https://arxiv.org/help/api/user-manual#Quickstart
        """
        mocked_requests().text = mock_response

        start_time = time.time()
        _arxiv_request('test.url', delay=1, metadataPrefix='arXiv')
        assert time.time() - start_time > 1

        start_time = time.time()
        _arxiv_request('test.url', delay=3, metadataPrefix='arXiv')
        assert time.time() - start_time > 3
Ejemplo n.º 3
0
 def test_arxiv_request_returns_xml_element(self, mocked_requests,
                                            mock_response):
     mocked_requests().text = mock_response
     response = _arxiv_request('test.url', delay=0, metadataPrefix='arXiv')
     assert type(response) == ET.Element