from urllib.parse import urlencode
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['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 [{
'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': ['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,
- 'label_column': None,
'hidden': False,
'fts_table': None,
- 'foreign_keys': {'incoming': [], 'outgoing': []}
+ '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):
'sql': 'select identity from [/group1/table1]',
'_shape': 'objects'
}),
- gather_request=False
)
data = response.json
assert {
'sql': 'select identity from [/group1/table1] where speed > 100 and idnumber < 55',
'_shape': 'objects'
}),
- gather_request=False
)
data = response.json
assert {
'sql': 'select identity from [/group1/table1] where (speed > 100) & (speed < 500)',
'_shape': 'objects'
}),
- gather_request=False
)
data = response.json
assert {
def test_invalid_custom_sql(app_client):
response = app_client.get(
'/test_tables.json?sql=.schema',
- gather_request=False
)
assert response.status == 400
assert response.json['ok'] is False
def test_table_json(app_client):
response = app_client.get(
'/test_tables/%2Fgroup2%2Ftable2.json?_shape=objects',
- gather_request=False
)
assert response.status == 200
data = response.json
'status': 404,
'title': None,
} == app_client.get(
- '/test_tables/blah.json', gather_request=False
+ '/test_tables/blah.json',
).json
def test_table_shape_arrays(app_client):
response = app_client.get(
'/test_tables/%2Fgroup2%2Ftable2.json?_shape=arrays',
- gather_request=False
)
assert [
[6, 'This is particle: 6', 6, 12.0],
def test_table_shape_objects(app_client):
response = app_client.get(
'/test_tables/%2Fgroup2%2Ftable2.json?_shape=objects',
- gather_request=False
)
assert [{
'rowid': 6,
def test_table_shape_array(app_client):
response = app_client.get(
'/test_tables/%2Fgroup2%2Ftable2.json?_shape=array',
- gather_request=False
)
assert [{
'rowid': 6,
def test_table_shape_invalid(app_client):
response = app_client.get(
'/test_tables/%2Fgroup2%2Ftable2.json?_shape=invalid',
- gather_request=False
)
assert {
'ok': False,
fetched = []
count = 0
while path:
- response = app_client.get(path, gather_request=False)
+ response = app_client.get(path)
print("*****", response.json)
assert 200 == response.status
count += 1