;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
-;;;; ======================================================================
-;;;; File: test-connection.lisp
-;;;; Author: Marcus Pearce <m.t.pearce@city.ac.uk>
-;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 11:53:49 marcusp>
-;;;; ======================================================================
+;;;; *************************************************************************
+;;;; FILE IDENTIFICATION
;;;;
-;;;; Description ==========================================================
-;;;; ======================================================================
+;;;; Name: test-connection.lisp
+;;;; Purpose: Tests for CLSQL database connections
+;;;; Authors: Marcus Pearce and Kevin M. Rosenberg
+;;;; Created: March 2004
;;;;
-;;;; Tests for CLSQL-USQL database connections.
+;;;; This file is part of CLSQL.
;;;;
-;;;; ======================================================================
+;;;; CLSQL users are granted the rights to distribute and use this software
+;;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+;;;; *************************************************************************
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
+(setq *rt-connection*
+ '(
(deftest :connection/1
- (let ((database (usql:find-database
- (usql:database-name usql:*default-database*)
- :db-type (usql:database-type usql:*default-database*))))
- (eql (usql:database-type database) *test-database-type*))
+ (let ((database (clsql:find-database
+ (clsql:database-name clsql:*default-database*)
+ :db-type (clsql-sys:database-type clsql:*default-database*))))
+ (eql (clsql-sys:database-type database) *test-database-type*))
t)
+
+(deftest :connection/2
+ (clsql-sys::string-to-list-connection-spec
+ "localhost/dbname/user/passwd")
+ ("localhost" "dbname" "user" "passwd"))
+
+(deftest :connection/3
+ (clsql-sys::string-to-list-connection-spec
+ "dbname/user@hostname")
+ ("hostname" "dbname" "user"))
+
+(deftest :connection/execute-command
+ ;;check that we can issue basic commands.
+ (values
+ (clsql-sys:execute-command "CREATE TABLE DUMMY (foo integer)")
+ (clsql-sys:execute-command "DROP TABLE DUMMY"))
+ nil nil)
+
+(deftest :connection/query
+ ;;check that we can do a basic query
+ (first (clsql:query "SELECT 1" :flatp t :field-names nil))
+ 1)
+
+(deftest :connection/query-command
+ ;;queries that are commands (no result set) shouldn't cause breakage
+ (values
+ (clsql-sys:query "CREATE TABLE DUMMY (foo integer)")
+ (clsql-sys:query "DROP TABLE DUMMY"))
+ nil nil)
+
+))