summaryrefslogtreecommitdiff
path: root/smoketestoo_native/data
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2005-10-19 10:26:23 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2005-10-19 10:26:23 +0000
commit310d7868b028aefd2a31179bbd4c56c9c371be00 (patch)
treee5281002b0037324792176ede0a856ca402b271a /smoketestoo_native/data
parent8d721f61a04f4e1726a11a28e303b6e9be62cf1f (diff)
INTEGRATION: CWS smoketest8 (1.1.2); FILE ADDED
2005/10/18 16:09:27 kz 1.1.2.1: #126242# implementation of a database test
Diffstat (limited to 'smoketestoo_native/data')
-rwxr-xr-xsmoketestoo_native/data/scripts/Test_DB.xba130
1 files changed, 130 insertions, 0 deletions
diff --git a/smoketestoo_native/data/scripts/Test_DB.xba b/smoketestoo_native/data/scripts/Test_DB.xba
new file mode 100755
index 000000000000..f382fd273113
--- /dev/null
+++ b/smoketestoo_native/data/scripts/Test_DB.xba
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Test_DB" script:language="StarBasic">REM ***** Database Test *****
+
+const cMessageDatabaseService = &quot;Database Service&quot;
+const cMessageDatabaseOpen = &quot;Open Database&quot;
+const cMessageDatabaseInsert = &quot;Insert record into Database&quot;
+const cMessageDatabaseDelete = &quot;Delete record from Database&quot;
+const cMessageDatabaseSeek = &quot;Read other record from Database&quot;
+const cMessageDatabaseClose = &quot;Close Database&quot;
+
+Sub TestDB (FilterType as Integer)
+
+Dim oDBConnection as Object, oDataSource as Object, oDBContext as Object
+Dim sDBName as String, sTable as String, sCurrentMessage as String
+Dim nRowCount as Integer, nCurrentAction as Integer
+Dim bResult as Boolean
+Const sTestString = &quot;Automatical Test&quot;
+
+
+ On Local Error GoTo DBERROR
+
+ nCurrentAction = cLogfileFailed
+ FileChannel% = OpenLogDat (GetLogFileName(FilterType))
+
+ nCurrentAction = cDBService
+ sCurrentMessage = cMessageDatabaseService + &quot; &quot; + cUnoDatabaseContext
+
+ oDBContext = CreateUnoService(cUnoDatabaseContext)
+ sDBName=oDBContext.ElementNames(0) &apos;Names of Databases
+
+ nCurrentAction = cDBOpen
+ sCurrentMessage = cMessageDatabaseOpen
+
+ oDataSource = oDBContext.GetByName(sDBName)
+ sTable=oDataSource.Tables.ElementNames(0)
+ oDBConnection = oDBContext.GetByName(sDBName).GetConnection(&quot;&quot;,&quot;&quot;)
+
+ LogState (not IsNull (oDBConnection), &quot;Database &quot;+ cMessageDatabaseOpen, FileChannel)
+ LogState (not IsNull (oDBConnection), &quot;Database &quot;+ cMessageDatabaseOpen, MainFileChannel)
+ SetStatus (FilterType, cDBOpen, not IsNull (oDBConnection))
+ if (IsNull(oDBConnection)) then
+ Exit Sub
+ End If
+
+ &apos; Database is open now
+
+ nCurrentAction = cDBService
+ sCurrentMessage = cMessageDatabaseService + &quot; &quot; + cUnoRowSet
+ oRowSet = createUnoService(cUnoRowSet)
+
+ if (IsNull(oRowSet)) then
+ LogState (not IsNull (oRowSet), &quot;Database &quot;+ cMessageDatabaseService + &quot; &quot; + cUnoRowSet, FileChannel)
+ LogState (not IsNull (oRowSet), &quot;Database &quot;+ cMessageDatabaseService + &quot; &quot; + cUnoRowSet, MainFileChannel)
+ SetStatus (FilterType, cDBService, not IsNull (oRowSet))
+ Exit Sub
+ else
+ LogState (not IsNull (oRowSet), &quot;Database &quot;+ cMessageDatabaseService, FileChannel)
+ LogState (not IsNull (oRowSet), &quot;Database &quot;+ cMessageDatabaseService, MainFileChannel)
+ SetStatus (FilterType, cDBService, not IsNull (oRowSet))
+ End If
+
+ nCurrentAction = cDBInsert
+ sCurrentMessage = cMessageDatabaseInsert
+
+ oRowSet.ActiveConnection = oDBConnection
+
+ oRowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND
+ oRowSet.Command = &quot;SELECT * FROM &quot; + sTable
+ oRowSet.execute()
+
+ oRowSet.moveToInsertRow
+ oRowSet.updateString(5, sTestString)
+
+ oRowSet.insertRow()
+ nRowCount=oRowSet.RowCount
+
+ oRowSet.moveToCurrentRow()
+
+ bResult = (oRowSet.getString(5) = sTestString)
+ LogState (bResult, &quot;Database &quot;+ cMessageDatabaseInsert, FileChannel)
+ LogState (bResult, &quot;Database &quot;+ cMessageDatabaseInsert, MainFileChannel)
+ SetStatus (FilterType, cDBInsert, bResult)
+
+ &apos;delete only if insert passed
+
+ if (bResult) Then
+ nCurrentAction = cDBDelete
+ sCurrentMessage = cMessageDatabaseDelete
+ oRowSet.deleteRow()
+ bResult = (nRowCount - oRowSet.RowCount = 1)
+ LogState (bResult, &quot;Database &quot;+ cMessageDatabaseDelete, FileChannel)
+ LogState (bResult, &quot;Database &quot;+ cMessageDatabaseDelete, MainFileChannel)
+ SetStatus (FilterType, cDBDelete, bResult)
+ End If
+
+ &apos; read other record
+
+ nCurrentAction = cDBSeek
+ sCurrentMessage = cMessageDatabaseSeek
+ oRowSet.first()
+ bResult = not (oRowSet.getString(5) = sTestString)
+ LogState (bResult, &quot;Database &quot;+ cMessageDatabaseSeek, FileChannel)
+ LogState (bResult, &quot;Database &quot;+ cMessageDatabaseSeek, MainFileChannel)
+ SetStatus (FilterType, cDBSeek, bResult)
+
+ nCurrentAction = cDBClose
+ sCurrentMessage = cMessageDatabaseClose
+ oDBConnection.Dispose()
+ LogState (True, &quot;Database &quot;+ cMessageDatabaseClose, FileChannel)
+ LogState (True, &quot;Database &quot;+ cMessageDatabaseClose, MainFileChannel)
+ SetStatus (FilterType, cDBClose, True)
+
+ Print #FileChannel, &quot;---&quot;
+ Close #FileChannel%
+ Exit Sub &apos; Without error
+
+ DBERROR:
+ If (nCurrentAction = cLogfileFailed) then
+ SetStatus (FilterType, cDBOpen, False)
+ Exit Sub
+ else
+ LogState (False, &quot;Database &quot;+ sCurrentMessage, FileChannel)
+ LogState (False, &quot;Database &quot;+ sCurrentMessage, MainFileChannel)
+ SetStatus (FilterType, nCurrentAction, False)
+ Close #FileChannel%
+ End If
+ Exit Sub &apos; With error
+End Sub
+</script:module> \ No newline at end of file