def test_list(self, request):
        resp = create_mock_json('tests/resources/task_router/activities_list.json')
        resp.status_code = 200
        request.return_value = resp

        uri = "{0}/Activities".format(BASE_URI)
        list_resource = Activities(BASE_URI, AUTH)
        list_resource.list()
        request.assert_called_with("GET", uri, params={}, auth=AUTH,
                                   use_json_extension=False)
    def test_get(self, request):
        resp = create_mock_json('tests/resources/task_router/activities_instance.json')
        resp.status_code = 200
        request.return_value = resp

        uri = "{0}/Activities/{1}".format(BASE_URI, ACTIVITY_SID)
        list_resource = Activities(BASE_URI, AUTH)
        list_resource.get(ACTIVITY_SID)
        request.assert_called_with("GET", uri, auth=AUTH,
                                   use_json_extension=False)
    def test_delete_list(self, request):
        resp = Mock()
        resp.content = ""
        resp.status_code = 204
        request.return_value = resp

        uri = "{0}/Activities/{1}".format(BASE_URI, ACTIVITY_SID)
        list_resource = Activities(BASE_URI, AUTH)
        list_resource.delete(ACTIVITY_SID)
        request.assert_called_with("DELETE", uri, auth=AUTH,
                                   use_json_extension=False)
    def test_update_list(self, request):
        resp = create_mock_json('tests/resources/task_router/activities_instance.json')
        resp.status_code = 201
        request.return_value = resp

        uri = "{0}/Activities/{1}".format(BASE_URI, ACTIVITY_SID)
        list_resource = Activities(BASE_URI, AUTH)
        list_resource.update(ACTIVITY_SID, friendly_name='Test Activity', available="true")
        exp_params = {
            'FriendlyName': "Test Activity",
            'Available': "true"
        }

        request.assert_called_with("POST", uri, data=exp_params, auth=AUTH,
                                   use_json_extension=False)
    def test_create(self, request):
        resp = create_mock_json('tests/resources/task_router/activities_instance.json')
        resp.status_code = 201
        request.return_value = resp

        activities = Activities(BASE_URI, AUTH)
        activity = activities.create("Test Activity", True)
        self.assertTrue(activity is not None)
        self.assertEqual(activity.date_created, datetime(2014, 5, 14, 10, 50, 2, tzinfo=pytz.utc))
        exp_params = {
            'FriendlyName': "Test Activity",
            'Available': "true"
        }

        request.assert_called_with("POST", "{0}/Activities".format(BASE_URI),
                                   data=exp_params, auth=AUTH,
                                   use_json_extension=False)