diff options
Diffstat (limited to 'UnitTests/mcpKitTest.m')
-rw-r--r-- | UnitTests/mcpKitTest.m | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/UnitTests/mcpKitTest.m b/UnitTests/mcpKitTest.m new file mode 100644 index 00000000..b8425dde --- /dev/null +++ b/UnitTests/mcpKitTest.m @@ -0,0 +1,85 @@ +// +// mcpKitTest.m +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 J Knight. All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> +// + +#import "mcpKitTest.h" + + +@implementation mcpKitTest + +- (void)setUp +{ + // for now, we try an find the following database in the local connection + // if the connection fails for any reasons, tests are not run. + // http://downloads.mysql.com/docs/sakila-db.zip + // set up a user called 'sakila' with no password that has all privs on the + // database 'sakila' + + mySQLConnection = [[CMMCPConnection alloc] initToSocket:@"/var/mysql/mysql.sock" + withLogin:@"sakila" + password:@""]; + + if ( ![mySQLConnection isConnected] ) { + [mySQLConnection dealloc]; + mySQLConnection = nil; + STFail(@"unable to connect with server. No tests run!"); + } else { + if ( ! [mySQLConnection selectDB:@"sakila"]) { + [mySQLConnection dealloc]; + mySQLConnection = nil; + STFail(@"unable to use `sakila` database. No tests run!"); + } + } +} + +- (void)tearDown +{ + if( mySQLConnection != nil ) { + [mySQLConnection disconnect]; + [mySQLConnection dealloc]; + } +} + +- (void)testServerVersion +{ + if( mySQLConnection == nil ) + return; + + STAssertTrue( [mySQLConnection serverMajorVersion] != 0, @"server version"); +} + + +- (void)testTableList +{ + if( mySQLConnection == nil ) + return; + + CMMCPResult *theResult; + + NSString *pQuery = @"SELECT * FROM actor"; + theResult = [mySQLConnection queryString:pQuery]; + + STAssertEquals([theResult numOfRows],(my_ulonglong)200, @"actors table count" ); +} + +@end |