def test(self): factory = UserFactory() factory.graph_api_class = mock.Mock() factory.graph_api_class.return_value.get.return_value = {'id': '123'} user = factory.get_user("123") self.assertEqual(123, user.user_id) factory = UserFactory() factory.graph_api_class = mock.Mock() factory.graph_api_class.return_value.get.side_effect = [ FacebookError("msg", 1), FacebookError("msg", 1), {'id': '123'}] user = factory.get_user("123") self.assertEqual(123, user.user_id) factory = UserFactory() factory.graph_api_class = mock.Mock() factory.graph_api_class.return_value.get.side_effect = [ FacebookError("msg", 1), FacebookError("msg", 1), FacebookError("msg", 1), {'id': '123'}] self.assertEqual(None, factory.get_user("123"))
def test_success_in_retry(self, get_graph): factory = UserFactory() get_graph.return_value.get.side_effect = [ FacebookError("msg", 1), FacebookError("msg", 1), {'id': '123'}] user = factory.get_user("123") self.assertEqual(123, user.user_id)
def test_failure(self, get_graph): factory = UserFactory() get_graph.return_value.get.side_effect = [ FacebookError("msg", 1), FacebookError("msg", 1), FacebookError("msg", 1), {'id': '123'}] with self.assertRaises(FacebookError): factory.get_user("123")
def test_facebook_error(): try: raise FacebookError('<message>', 100) except FacebookError as exception: assert_equal(exception.message, '<message>') assert_equal(exception.code, 100) assert_equal(exception.__str__(), '[100] <message>') assert_equal(exception.__repr__(), 'FacebookError(\'[100] <message>\',)')
def test_query_failure(self, observers, query, now): now.side_effect = [ datetime.datetime(year=1, month=1, day=1, minute=1), datetime.datetime(year=1, month=1, day=1, minute=2), ] query.side_effect = FacebookError("msg", 1) observer_cls = mock.Mock() observers.__iter__.return_value = [observer_cls] with self.assertRaises(FacebookError): graph_api.ObservableGraphAPI().get('me') observer_cls.return_value.handle_facebook_communication.assert_called_once_with() observer_cls.assert_called_once_with(None, None, query.side_effect, datetime.timedelta(minutes=1))