X-Git-Url: https://git.jsancho.org/?p=datasette-pytables.git;a=blobdiff_plain;f=tests%2Ftest_api.py;h=a6c7809baf1f8925aac341b79d4515bd0837b843;hp=97e07dc560cb4202f927c63b33b8990753c2ca0e;hb=bebf2dd8e68c9d857ba22e2eaf6977b6ca1a8a57;hpb=d62ba74e92c673f170c444899e14cae4b065e79a diff --git a/tests/test_api.py b/tests/test_api.py index 97e07dc..a6c7809 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -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 = []