'encoding UTF-8 Do not remove or change this line! '************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the License. ' '************************************************************************* '* '* short description : test the database types '* '************************************************************************ '* ' #1 tMySQLODBCProperties ' #1 tMySQLJDBCProperties ' #1 tAdabasProperties ' #1 tOracleJDBCProperties ' #1 tJDBCProperties ' #1 tODBCProperties ' #1 tdBaseProperties ' #1 tTextProperties ' #1 tSpreadsheetProperties ' #1 tMozillaProperties ' #1 tLDAPProperties ' #1 tEvolutionProperties ' #1 tCheckHSQLDB '* '\*********************************************************************************** sub DatabaseTypes printlog "------------------ DatabaseTypes.inc ---------------------" call tMySQLODBCProperties call tMySQLJDBCProperties call tAdabasProperties call tOracleJDBCProperties call tJDBCProperties call tODBCProperties call tdBaseProperties call tTextProperties call tSpreadsheetProperties call tMozillaProperties call tLDAPProperties call tEvolutionProperties call tCheckHSQLDB end sub '------------------------------------------------------------------------- '------------------------------------------------------------------------- testcase tMySQLODBCProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:mysql:odbc:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("MySQLODBC") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabMySQLODBC" '/// check the MySQLODBC page call fCheckTabPage(TabMySQLODBC) Kontext "ConnectionType" ConnectionType.OK call fCheckAdvancedDialog("MySQLODBC") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tMySQLJDBCProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:mysql:jdbc:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("MySQLJDBC") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabMySQLJDBC" '/// check the MySQLJDBC page call fCheckTabPage(TabMySQLJDBC) Kontext "ConnectionType" ConnectionType.OK call fCheckAdvancedDialog("MySQLJDBC") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tAdabasProperties if gPlatform = "x86" then printlog "Adabas is not available under x86." goto endsub end if if gPlatform = "osx" then printlog "Adabas doesn't exists under mac osx." goto endsub end if call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) sleep(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:adabas:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("Adabas") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabAdabas" '/// check the Adabas page call fCheckTabPage(TabAdabas) Kontext "ConnectionType" ConnectionType.OK call fCheckAdvancedDialog("Adabas") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tOracleJDBCProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("jdbc:oracle:thin:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("OracleJDBC") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabOracleJDBC" '/// check the TabOracleJDBC page call fCheckTabPage(TabOracleJDBC) Kontext "ConnectionType" ConnectionType.Cancel call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tJDBCProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("jdbc:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("JDBC") Kontext "ConnectionType" ConnectionType.Cancel call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tLDAPProperties if gPlatform = "osx" then printlog "LDAP doesn't exists under mac osx." goto endsub end if call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:address:ldap:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("LDAP") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabLDAP" '/// check the LDAP page call fChecktabPage(TabLDAP) Kontext "ConnectionType" ConnectionType.Cancel call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tEvolutionProperties if gPlatform <> "lin" then printlog "Evolution does only exists under linux." goto endsub end if call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) try if ( isDriverInstalled("sdbc:address:evolution:ldap")) then DataBaseType.select(hGetDatabaseDisplayName("sdbc:address:evolution:ldap")) Kontext "ConnectionType" ConnectionType.OK else qaerrorlog "Evolution does not appear to be available on this system" Kontext "ConnectionType" ConnectionType.Cancel endif catch warnlog "failed to select DataBaseType Evolution - maybe not installed or activated in this build" TabGeneral.Cancel call fCloseDatabase goto endsub endcatch 'call fCheckAdvancedDialog("Evolution") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tMozillaProperties if gPlatform = "osx" then printlog "LDAP doesn't exists under mac osx." goto endsub end if call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) try if ( isDriverInstalled("sdbc:address:mozilla:")) then DataBaseType.select(hGetDatabaseDisplayName("sdbc:address:mozilla:")) Kontext "ConnectionType" ConnectionType.OK else qaerrorlog "Mozilla does not appear to be available on this system" Kontext "ConnectionType" ConnectionType.Cancel endif catch warnlog "failed to select DataBaseType Mozilla - maybe not installed or activated in this build" TabGeneral.Cancel call fCloseDatabase goto endsub endcatch 'add sleep to give OOo time to react sleep(2) 'call fCheckAdvancedDialog("Mozilla") 'add sleep to give OOo time to react sleep(2) call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tSpreadsheetProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:calc:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("CALC") Kontext "ConnectionType" ConnectionType.Cancel 'call fCheckAdvancedDialog("CALC") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tTextProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:flat:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("Text") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabTextBase" '/// check the Text page call fCheckTabPage(TabTextBase) Kontext "ConnectionType" ConnectionType.ok call fCheckAdvancedDialog("Text") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tdBaseProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:dbase:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("dBase") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabdBase" '/// check the dBase page call fCheckTabPage(TabdBase) Kontext "ConnectionType" ConnectionType.OK call fCheckAdvancedDialog("dBase") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tODBCProperties call fOpenDatabase (gOfficePath + ConvertPath("user/database/biblio.odb")) ViewForms Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(2) Kontext "TabGeneral" call DialogTest(TabGeneral) DataBaseType.select(hGetDatabaseDisplayName("sdbc:odbc:*")) Kontext "ConnectionType" NextBtn.Click sleep(1) call fCheckConnectionTabPage("ODBC") Kontext "ConnectionType" NextBtn.Click sleep(1) Kontext "TabODBC" '/// check the ODBC page call fCheckTabPage(TabODBC) Kontext "ConnectionType" ConnectionType.OK call fCheckAdvancedDialog("ODBC") call fCloseDatabase() endcase '------------------------------------------------------------------------- testcase tCheckHSQLDB Dim sDatasourceFileName as String sDatasourceFileName = ConvertPath(gOfficePath + "user/work/hsqldb.odb") call fCreateHSQLDatasource(sDatasourceFileName) call fOpenDatabase(sDatasourceFileName) Kontext "ContainerView" ViewTables call fCloseDatabase() endcase '------------------------------------------------------------------------- '------------------------------------------------------------------------- '------------------------------------------------------------------------- '------------------------------------------------------------------------- '------------------------------------------------------------------------- function fCheckAdvancedDialog(sType as string) printlog "+Check the Advanced Settings for the datasource type " + sType Kontext "DATABASE" Database.UseMenu hMenuSelectNr(2) hMenuSelectNr(15) hMenuSelectNr(3) Kontext "Advanced" if sType = "OracleJDBC" OR sType = "JDBC" OR sType = "ODBC" then TabControl.setPage AdvancedSettingsSpecial call fcheckControl(SQL92Check) call fcheckControl(AppendAlias) call fcheckControl(Ignoreprivileges) call fcheckControl(ParameterSubstiti) call fcheckControl(DisplayVersionColumns) call fcheckControl(BooleanComparison) call fcheckControl(EnableOuterJoin) call fcheckControl(CheckRequiredFields) TabControl.setPage TabGeneratedValues call fcheckControl(RetrieveGeneratedValues) call fcheckControl(AutoIncrementStatement) call fcheckControl(QueryGeneratedValues) elseif sType = "MySQLODBC" OR sType = "MySQLJDBC" then 'call fcheckControl(SQL92Check) 'call fcheckControl(AppendAlias) call fcheckControl(Ignoreprivileges) 'call fcheckControl(ParameterSubstiti) call fcheckControl(DisplayVersionColumns) call fcheckControl(BooleanComparison) 'call fcheckControl(EnableOuterJoin) call fcheckControl(CheckRequiredFields) elseif sType = "dBase" OR sType = "Text" then call fcheckControl(SQL92Check) 'call fcheckControl(BooleanComparison) 'call fcheckControl(AppendAlias) elseif sType = "CALC" OR sType = "Mozilla" OR sType = "Evolution" OR sType = "LDAP" then ' call fcheckControl(BooleanComparison) ' call fcheckControl(AppendAlias) elseif sType = "Adabas" then call fcheckControl(AppendAlias) call fcheckControl(BooleanComparison) call fcheckControl(SQL92Check) call fcheckControl(DisplayVersionColumns) call fcheckControl(CheckRequiredFields) else qaerrorlog "unknown database type" end if Kontext "Advanced" Advanced.Cancel end function '------------------------------------------------------------------------- function fcheckControl(oControl as object) if oControl.exists() then printlog "|The control " + oControl.Name + " exists." else warnlog "|The control " + oControl.Name + " doesn't exists." end if end function '------------------------------------------------------------------------- function fCheckConnectionTabPage(sType as string) printlog "+check the connection page for the datasource type " + sType Kontext "TabConnection" call DialogTest(TabConnection) if sType = "MySQLODBC" then call fcheckControl(MySQLODBCDatasource) call fcheckControl(SelectPath) call fcheckControl(Username) call fcheckControl(PasswordRequired) call fcheckControl(TestConnection) elseif sType = "MySQLJDBC" then call fcheckControl(MySQLJDBCDatasource) call fcheckControl(Username) call fcheckControl(PasswordRequired) call fcheckControl(TestConnection) elseif sType = "Adabas" then call fcheckControl(AdabasDatasource) call fcheckControl(SelectPath) call fcheckControl(Username) call fcheckControl(PasswordRequired) call fcheckControl(TestConnection) elseif sType = "OracleJDBC" then call fcheckControl(OracleJDBCDatasource) call fcheckControl(Username) call fcheckControl(PasswordRequired) call fcheckControl(TestConnection) elseif sType = "JDBC" then call fcheckControl(ConnectUrl) call fcheckControl(Username) call fcheckControl(PasswordRequired) call fcheckControl(TestConnection) call fcheckControl(TestDriver) call fcheckControl(JDBCDriverClass) elseif sType = "ODBC" then call fcheckControl(OdbcDatasourceName) call fcheckControl(Username) call fcheckControl(PasswordRequired) call fcheckControl(TestConnection) elseif sType = "dBase" then call fcheckControl(dBasePath) call fcheckControl(SelectPath) call fcheckControl(TestConnection) elseif sType = "CALC" then call fcheckControl(SpreadsheetPath) call fcheckControl(SelectPath) call fcheckControl(TestConnection) elseif sType = "Text" then call fcheckControl(TextPath) call fcheckControl(SelectPath) call fcheckControl(TestConnection) elseif sType = "LDAP" then call fcheckControl(HostName) call fcheckControl(TestConnection) elseif sType = "Mozilla" OR sType = "Evolution" then call fcheckControl(TestConnection) end if end function '------------------------------------------------------------------------- function fCheckTabPage(oType as object) printlog "+check the " + oType.Name + " page." Kontext oType.Name call DialogTest(oType) if oType.Name = "TabMySQLJDBC" OR oType.Name = "TabOracleJDBC" then call fcheckControl(CharSet) call fcheckControl(HostName) call fcheckControl(PortNumber) call fcheckControl(DriverClass) call fcheckControl(TestClass) elseif oType.Name = "TabAdabas" then call fcheckControl(CharSet) call fcheckControl(HostName) call fcheckControl(CacheSize) call fcheckControl(DataIncrement) call fcheckControl(CotrolUser) call fcheckControl(ControlPassword) call fcheckControl(ShutdownService) call fcheckControl(Extended) elseif oType.Name = "TabODBC" then call fcheckControl(UseCatalogs) call fcheckControl(Options) call fcheckControl(CharSet) elseif oType.Name = "TabdBase" then call fcheckControl(CharSet) call fcheckControl(DisplayInactiveRecords) call fcheckControl(Indexes) elseif ( oType.Name = "TabLDAP" ) then call fcheckControl(BaseDN) call fcheckControl(PortNumber) call fcheckControl(Records) elseif ( oType.Name = "TabTextBase" ) then call fcheckControl(TextContainsHeaders) call fcheckControl(FieldSeparator) call fcheckControl(TextSeparator) call fcheckControl(DecimalSeparator) call fcheckControl(ThousandsSeparator) call fcheckControl(PlainTextFiles) call fcheckControl(CVSFiles) call fcheckControl(Custom) call fcheckControl(CustomTxt) call fcheckControl(CharSet) end if end function