Squashed 'seatmap-webapi/' content from commit 02d4bf7
git-subtree-dir: seatmap-webapi git-subtree-split: 02d4bf7404b8fcb788502ca45c813946b6c4f5b9
This commit is contained in:
9
tests/functional/003_columns/001_get_database.log
Normal file
9
tests/functional/003_columns/001_get_database.log
Normal file
@@ -0,0 +1,9 @@
|
||||
skip-for-sqlite: auto incrementing primary keys must be integer typed (may not be bigint)
|
||||
===
|
||||
GET /columns
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 2840
|
||||
|
||||
{"tables":[{"name":"barcodes","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]},{"name":"categories","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"icon","type":"blob","nullable":true}]},{"name":"comments","type":"table","columns":[{"name":"id","type":"bigint","pk":true},{"name":"post_id","type":"integer","fk":"posts"},{"name":"message","type":"varchar","length":255},{"name":"category_id","type":"integer","fk":"categories"}]},{"name":"countries","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"shape","type":"geometry"}]},{"name":"events","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"datetime","type":"timestamp","nullable":true},{"name":"visitors","type":"bigint","nullable":true}]},{"name":"kunsthåndværk","type":"table","columns":[{"name":"id","type":"varchar","length":36,"pk":true},{"name":"Umlauts ä_ö_ü-COUNT","type":"integer"},{"name":"user_id","type":"integer","fk":"users"},{"name":"invisible_id","type":"varchar","length":36,"nullable":true,"fk":"invisibles"}]},{"name":"nopk","type":"table","columns":[{"name":"id","type":"varchar","length":36}]},{"name":"post_tags","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"post_id","type":"integer","fk":"posts"},{"name":"tag_id","type":"integer","fk":"tags"}]},{"name":"posts","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"user_id","type":"integer","fk":"users"},{"name":"category_id","type":"integer","fk":"categories"},{"name":"content","type":"varchar","length":255}]},{"name":"products","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"price","type":"decimal","precision":10,"scale":2},{"name":"properties","type":"clob"},{"name":"created_at","type":"timestamp"},{"name":"deleted_at","type":"timestamp","nullable":true}]},{"name":"tag_usage","type":"view","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"count","type":"bigint"}]},{"name":"tags","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"is_important","type":"boolean"}]},{"name":"users","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"username","type":"varchar","length":255},{"name":"password","type":"varchar","length":255},{"name":"location","type":"geometry","nullable":true}]}]}
|
||||
8
tests/functional/003_columns/002_get_barcodes_table.log
Normal file
8
tests/functional/003_columns/002_get_barcodes_table.log
Normal file
@@ -0,0 +1,8 @@
|
||||
===
|
||||
GET /columns/barcodes
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 283
|
||||
|
||||
{"name":"barcodes","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
|
||||
@@ -0,0 +1,8 @@
|
||||
===
|
||||
GET /columns/barcodes/id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 40
|
||||
|
||||
{"name":"id","type":"integer","pk":true}
|
||||
@@ -0,0 +1,37 @@
|
||||
skip-for-sqlite: table (columns) cannot be altered online
|
||||
===
|
||||
PUT /columns/barcodes/id
|
||||
|
||||
{"name":"id2","type":"bigint"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/id2
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 40
|
||||
|
||||
{"name":"id2","type":"bigint","pk":true}
|
||||
===
|
||||
PUT /columns/barcodes/id2
|
||||
|
||||
{"name":"id","type":"integer"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 40
|
||||
|
||||
{"name":"id","type":"integer","pk":true}
|
||||
@@ -0,0 +1,37 @@
|
||||
skip-for-sqlite: table (columns) cannot be altered online
|
||||
===
|
||||
PUT /columns/barcodes/product_id
|
||||
|
||||
{"nullable":true}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/product_id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 70
|
||||
|
||||
{"name":"product_id","type":"integer","nullable":true,"fk":"products"}
|
||||
===
|
||||
PUT /columns/barcodes/product_id
|
||||
|
||||
{"nullable":false}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/product_id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 54
|
||||
|
||||
{"name":"product_id","type":"integer","fk":"products"}
|
||||
@@ -0,0 +1,81 @@
|
||||
skip-for-sqlite: table (columns) cannot be altered online
|
||||
===
|
||||
GET /columns/events/visitors
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 51
|
||||
|
||||
{"name":"visitors","type":"bigint","nullable":true}
|
||||
===
|
||||
PUT /columns/events/visitors
|
||||
|
||||
{"nullable":false}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/events/visitors
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 35
|
||||
|
||||
{"name":"visitors","type":"bigint"}
|
||||
===
|
||||
PUT /columns/events/visitors
|
||||
|
||||
{"nullable":true}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/events/id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 40
|
||||
|
||||
{"name":"id","type":"integer","pk":true}
|
||||
===
|
||||
PUT /columns/events/visitors
|
||||
|
||||
{"pk":false}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/events/visitors
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 51
|
||||
|
||||
{"name":"visitors","type":"bigint","nullable":true}
|
||||
===
|
||||
PUT /columns/events/id
|
||||
|
||||
{"pk":true}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/events/id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 40
|
||||
|
||||
{"name":"id","type":"integer","pk":true}
|
||||
@@ -0,0 +1,37 @@
|
||||
skip-for-sqlite: table (columns) cannot be altered online
|
||||
===
|
||||
PUT /columns/barcodes/product_id
|
||||
|
||||
{"fk":""}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/product_id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 38
|
||||
|
||||
{"name":"product_id","type":"integer"}
|
||||
===
|
||||
PUT /columns/barcodes/product_id
|
||||
|
||||
{"fk":"products"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/product_id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 54
|
||||
|
||||
{"name":"product_id","type":"integer","fk":"products"}
|
||||
36
tests/functional/003_columns/008_update_barcodes_table.log
Normal file
36
tests/functional/003_columns/008_update_barcodes_table.log
Normal file
@@ -0,0 +1,36 @@
|
||||
===
|
||||
PUT /columns/barcodes
|
||||
|
||||
{"name":"barcodes2"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes2
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 284
|
||||
|
||||
{"name":"barcodes2","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
|
||||
===
|
||||
PUT /columns/barcodes2
|
||||
|
||||
{"name":"barcodes"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 283
|
||||
|
||||
{"name":"barcodes","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
|
||||
@@ -0,0 +1,37 @@
|
||||
skip-for-sqlite: table (columns) cannot be altered online
|
||||
===
|
||||
PUT /columns/barcodes/hex
|
||||
|
||||
{"type":"clob"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/hex
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 28
|
||||
|
||||
{"name":"hex","type":"clob"}
|
||||
===
|
||||
PUT /columns/barcodes/hex
|
||||
|
||||
{"type":"varchar","length":255}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/hex
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 44
|
||||
|
||||
{"name":"hex","type":"varchar","length":255}
|
||||
26
tests/functional/003_columns/010_create_barcodes_table.log
Normal file
26
tests/functional/003_columns/010_create_barcodes_table.log
Normal file
@@ -0,0 +1,26 @@
|
||||
===
|
||||
POST /columns
|
||||
|
||||
{"name":"barcodes2","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes2
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 284
|
||||
|
||||
{"name":"barcodes2","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
|
||||
===
|
||||
DELETE /columns/barcodes2
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
27
tests/functional/003_columns/011_create_barcodes_column.log
Normal file
27
tests/functional/003_columns/011_create_barcodes_column.log
Normal file
@@ -0,0 +1,27 @@
|
||||
skip-for-sqlite: table (columns) cannot be altered online
|
||||
===
|
||||
POST /columns/barcodes
|
||||
|
||||
{"name":"alternative_product_id","type":"integer","nullable":true,"fk":"products"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/barcodes/alternative_product_id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 82
|
||||
|
||||
{"name":"alternative_product_id","type":"integer","nullable":true,"fk":"products"}
|
||||
===
|
||||
DELETE /columns/barcodes/alternative_product_id
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
@@ -0,0 +1,8 @@
|
||||
===
|
||||
GET /columns/invisibles
|
||||
===
|
||||
404
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 54
|
||||
|
||||
{"code":1001,"message":"Table 'invisibles' not found"}
|
||||
@@ -0,0 +1,8 @@
|
||||
===
|
||||
GET /columns/kunsthåndværk/invisible
|
||||
===
|
||||
404
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 54
|
||||
|
||||
{"code":1005,"message":"Column 'invisible' not found"}
|
||||
56
tests/functional/003_columns/014_create_types_table.log
Normal file
56
tests/functional/003_columns/014_create_types_table.log
Normal file
@@ -0,0 +1,56 @@
|
||||
===
|
||||
POST /columns
|
||||
|
||||
{"name":"types","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
GET /columns/types
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 563
|
||||
|
||||
{"name":"types","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
|
||||
===
|
||||
POST /records/types
|
||||
Content-Type: application/json; charset=utf-8
|
||||
|
||||
{"integer":3,"bigint":4,"varchar":"bcd","decimal":"2.34","float":2,"double":34.56,"boolean":false,"date":"2020-02-02","time":"23:55:59","timestamp":"2002-03-04 05:06:07","clob":"b","blob":"Yg==","geometry":"POINT(2 3)"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/types/1
|
||||
Content-Type: application/json; charset=utf-8
|
||||
|
||||
{"integer":2,"bigint":3,"varchar":"abc","decimal":"1.23","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/types/1
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 227
|
||||
|
||||
{"id":1,"integer":2,"bigint":3,"varchar":"abc","decimal":"1.2300","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
|
||||
===
|
||||
DELETE /columns/types
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
337
tests/functional/003_columns/015_update_types_table.log
Normal file
337
tests/functional/003_columns/015_update_types_table.log
Normal file
@@ -0,0 +1,337 @@
|
||||
===
|
||||
POST /columns
|
||||
|
||||
{"name":"types","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
POST /records/types
|
||||
Content-Type: application/json; charset=utf-8
|
||||
|
||||
{"integer":2,"bigint":3,"varchar":"abc","decimal":"1.23","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"boolean":null}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 100
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"boolean":"cannot be null"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"integer":" 1\n"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 104
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"illegal whitespace"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"integer":"23e"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
integer=23e
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"integer":"2.3"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"integer":2.3}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"integer":"12345678901"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"bigint":"12345678901234567890"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 100
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"bigint":"invalid integer"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"varchar":"12345678901"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"varchar":"string too long"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"-1.23"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"1.23"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"12.23.34"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"invalid decimal"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"1131313145345"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 103
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too large"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":1.2300}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"invalid decimal"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"1234567.123"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 103
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too large"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"123456.12345"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 105
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too precise"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"decimal":"113131.3145345"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 105
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too precise"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"float":"string"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 97
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"float":"invalid float"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"double":"string"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 98
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"double":"invalid float"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"boolean":-1}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"boolean":"invalid boolean"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"date":"string"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 95
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"date":"invalid date"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"date":"still-no-date"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 95
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"date":"invalid date"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"time":"string"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 95
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"time":"invalid time"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"time":"still:no:time"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 95
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"time":"invalid time"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"time":"999:999:999"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 95
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"time":"invalid time"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"timestamp":"string"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 105
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"timestamp":"invalid timestamp"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"timestamp":"2001-01-01 999:999:999"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 105
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"timestamp":"invalid timestamp"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"clob":"𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"blob":"!"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 97
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'types'","details":{"blob":"invalid base64"}}
|
||||
===
|
||||
PUT /records/types/1
|
||||
|
||||
{"blob":"T8O5IGVzdCBsZSBjYWbDqSBsZSBwbHVzIHByb2NoZT8"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/types/1
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 334
|
||||
|
||||
{"id":1,"integer":2,"bigint":3,"varchar":"abc","decimal":"1.2300","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗","blob":"T8O5IGVzdCBsZSBjYWbDqSBsZSBwbHVzIHByb2NoZT8=","geometry":"POINT(1 2)"}
|
||||
===
|
||||
DELETE /columns/types
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
401
tests/functional/003_columns/016_update_forgiving_table.log
Normal file
401
tests/functional/003_columns/016_update_forgiving_table.log
Normal file
@@ -0,0 +1,401 @@
|
||||
===
|
||||
POST /columns
|
||||
|
||||
{"name":"forgiving","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
===
|
||||
POST /records/forgiving
|
||||
Content-Type: application/json; charset=utf-8
|
||||
|
||||
{"integer":2,"bigint":3,"varchar":"abc","decimal":1.23,"float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"boolean":"true"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=boolean
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 16
|
||||
|
||||
{"boolean":true}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"boolean":"yes"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=boolean
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 16
|
||||
|
||||
{"boolean":true}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"boolean":"1"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=boolean
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 16
|
||||
|
||||
{"boolean":true}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"boolean":1}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=boolean
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 16
|
||||
|
||||
{"boolean":true}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"integer":" 2\n"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=integer
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 13
|
||||
|
||||
{"integer":2}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
integer=2%20
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=integer
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 13
|
||||
|
||||
{"integer":2}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"integer":1.99999}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=integer
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 13
|
||||
|
||||
{"integer":2}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"bigint":" 3\n"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=bigint
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 12
|
||||
|
||||
{"bigint":3}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"bigint":2.99999}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=bigint
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 12
|
||||
|
||||
{"bigint":3}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"decimal":"1.23"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=decimal
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 20
|
||||
|
||||
{"decimal":"1.2300"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"decimal":1.2300}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=decimal
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 20
|
||||
|
||||
{"decimal":"1.2300"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"decimal":"1.23004"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=decimal
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 20
|
||||
|
||||
{"decimal":"1.2300"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"decimal":"1.23006"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=decimal
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 20
|
||||
|
||||
{"decimal":"1.2301"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
float=1%20
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=float
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 11
|
||||
|
||||
{"float":1}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"double":" 23.45e-1 "}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=double
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 16
|
||||
|
||||
{"double":2.345}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"date":"2020-12-05"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=date
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 21
|
||||
|
||||
{"date":"2020-12-05"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"date":"December 20th, 2020"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=date
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 21
|
||||
|
||||
{"date":"2020-12-20"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"time":"13:15"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=time
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 19
|
||||
|
||||
{"time":"13:15:00"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"timestamp":"2012-1-1 23:46"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
GET /records/forgiving/1?include=timestamp
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 35
|
||||
|
||||
{"timestamp":"2012-01-01 23:46:00"}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"clob":"𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"blob":"!"}
|
||||
===
|
||||
422
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 101
|
||||
|
||||
{"code":1013,"message":"Input validation failed for 'forgiving'","details":{"blob":"invalid base64"}}
|
||||
===
|
||||
PUT /records/forgiving/1
|
||||
|
||||
{"blob":"T8O5IGVzdCBsZSBjYWbDqSBsZSBwbHVzIHByb2NoZT8"}
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 1
|
||||
|
||||
1
|
||||
===
|
||||
DELETE /columns/forgiving
|
||||
===
|
||||
200
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Length: 4
|
||||
|
||||
true
|
||||
@@ -0,0 +1,8 @@
|
||||
===
|
||||
GET /columns/barcodes?format=xml
|
||||
===
|
||||
200
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 433
|
||||
|
||||
<root><name>barcodes</name><type>table</type><columns type="array"><item><name>id</name><type>integer</type><pk>true</pk></item><item><name>product_id</name><type>integer</type><fk>products</fk></item><item><name>hex</name><type>varchar</type><length>255</length></item><item><name>bin</name><type>blob</type></item><item><name>ip_address</name><type>varchar</type><length>15</length><nullable>true</nullable></item></columns></root>
|
||||
Reference in New Issue
Block a user