+(defun find-test-connection-spec (db-type &key position)
+ (nth (or position 0)
+ (db-type-spec db-type (read-specs))))
+
+(defun test-connect
+ (db-type
+ &key position pool
+ (spec (find-test-connection-spec db-type :position position))
+ )
+ (setf *test-database-type* db-type)
+ (setf *test-database-user*
+ (cond
+ ((member db-type '(:oracle :odbc :aodbc)) (second spec))
+ ((>= (length spec) 3) (third spec))))
+ (let ((*default-database* (clsql:connect
+ spec
+ :database-type db-type
+ :make-default t
+ :if-exists :old
+ :pool pool)))
+ (setf *test-database-underlying-type*
+ (clsql-sys:database-underlying-type *default-database*))
+ *default-database*))
+
+(defun test-setup-database (db-type &key (spec (find-test-connection-spec db-type)))