Example #1
0
class GetTestCase(unittest.TestCase):

    def setUp(self):
        self.trakt = Trakt()
        self.trakt.settings["key"] = "thekey"

    def raise_(self, ex):
        raise ex

    @patch('plugins.trakt.trakt.requests')
    def test_get_valid(self, mock_request):
        response = "{\"movie_id\": 123}"
        req = StubResponse(200, response)
        mock_request.get.return_value = req
        res = self.trakt.get("http://test.now")
        self.assertEqual(res, response)

    @patch('plugins.trakt.trakt.requests')
    def test_get_error_code(self, mock_request):
        req = StubResponse(400, "")
        mock_request.get.return_value = req
        self.assertRaises(Exception, self.trakt.get, "http://test.now")

    @patch('plugins.trakt.trakt.requests')
    def test_get_error_json(self, mock_request):
        req = StubResponse(200, lambda: self.raise_(ValueError("test")))
        mock_request.get.return_value = req
        res = self.trakt.get("http://test.now")
        gc.collect()
        self.assertEquals(len(self.flushLoggedErrors(ValueError)), 1)
        self.assertEquals(res, [])