X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=tests%2Ftest-fddl.lisp;h=0dc053b1307210b3e005f85c26b3039091b15669;hp=961cc3d578a0478dc4d876f13bc3bef64ae275ee;hb=9bbed78051e80e6ab76ae47834136035602bbbf1;hpb=f2a0eb003af406415567c9f8545455ede786db87 diff --git a/tests/test-fddl.lisp b/tests/test-fddl.lisp index 961cc3d..0dc053b 100644 --- a/tests/test-fddl.lisp +++ b/tests/test-fddl.lisp @@ -79,6 +79,25 @@ "birthday" "companyid" "email" "emplid" "first_name" "groupid" "height" "last_name" "managerid" "married") +;; Attribute types are vendor specific so need to test a range +(deftest :fddl/attributes/3 + (and (member (clsql:attribute-type [emplid] [employee]) '(:int :integer :int4)) t) + t) + +(deftest :fddl/attributes/4 + (clsql:attribute-type [first-name] [employee]) + :varchar 30 nil 1) + +(deftest :fddl/attributes/5 + (and (member (clsql:attribute-type [birthday] [employee]) '(:datetime :timestamp)) t) + t) + +(deftest :fddl/attributes/6 + (and (member (clsql:attribute-type [height] [employee]) '(:float :float8)) t) + t) + + + ;; create a view, test for existence, drop it and test again (deftest :fddl/view/1 (progn (clsql:create-view [lenins-group] @@ -93,7 +112,7 @@ t nil) ;; create a view, list its attributes and drop it -(when (clsql-base-sys:db-type-has-views? *test-database-underlying-type*) +(when (clsql-base:db-type-has-views? *test-database-underlying-type*) (deftest :fddl/view/2 (progn (clsql:create-view [lenins-group] :as [select [first-name] [last-name] [email] @@ -172,26 +191,27 @@ ;; test list-table-indexes (deftest :fddl/index/3 (progn - (clsql:execute-command "CREATE TABLE I3TEST (a char(10), b integer)") - (clsql:create-index [bar] :on [i3test] :attributes - '([a]) :unique t) + (clsql:create-table [i3test] '(([a] (string 10)) + ([b] integer))) (clsql:create-index [foo] :on [i3test] :attributes - '([b]) :unique nil) + '([b]) :unique nil) + (clsql:create-index [bar] :on [i3test] :attributes + '([a]) :unique t) (values - + (clsql:table-exists-p [i3test]) + (clsql:index-exists-p [foo]) + (clsql:index-exists-p [bar]) (sort (mapcar #'string-downcase (clsql:list-table-indexes [i3test] :owner *test-database-user*)) - #'string-lessp) - (sort (clsql:list-table-indexes [company] :owner *test-database-user*) - #'string-lessp) + #'string-lessp) (progn (clsql:drop-index [bar] :on [i3test]) (clsql:drop-index [foo] :on [i3test]) - (clsql:execute-command "DROP TABLE I3TEST") + (clsql:drop-table [i3test]) t))) - ("bar" "foo") nil t) + t t t ("bar" "foo") t) ;; create an sequence, test for existence, drop it and test again (deftest :fddl/sequence/1