Example #1
0
        function testMySQLTool() 
        {
			
			$MySQLTool = new MySQLTool();
			
			//
			// List databases
			// 
			$retval = $MySQLTool->ListDatabases();
			$this->assertTrue(count($retval)> 0, "There are more than 0 database listed");
			
			//
			// Create DB
			// 
			$retval = $MySQLTool->CreateDatabase("cptest", "test1");
			$this->assertTrue($retval, "Database created succesfully");
			
			//
			// Create User
			// 
			$retval = $MySQLTool->CreateUser("cptest", "test1", "testpass0");
			$this->assertTrue($retval, "User created succesfully");
			
			//
			// Privileges
			// 
			$privileges = array("SELECT", "UPDATE");
			$retval = $MySQLTool->SetPrivileges("cptest_test1", "cptest_test1", $privileges);
			$this->assertTrue($retval, "Granted rights succesfully");
			
			//
			// Delete DB
			// 
			$retval = $MySQLTool->DropDatabase("cptest", "test1");
			$this->assertTrue(!in_array("cptest_test1", $MySQLTool->ListDatabases()), "Deleted DB does not exist");
			
			//
			// Delete User
			// 
			$retval = $MySQLTool->DropUser("cptest_test1");
			$this->assertTrue($retval, "User deleted succesfully");
			
			//
			// Server info
			//
			$retval = $MySQLTool->GetSQLServerVersion();
			$this->assertTrue(count($retval) > 2, "SQL server version retreived");
			
			//
			// List users
			//
			$retval = $MySQLTool->ListUsers();
			$this->assertTrue(is_array($retval) && count($retval) > 0, "Users list is non-empty array");
			
        }
Example #2
0
 function __construct()
 {
     parent::__construct();
     $this->Shell = CP::GetShellInstance();
     // DSN
     $dsn = str_replace("{PASSWD}", CF_MYSQL_PASSWD, CF_MYSQL_DSN);
     // Connect to server as root
     self::$SDB = DB::connect($dsn);
     if (DB::isError(self::$SDB)) {
         $this->RaiseError("Cannot connect to local MySQL server! ");
     }
     self::$SDB->setFetchmode(DB_FETCHMODE_ASSOC);
     $this->PrivsSuported = array("SELECT", "INSERT", "INDEX", "UPDATE", "DELETE", "CREATE", "DROP", "REFERENCES", "ALTER", "CREATE TEMPORARY TABLES", "LOCK TABLES");
 }