response = app_client.get(
'/test_tables.json?' + urlencode({
'sql': 'select identity from [/group1/table1] where speed > 100 and idnumber < 55',
- '_shape': 'objects'
+ '_shape': 'objects',
}),
- gather_request=False
)
data = response.json
assert {
'sql': 'select identity from [/group1/table1] where speed > 100 and idnumber < 55',
- 'params': {}
+ 'params': {},
} == data['query']
assert 4 == len(data['rows'])
assert [
{'identity': 'This is particle: 51'},
{'identity': 'This is particle: 52'},
{'identity': 'This is particle: 53'},
- {'identity': 'This is particle: 54'}
+ {'identity': 'This is particle: 54'},
] == data['rows']
assert ['identity'] == data['columns']
assert 'test_tables' == data['database']
response = app_client.get(
'/test_tables.json?' + urlencode({
'sql': 'select identity from [/group1/table1] where (speed > 100) & (speed < 500)',
- '_shape': 'objects'
- }),
- gather_request=False
+ '_shape': 'objects',
+ }),
)
data = response.json
assert {
'sql': 'select identity from [/group1/table1] where (speed > 100) & (speed < 500)',
- 'params': {}
+ 'params': {},
} == data['query']
assert 199 == len(data['rows'])
assert [
{'identity': 'This is particle: 51'},
{'identity': 'This is particle: 52'},
- {'identity': 'This is particle: 53'}
+ {'identity': 'This is particle: 53'},
] == data['rows'][:3]
assert ['identity'] == data['columns']
assert 'test_tables' == data['database']
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
- assert data['query']['sql'] == 'select rowid, * from [/group2/table2] order by rowid limit 51'
+ assert data['query']['sql'] == 'select identity, idnumber, speed from [/group2/table2] limit 51'
assert data['rows'][3:6] == [{
- 'rowid': 3,
'identity': 'This is particle: 3',
'idnumber': 3,
'speed': 6.0
}, {
- 'rowid': 4,
'identity': 'This is particle: 4',
'idnumber': 4,
'speed': 8.0
}, {
- 'rowid': 5,
'identity': 'This is particle: 5',
'idnumber': 5,
'speed': 10.0
'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