]> git.jsancho.org Git - datasette-pytables.git/blobdiff - tests/test_api.py
database page
[datasette-pytables.git] / tests / test_api.py
index 97e07dc560cb4202f927c63b33b8990753c2ca0e..a6c7809baf1f8925aac341b79d4515bd0837b843 100644 (file)
@@ -2,56 +2,63 @@ from .fixtures import app_client
 import pytest
 from urllib.parse import urlencode
 
-pytest.fixture(scope='module')(app_client)
-
 def test_homepage(app_client):
-    _, response = app_client.get('/.json')
+    response = app_client.get('/.json')
     assert response.status == 200
     assert response.json.keys() == {'test_tables': 0}.keys()
     d = response.json['test_tables']
     assert d['name'] == 'test_tables'
-    assert d['tables_count'] == 4
+    assert d['tables_count'] == 5
 
 def test_database_page(app_client):
-    response = app_client.get('/test_tables.json', gather_request=False)
+    response = app_client.get('/test_tables.json')
     data = response.json
     assert 'test_tables' == data['database']
     assert [{
         'name': '/array1',
-        'columns': [],
+        'columns': ['value'],
         'primary_keys': [],
         'count': 2,
-        'label_column': None,
         'hidden': False,
         'fts_table': None,
-        'foreign_keys': {'incoming': [], 'outgoing': []}
+        'foreign_keys': {'incoming': [], 'outgoing': []},
+        'private': False,
     }, {
         'name': '/group1/array2',
-        'columns': [],
+        'columns': ['value'],
         'primary_keys': [],
         'count': 10000,
-        'label_column': None,
         'hidden': False,
         'fts_table': None,
-        'foreign_keys': {'incoming': [], 'outgoing': []}
+        'foreign_keys': {'incoming': [], 'outgoing': []},
+        'private': False,
     }, {
         'name': '/group1/table1',
         'columns': ['identity', 'idnumber', 'speed'],
         'primary_keys': [],
         'count': 10000,
-        'label_column': None,
         'hidden': False,
         'fts_table': None,
-        'foreign_keys': {'incoming': [], 'outgoing': []}
+        'foreign_keys': {'incoming': [], 'outgoing': []},
+        'private': False,
+    }, {
+        'name': '/group2/multi',
+        'columns': ['value'],
+        'primary_keys': [],
+        'count': 10,
+        'hidden': False,
+        'fts_table': None,
+        'foreign_keys': {'incoming': [], 'outgoing': []},
+        'private': False,
     }, {
         'name': '/group2/table2',
         'columns': ['identity', 'idnumber', 'speed'],
         'primary_keys': [],
         'count': 10000,
-        'label_column': None,
         'hidden': False,
         'fts_table': None,
-        'foreign_keys': {'incoming': [], 'outgoing': []}
+        'foreign_keys': {'incoming': [], 'outgoing': []},
+        'private': False,
     }] == data['tables']
 
 def test_custom_sql(app_client):
@@ -229,6 +236,7 @@ def test_table_shape_invalid(app_client):
     ('/test_tables/%2Farray1.json', 2, 1),
     ('/test_tables/%2Farray1.json?_size=1', 2, 2),
     ('/test_tables/%2Fgroup1%2Farray2.json?_size=1000', 10000, 10),
+    ('/test_tables/%2Fgroup2%2Fmulti.json?_size=5', 10, 2),
 ])
 def test_paginate_tables_and_arrays(app_client, path, expected_rows, expected_pages):
     fetched = []