Refactor the smarts into the api classes.

The object classes are now simple wrappers.
Improve parameter testing, by passing foo="bar" where possible.
This commit is contained in:
sneakypete81 2013-09-10 17:45:53 +01:00
parent 7a7b43afc7
commit 86ba0914c8
18 changed files with 307 additions and 316 deletions

View file

@ -42,8 +42,8 @@ class TestActivitiesList(TestActivities):
"""Check that the activity list is returned correctly"""
mock_get.return_value = self._return_value(self.test_activities_dict)
result = self.client.activities.list()
mock_get.assert_called_with("/activities/list.json")
result = self.client.activities.list(foo="bar")
mock_get.assert_called_with("/activities/list.json", foo="bar")
self.assertEqual(len(result), 2)
self.assertEqual(result[0].id, "1")
self.assertEqual(result[0].type, "photo_upload")
@ -56,16 +56,16 @@ class TestActivitiesList(TestActivities):
def test_empty_result(self, mock_get):
"""Check that an empty result is transformed into an empty list """
mock_get.return_value = self._return_value("")
result = self.client.activities.list()
mock_get.assert_called_with("/activities/list.json")
result = self.client.activities.list(foo="bar")
mock_get.assert_called_with("/activities/list.json", foo="bar")
self.assertEqual(result, [])
@mock.patch.object(trovebox.Trovebox, 'get')
def test_zero_rows(self, mock_get):
"""Check that totalRows=0 is transformed into an empty list """
mock_get.return_value = self._return_value([{"totalRows": 0}])
result = self.client.activities.list()
mock_get.assert_called_with("/activities/list.json")
result = self.client.activities.list(foo="bar")
mock_get.assert_called_with("/activities/list.json", foo="bar")
self.assertEqual(result, [])
@mock.patch.object(trovebox.Trovebox, 'get')
@ -73,11 +73,13 @@ class TestActivitiesList(TestActivities):
"""Check that the activity list filters are applied properly"""
mock_get.return_value = self._return_value(self.test_activities_dict)
self.client.activities.list(filters={"foo": "bar",
"test1": "test2"})
"test1": "test2"},
foo="bar")
# Dict element can be any order
self.assertIn(mock_get.call_args[0],
[("/activities/foo-bar/test1-test2/list.json",),
("/activities/test1-test2/foo-bar/list.json",)])
self.assertEqual(mock_get.call_args[1], {"foo": "bar"})
class TestActivitiesPurge(TestActivities):
@mock.patch.object(trovebox.Trovebox, 'post')
@ -135,4 +137,4 @@ class TestActivityView(TestActivities):
mock_get.return_value = self._return_value(self._view_wrapper(
{"data": "", "type": "invalid"}))
with self.assertRaises(NotImplementedError):
self.client.activity.view(self.test_activities[0], foo="bar")
self.client.activity.view(self.test_activities[0])