diff --git a/tests/test_recordings.py b/tests/test_recordings.py index 04960af112..e314efe1e0 100644 --- a/tests/test_recordings.py +++ b/tests/test_recordings.py @@ -27,6 +27,24 @@ def test_paging(mock): use_json_extension=True) +@patch("twilio.rest.resources.base.make_twilio_request") +def test_paging_iter(mock): + resp = create_mock_json("tests/resources/recordings_list.json") + mock.return_value = resp + + uri = "%s/Recordings" % (BASE_URI) + + next(recordings.iter(before=date(2010, 12, 5))) + exp_params = {'DateCreated<': '2010-12-05'} + mock.assert_called_with("GET", uri, params=exp_params, auth=AUTH, + use_json_extension=True) + + next(recordings.iter(after=date(2012, 12, 7))) + exp_params = {'DateCreated>': '2012-12-07'} + mock.assert_called_with("GET", uri, params=exp_params, auth=AUTH, + use_json_extension=True) + + @patch("twilio.rest.resources.base.make_twilio_request") def test_get(mock): resp = create_mock_json("tests/resources/recordings_instance.json") diff --git a/twilio/rest/resources/recordings.py b/twilio/rest/resources/recordings.py index 6a4dc227da..be88909144 100644 --- a/twilio/rest/resources/recordings.py +++ b/twilio/rest/resources/recordings.py @@ -41,6 +41,18 @@ def list(self, before=None, after=None, **kwargs): kwargs["DateCreated>"] = after return self.get_instances(kwargs) + @normalize_dates + def iter(self, before=None, after=None, **kwargs): + """ + Returns an iterator of :class:`Recording` resources. + + :param date after: Only list recordings logged after this datetime + :param date before: Only list recordings logger before this datetime + """ + kwargs["DateCreated<"] = before + kwargs["DateCreated>"] = after + return super(Recordings, self).iter(**kwargs) + def delete(self, sid): """ Delete the given recording