X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-fddl.lisp;h=e231592c82610d5368c3607984c217b875415de5;hb=db9892632e6eb7869aea7a94c16b523a82de1501;hp=def32cb07f957cd32f0e141323d6782b9dabb191;hpb=c4874967a9af719a5cf176677007120fe2cbb036;p=clsql.git diff --git a/tests/test-fddl.lisp b/tests/test-fddl.lisp index def32cb..e231592 100644 --- a/tests/test-fddl.lisp +++ b/tests/test-fddl.lisp @@ -21,7 +21,7 @@ (setq *rt-fddl* '( - + ;; list current tables (deftest :fddl/table/1 (apply #'values @@ -131,25 +131,23 @@ ;; not in sqlite (deftest :fddl/view/4 - (if (eql *test-database-type* :sqlite) - (values nil '(("Josef" "Stalin" "stalin@soviet.org"))) - (progn (clsql:create-view [lenins-group] - :column-list '([forename] [surname] [email]) - :as [select [first-name] [last-name] [email] - :from [employee] - :where [= [managerid] 1]]) - (let ((result - (list - ;; Shouldn't exist + (progn (clsql:create-view [lenins-group] + :column-list '([forename] [surname] [email]) + :as [select [first-name] [last-name] [email] + :from [employee] + :where [= [managerid] 1]]) + (let ((result + (list + ;; Shouldn't exist (clsql:select [forename] [surname] [email] - :from [lenins-group] - :where [= [surname] "Lenin"]) - ;; Should exist + :from [lenins-group] + :where [= [surname] "Lenin"]) + ;; Should exist (car (clsql:select [forename] [surname] [email] - :from [lenins-group] - :where [= [surname] "Stalin"]))))) - (clsql:drop-view [lenins-group] :if-does-not-exist :ignore) - (apply #'values result)))) + :from [lenins-group] + :where [= [surname] "Stalin"]))))) + (clsql:drop-view [lenins-group] :if-does-not-exist :ignore) + (apply #'values result))) nil ("Josef" "Stalin" "stalin@soviet.org")) ;; create an index, test for existence, drop it and test again @@ -159,12 +157,8 @@ (values (clsql:index-exists-p [bar] :owner *test-database-user*) (progn - (case *test-database-type* - (:mysql - (clsql:drop-index [bar] :on [employee] - :if-does-not-exist :ignore)) - (t - (clsql:drop-index [bar]:if-does-not-exist :ignore))) + (clsql:drop-index [bar] :on [employee] + :if-does-not-exist :ignore) (clsql:index-exists-p [bar] :owner *test-database-user*)))) t nil) @@ -175,13 +169,33 @@ (dolist (name names) (clsql:create-index name :on [employee] :attributes '([emplid])) (push (clsql:index-exists-p name :owner *test-database-user*) result) - (case *test-database-type* - (:mysql - (clsql:drop-index name :on [employee] :if-does-not-exist :ignore)) - (t (clsql:drop-index name :if-does-not-exist :ignore)))) + (clsql:drop-index name :on [employee] :if-does-not-exist :ignore)) (apply #'values result)) t t t) +;; test list-table-indexes +(deftest :fddl/index/3 + (progn + (clsql:create-index [bar] :on [employee] :attributes + '([last-name]) :unique nil) + (clsql:create-index [foo] :on [employee] :attributes + '([first-name]) :unique nil) + (values + + (sort + (mapcar + #'string-downcase + (clsql:list-table-indexes [employee] :owner *test-database-user*)) + #'string-lessp) + (sort (clsql:list-table-indexes [company] :owner *test-database-user*) + #'string-lessp) + (progn + (clsql:drop-index [bar] :on [employee]) + (clsql:drop-index [foo] :on [employee]) + t))) + + ("bar" "foo") nil t) + ;; create an sequence, test for existence, drop it and test again (deftest :fddl/sequence/1 (progn (clsql:create-sequence [foo])