Turns out we had a redirect bug as well.
pull/94/head
Simon Willison 2017-11-13 16:44:08 -08:00
rodzic bdfb6d4f13
commit 50e817801f
2 zmienionych plików z 16 dodań i 2 usunięć

Wyświetl plik

@ -99,6 +99,8 @@ class BaseView(HTTPMethodView):
)
if 'table' in kwargs:
should_redirect += '/' + kwargs['table']
if 'pk_path' in kwargs:
should_redirect += '/' + kwargs['pk_path']
if 'as_json' in kwargs:
should_redirect += kwargs['as_json']
if 'as_db' in kwargs:
@ -487,8 +489,9 @@ class RowView(BaseView):
params = {}
for i, pk_value in enumerate(pk_values):
params['p{}'.format(i)] = pk_value
rows = await self.execute(name, sql, params)
columns = [r[0] for r in rows.description]
# rows, truncated, description = await self.execute(name, sql, params, truncate=True)
rows, truncated, description = await self.execute(name, sql, params, truncate=True)
columns = [r[0] for r in description]
rows = list(rows)
if not rows:
raise NotFound('Record not found: {}'.format(pk_values))

Wyświetl plik

@ -170,6 +170,17 @@ def test_view(app_client):
}]
def test_row(app_client):
_, response = app_client.get('/test_tables/simple_primary_key/1', allow_redirects=False)
assert response.status == 302
assert response.headers['Location'].endswith('/1')
_, response = app_client.get('/test_tables/simple_primary_key/1')
assert response.status == 200
_, response = app_client.get('/test_tables/simple_primary_key/1.jsono')
assert response.status == 200
assert [{'pk': '1', 'content': 'hello'}] == response.json['rows']
TABLES = '''
CREATE TABLE simple_primary_key (
pk varchar(30) primary key,