예제 #1
0
    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"))
예제 #2
0
    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)
예제 #3
0
 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")
예제 #4
0
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>\',)')
예제 #5
0
 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))