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, [])