X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-init.lisp;h=28ae58709f3d37628accf4ecd7040ec5f5ed8e88;hb=ec9b352b8205e4204a06797f98970b03cf532ab2;hp=d8eec640021ee61281e5b42515caa4bb0e4db717;hpb=afe872863374de73b2f2ef767e742a40d7465e4a;p=clsql.git diff --git a/tests/test-init.lisp b/tests/test-init.lisp index d8eec64..28ae587 100644 --- a/tests/test-init.lisp +++ b/tests/test-init.lisp @@ -117,6 +117,29 @@ (:base-table company)) +(def-view-class address () + ((emplid + :db-kind :key + :db-constraints :not-null + :type integer + :initarg :emplid) + (street-number + :type integer + :initarg :street-number) + (street-name + :type (string 30) + :void-value "" + :initarg :street-name) + (city + :column "city_field" + :void-value "no city" + :type (string 30) + :initarg :city) + (postal-code + :column "zip" + :type integer + :void-value 0 + :initarg :postal-code))) (defun test-connect-to-database (db-type spec) (when (db-backend-has-create/destroy-db? db-type) @@ -152,12 +175,19 @@ (defparameter employee8 nil) (defparameter employee9 nil) (defparameter employee10 nil) +(defparameter address1 nil) +(defparameter address2 nil) (defun test-initialise-database () (test-basic-initialize) - (clsql:create-view-from-class 'employee) - (clsql:create-view-from-class 'company) + (let ((*backend-warning-behavior* + (if (member *test-database-type* '(:postgresql :postgresql-socket)) + :ignore + :warn))) + (clsql:create-view-from-class 'employee) + (clsql:create-view-from-class 'company) + (clsql:create-view-from-class 'address)) (setf company1 (make-instance 'company :companyid 1 @@ -254,8 +284,18 @@ :birthday (clsql-base:get-time) :first-name "Vladamir" :last-name "Putin" - :email "putin@soviet.org")) + :email "putin@soviet.org") + address1 (make-instance 'address + :emplid 1 + :street-number 10 + :street-name "Park Place" + :city "Leningrad" + :postal-code 123) + + address2 (make-instance 'address + :emplid 2)) + ;; sleep to ensure birthdays are no longer at current time (sleep 2) @@ -293,7 +333,9 @@ (clsql:update-records-from-instance employee8) (clsql:update-records-from-instance employee9) (clsql:update-records-from-instance employee10) - (clsql:update-records-from-instance company1)) + (clsql:update-records-from-instance company1) + (clsql:update-records-from-instance address1) + (clsql:update-records-from-instance address2)) (defvar *error-count* 0) (defvar *error-list* nil) @@ -401,23 +443,23 @@ (let ((test (second test-form))) (cond ((and (null (db-type-has-views? db-underlying-type)) - (clsql-base-sys::in test :fddl/view/1 :fddl/view/2 :fddl/view/3 :fddl/view/4)) + (clsql-base::in test :fddl/view/1 :fddl/view/2 :fddl/view/3 :fddl/view/4)) (push (cons test "views not supported") skip-tests)) ((and (null (db-type-has-boolean-where? db-underlying-type)) - (clsql-base-sys::in test :fdml/select/11 :oodml/select/5)) + (clsql-base::in test :fdml/select/11 :oodml/select/5)) (push (cons test "boolean where not supported") skip-tests)) ((and (null (db-type-has-subqueries? db-underlying-type)) - (clsql-base-sys::in test :fdml/select/5 :fdml/select/10)) + (clsql-base::in test :fdml/select/5 :fdml/select/10)) (push (cons test "subqueries not supported") skip-tests)) ((and (null (db-type-transaction-capable? db-underlying-type *default-database*)) - (clsql-base-sys::in test :fdml/transaction/1 :fdml/transaction/2 :fdml/transaction/3 :fdml/transaction/4)) + (clsql-base::in test :fdml/transaction/1 :fdml/transaction/2 :fdml/transaction/3 :fdml/transaction/4)) (push (cons test "transactions not supported") skip-tests)) ((and (null (db-type-has-fancy-math? db-underlying-type)) - (clsql-base-sys::in test :fdml/select/1)) + (clsql-base::in test :fdml/select/1)) (push (cons test "fancy math not supported") skip-tests)) ((and (eql *test-database-type* :sqlite) - (clsql-base-sys::in test :fddl/view/4 :fdml/select/10)) + (clsql-base::in test :fddl/view/4 :fdml/select/10)) (push (cons test "not supported by sqlite") skip-tests)) (t (push test-form test-forms)))))