コード例 #1
0
    def test_iterate_view(self) -> None:
        """Test iterating a view."""

        base = airtable.Airtable('base', '')
        base.create('table', {'number': 3})
        base.create('table', {'number': 4})
        airtablemock.create_view('base', 'table', 'my-view', 'number < 4')

        records = base.iterate('table', view='my-view')

        self.assertEqual([3],
                         [record['fields']['number'] for record in records])
コード例 #2
0
    def test_unknown_view(self) -> None:
        """Try accessing an unknown view, while views are enabled."""

        base = airtable.Airtable('base', '')
        base.create('table', {'number': 1, 'filter': 'no'})

        airtablemock.create_view('base', 'table', 'existing view',
                                 'filter = "yes"')

        match_exception = '422 .* Unprocessable Entity .* {}'.format(
            re.escape('{}base/table?view=non%20existing%20view'.format(
                airtable.API_URL % airtable.API_VERSION)))
        with self.assertRaisesRegex(exceptions.HTTPError, match_exception):
            base.get('table', view='non existing view')
コード例 #3
0
    def test_view(self) -> None:
        """Test calling records of a view."""

        base = airtable.Airtable('base', '')
        base.create('table', {'number': 1, 'filter': 'no'})
        base.create('table', {'number': 2, 'filter': 'yes'})
        base.create('table', {'number': 3, 'filter': 'yes'})

        airtablemock.create_view('base', 'table', 'filtered view',
                                 'filter = "yes"')

        records = base.get('table', view='filtered view')['records']
        self.assertEqual([2, 3],
                         [record['fields']['number'] for record in records])
コード例 #4
0
 def setUp(self) -> None:
     super().setUp()
     airtablemock.create_empty_table('appkEc8N0Bw4Uok43', 'translations')
     airtablemock.create_empty_table('appXmyc7yYj0pOcae',
                                     'skills_for_future')
     airtablemock.create_view('appXmyc7yYj0pOcae', 'skills_for_future',
                              'viwfJ3L3qKPMVV2wp', 'unused != 3')
     for base_id, table, view in _TABLES_TO_MOCK:
         try:
             airtablemock.create_empty_table(base_id, table)
         except ValueError:
             # It's OK if the table exist already.
             pass
         if view:
             airtablemock.create_view(base_id, table, view, 'unused != 3')
コード例 #5
0
    def test_creating_view_twice(self) -> None:
        """Test creating a view twice."""

        airtablemock.create_empty_table('base', 'table')
        airtablemock.create_view('base', 'table', 'filtered view',
                                 'filter = "yes"')
        airtablemock.create_view('base', 'table', 'other view',
                                 'filter = "yes"')

        with self.assertRaises(ValueError):
            airtablemock.create_view('base', 'table', 'filtered view',
                                     'filter = "yes"')
コード例 #6
0
    def test_creating_view_before_table(self) -> None:
        """Test creating a view before creating a table."""

        with self.assertRaises(ValueError):
            airtablemock.create_view('base', 'table', 'filtered view',
                                     'filter = "yes"')