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..e347d9da --- /dev/null +++ b/UnitTests/MCPKitTest.m @@ -0,0 +1,85 @@ +// +// $Id$ +// +// 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 <MCPKit/MCPKit.h> + +#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'. + + connection = [[MCPConnection alloc] initToSocket:@"/var/mysql/mysql.sock" withLogin:@"sakila"]; + + // Set the 'sakila' user's password + [connection setPassword:@""]; + + if (![connection isConnected]) { + [connection dealloc]; + connection = nil; + STFail(@"Error connecting to database server. No tests were run."); + } + else { + if (![connection selectDB:@"sakila"]) { + [connection dealloc]; + connection = nil; + STFail(@"Error selecting database 'sakila'. No tests were run."); + } + } +} + +- (void)tearDown +{ + if (connection != nil) { + [connection disconnect]; + [connection dealloc]; + } +} + +- (void)testServerVersion +{ + if (connection == nil) return; + + STAssertTrue([connection serverMajorVersion] != 0, @"server version"); + STAssertTrue([connection serverMajorVersion] != 0, @"server version"); +} + +- (void)testTableList +{ + if (connection == nil) return; + + MCPResult *queryResult = [connection queryString:@"SELECT * FROM actor"]; + + STAssertEquals([queryResult numOfRows], (my_ulonglong)200, @"actors table count"); +} + +@end |