Exemple #1
0
    def testYieldFromListWithPredicate(self):
        self.mocked_client.column.List.Expect(
            messages.FusiontablesColumnListRequest(
                maxResults=100,
                pageToken=None,
                tableId='mytable',
            ),
            messages.ColumnList(
                items=[
                    messages.Column(name='c0'),
                    messages.Column(name='bad0'),
                    messages.Column(name='c1'),
                    messages.Column(name='bad1'),
                ],
                nextPageToken='x',
            ))
        self.mocked_client.column.List.Expect(
            messages.FusiontablesColumnListRequest(
                maxResults=100,
                pageToken='x',
                tableId='mytable',
            ),
            messages.ColumnList(
                items=[
                    messages.Column(name='c2'),
                ],
            ))

        client = fusiontables.FusiontablesV1(get_credentials=False)
        request = messages.FusiontablesColumnListRequest(tableId='mytable')
        results = list_pager.YieldFromList(
            client.column, request, predicate=lambda x: 'c' in x.name)

        self._AssertInstanceSequence(results, 3)
Exemple #2
0
 def testMockHasOverrideHttpProperty(self):
     real_client = fusiontables.FusiontablesV1(url='http://localhost:8080',
                                               http='SomeHttpObject',
                                               get_credentials=False)
     with mock.Client(fusiontables.FusiontablesV1,
                      real_client) as mock_client:
         self.assertEquals('SomeHttpObject', mock_client.http)
Exemple #3
0
 def testMockFusionOrder(self):
     with mock.Client(fusiontables.FusiontablesV1) as client_class:
         client_class.column.List.Expect(request=1, response=2)
         client_class.column.List.Expect(request=2, response=1)
         client = fusiontables.FusiontablesV1(get_credentials=False)
         self.assertEqual(client.column.List(1), 2)
         self.assertEqual(client.column.List(2), 1)
Exemple #4
0
    def testRequestMacher(self):
        class Matcher(object):
            def __init__(self, eq):
                self._eq = eq

            def __eq__(self, other):
                return self._eq(other)

        with mock.Client(fusiontables.FusiontablesV1) as client_class:

            def IsEven(x):
                return x % 2 == 0

            def IsOdd(x):
                return not IsEven(x)

            client_class.column.List.Expect(request=Matcher(IsEven),
                                            response=1,
                                            enable_type_checking=False)
            client_class.column.List.Expect(request=Matcher(IsOdd),
                                            response=2,
                                            enable_type_checking=False)
            client_class.column.List.Expect(request=Matcher(IsEven),
                                            response=3,
                                            enable_type_checking=False)
            client_class.column.List.Expect(request=Matcher(IsOdd),
                                            response=4,
                                            enable_type_checking=False)

            client = fusiontables.FusiontablesV1(get_credentials=False)
            self.assertEqual(client.column.List(2), 1)
            self.assertEqual(client.column.List(1), 2)
            self.assertEqual(client.column.List(20), 3)
            self.assertEqual(client.column.List(23), 4)
Exemple #5
0
 def testMockFusionTooFew(self):
     with self.assertRaises(mock.ExpectedRequestsException):
         with mock.Client(fusiontables.FusiontablesV1) as client_class:
             client_class.column.List.Expect(request=1, response=2)
             client_class.column.List.Expect(request=2, response=1)
             client = fusiontables.FusiontablesV1(get_credentials=False)
             self.assertEqual(client.column.List(1), 2)
    def testYieldFromListPartial(self):
        self.mocked_client.column.List.Expect(
            messages.FusiontablesColumnListRequest(
                maxResults=100,
                pageToken=None,
                tableId='mytable',
            ),
            messages.ColumnList(
                items=[
                    messages.Column(name='c0'),
                    messages.Column(name='c1'),
                    messages.Column(name='c2'),
                    messages.Column(name='c3'),
                ],
                nextPageToken='x',
            ))
        self.mocked_client.column.List.Expect(
            messages.FusiontablesColumnListRequest(
                maxResults=100,
                pageToken='x',
                tableId='mytable',
            ),
            messages.ColumnList(items=[
                messages.Column(name='c4'),
                messages.Column(name='c5'),
                messages.Column(name='c6'),
                messages.Column(name='c7'),
            ], ))

        client = fusiontables.FusiontablesV1(get_credentials=False)
        request = messages.FusiontablesColumnListRequest(tableId='mytable')
        results = list_pager.YieldFromList(client.column, request, limit=6)

        self._AssertInstanceSequence(results, 6)
Exemple #7
0
 def testMockFusionException(self):
     with mock.Client(fusiontables.FusiontablesV1) as client_class:
         client_class.column.List.Expect(request=1,
                                         exception=exceptions.HttpError(
                                             {'status': 404}, '', ''))
         client = fusiontables.FusiontablesV1(get_credentials=False)
         with self.assertRaises(exceptions.HttpError):
             client.column.List(1)
Exemple #8
0
 def testMockFusionBasic(self):
     with mock.Client(fusiontables.FusiontablesV1) as client_class:
         client_class.column.List.Expect(
             request=1, response=2, enable_type_checking=False)
         client = fusiontables.FusiontablesV1(get_credentials=False)
         self.assertEqual(client.column.List(1), 2)
         with self.assertRaises(mock.UnexpectedRequestException):
             client.column.List(3)
Exemple #9
0
 def testMockFusionTypeChecking(self):
     with mock.Client(fusiontables.FusiontablesV1) as client_class:
         messages = client_class.MESSAGES_MODULE
         client_class.column.List.Expect(
             messages.FusiontablesColumnListRequest(tableId='foo'),
             messages.ColumnList(items=[], totalItems=0))
         client = fusiontables.FusiontablesV1(get_credentials=False)
         self.assertEqual(
             client.column.List(
                 messages.FusiontablesColumnListRequest(tableId='foo')),
             messages.ColumnList(items=[], totalItems=0))
    def testYieldFromListEmpty(self):
        self.mocked_client.column.List.Expect(
            messages.FusiontablesColumnListRequest(
                maxResults=100,
                pageToken=None,
                tableId='mytable',
            ), messages.ColumnList())

        client = fusiontables.FusiontablesV1(get_credentials=False)
        request = messages.FusiontablesColumnListRequest(tableId='mytable')
        results = list_pager.YieldFromList(client.column, request, limit=6)

        self._AssertInstanceSequence(results, 0)
    def testYieldFromListWithCustomGetFieldFunction(self):
        self.mocked_client.column.List.Expect(
            messages.FusiontablesColumnListRequest(
                maxResults=100,
                pageToken=None,
                tableId='mytable',
            ), messages.ColumnList(items=[messages.Column(name='c0')]))
        custom_getter_called = []

        def Custom_Getter(message, attribute):
            custom_getter_called.append(True)
            return getattr(message, attribute)

        client = fusiontables.FusiontablesV1(get_credentials=False)
        request = messages.FusiontablesColumnListRequest(tableId='mytable')
        results = list_pager.YieldFromList(client.column,
                                           request,
                                           get_field_func=Custom_Getter)

        self._AssertInstanceSequence(results, 1)
        self.assertEquals(1, len(custom_getter_called))
Exemple #12
0
 def testYieldNoRecords(self):
     client = fusiontables.FusiontablesV1(get_credentials=False)
     request = messages.FusiontablesColumnListRequest(tableId='mytable')
     results = list_pager.YieldFromList(client.column, request, limit=False)
     self.assertEqual(0, len(list(results)))
Exemple #13
0
 def testFusionUnmock(self):
     with mock.Client(fusiontables.FusiontablesV1):
         client = fusiontables.FusiontablesV1(get_credentials=False)
         mocked_service_type = type(client.column)
     client = fusiontables.FusiontablesV1(get_credentials=False)
     self.assertNotEqual(type(client.column), mocked_service_type)