# vi:filetype= use t::OpenResty; plan tests => 3 * blocks(); run_tests; __DATA__ === TEST 1: Login --- request GET /=/login/$TestAccount.Admin/$TestPass?_use_cookie=1 --- response_like ^{"success":1,"session":"[-\w]+","account":"$TestAccount","role":"Admin"}$ === TEST 2: Delete existing models --- request DELETE /=/model --- response {"success":1} === TEST 3: Create a model with various types --- request POST /=/model/NetAddr { "description": "Type testing", "columns": [ { "name": "cidr", "type": "cidr", "label": "cidr" }, { "name": "macaddr", "type": "macaddr", "label": "macaddr" }, { "name": "inet", "type": "inet", "label": "inet" } ] } --- response {"success":1} === TEST 4: insert a line --- request POST /=/model/NetAddr/~/~ { "cidr":"192.168.100.128", "macaddr":"08-00-2b-01-02-03", "inet":"192.168.100.128/25" } --- response {"last_row":"/=/model/NetAddr/id/1","rows_affected":1,"success":1} === TEST 5: Check the row that was just inserted --- request GET /=/model/NetAddr/id/1 --- response [ { "inet":"192.168.100.128/25", "macaddr":"08:00:2b:01:02:03", "id":"1", "cidr":"192.168.100.128/32" } ] === TEST 6: Add a column with type bigint --- request POST /=/model/NetAddr/bigint { "type": "bigint", "label": "Bigint" } --- response {"src":"/=/model/NetAddr/bigint","success":1} === TEST 7: Create a model with varchar types --- request POST /=/model/varcharTest { "description": "Type testing", "columns": [ { "name": "title", "type": "varchar(32)", "label": "Test for varchar type" } ] } --- response {"success":1} === TEST 8: Create a model with tsquery types XXX FIX ME I have to skip this test since it cannot pass on Pg instances without tsearch2 installed. --- request POST /=/model/tsqueryTest { "description": "Type testing", "columns": [ { "name": "title", "type": "tsquery", "label": "Test for tsquery type" } ] } --- response {"success":1} --- SKIP === TEST 9: Declare a char type --- request POST /=/model/Test { "description":"test char(xxx)", "columns":[{"name":"foo","label":"Foo","type":"char(1)"}] } --- response {"success":1} === TEST 10: Dreate a column of type text array --- request POST /=/model/Test/blah { "label":"Blah", "type":"text[]"} --- response {"src":"/=/model/Test/blah","success":1} === TEST 11: logout --- request GET /=/logout --- response {"success":1}