예제 #1
0
 def test_maxRequests_maximumIsZero(self, mock_urlopen):
     mockRead = MagicMock()
     mockRead.read.return_value = "ServerResponse"
     mock_urlopen.return_value = mockRead
     comm = Communicator(maxRequestsPerDay=0)
     with pytest.raises(ApiLimitException):
         comm.sendRequest_withCounter("someUrl")
     assert mock_urlopen.call_count == 0
예제 #2
0
    def test_maxRequests_requestsAvailable(self, mock_urlopen):
        mockRead = MagicMock()
        mockRead.read.return_value = "ServerResponse"
        mock_urlopen.return_value = mockRead

        comm = Communicator(maxRequestsPerDay=20)
        assert comm.sendRequest_withCounter("someUrl") == "ServerResponse"
        assert mock_urlopen.call_count == 1 #assert_called_once()
예제 #3
0
    def test_maxRequests_tooManyRequestsYesterday_shouldWorkToday(self, mock_urlopen):
        mockRead = MagicMock()
        mockRead.read.return_value = "ServerResponse"
        mock_urlopen.return_value = mockRead

        comm = Communicator(maxRequestsPerDay=2)
        comm.currentCount = 5
        comm.counterDate = datetime.today() - timedelta(1)
        assert comm.sendRequest_withCounter("someUrl") == "ServerResponse"
        assert mock_urlopen.call_count == 1
        assert comm.counterDate == datetime.today().date()
        assert comm.currentCount == 1