summaryrefslogtreecommitdiff
path: root/testautomation/framework/optional/includes/security_certified_docs.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/framework/optional/includes/security_certified_docs.inc')
-rw-r--r--testautomation/framework/optional/includes/security_certified_docs.inc147
1 files changed, 147 insertions, 0 deletions
diff --git a/testautomation/framework/optional/includes/security_certified_docs.inc b/testautomation/framework/optional/includes/security_certified_docs.inc
new file mode 100644
index 000000000000..59f74e809c6f
--- /dev/null
+++ b/testautomation/framework/optional/includes/security_certified_docs.inc
@@ -0,0 +1,147 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org 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 Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : joerg.skottke@sun.co
+'*
+'* short description : Load certified documents and verify the certificate
+'*
+'\******************************************************************************
+
+testcase tLoadCertifiedFile( cBuildID as string )
+
+
+ ' Build the path to the file we want to work with
+ dim cFile as string
+ cFile = gTesttoolpath & "framework\optional\input\security\DigitalSignature"
+ cFile = cFile & hGetSuffix( cBuildId )
+ cFile = convertpath( cFile )
+ printlog( "Using file: " & cFile )
+
+ dim cSigName as string
+ dim sCertData( 20 ) as string
+
+ dim sFileIn as string
+ sFileIn = gTesttoolPath & "framework\optional\input\security\certificate_data.txt"
+ sFileIn = convertpath( sFileIn )
+
+ dim sFileOut as string
+ sFileOut = hGetWorkPath() & "certificate_data.txt"
+
+ ' Variable to store boolean returncodes from functions
+ dim brc as boolean
+ brc = true
+
+ ' the number of certificates attached to the current document
+ dim iCertCount as integer
+
+ printlog( "Load the file" )
+ brc = hFileOpen( cFile )
+ brc = hHandleActivesOnLoad( 0 , 2 )
+
+ ' in case the file did not get loaded, handle the problem by aborting the test
+ if ( not brc ) then
+ warnlog( "The requested file could not be loaded, aborting test" )
+ goto endsub
+ endif
+
+ brc = hOpenDigitalSignaturesDialog()
+
+ ' If the menuitem should not be available, clicking it will fail. In
+ ' this case we must assume that the file has been loaded but the certificate
+ ' does not exist. So we close the document and abort the test here.
+ if ( not brc ) then
+ warnlog( "The requested menuitem is not available, the test ends" )
+ call hCloseDocument()
+ goto endsub
+ endif
+
+ ' second line of defense: If something was opened but this is not the
+ ' digital signatures dialog, we abort as well.
+ ' If no mozill a profile exists, we don't have the means to verify
+ ' certificates, so the test aborts here as well. We get a messagebox then.
+ Kontext "DigitalSignature"
+ if ( not DigitalSignature.exists( 2 ) ) then
+ Kontext "active"
+ if ( active.exists() ) then
+ qaerrorlog( "#i48252# Mozilla profile missing?: " & active.getText() )
+ active.OK()
+ else
+ warnlog( "The current dialog is not <Digital Signatures>. Aborting" )
+ endif
+ call hCloseDocument()
+ goto endsub
+ endif
+
+ ' If we have zero or more than one certificate, this is probably a bug
+ ' introduced by the test maintainer. However, we warn but the test can
+ ' continue
+ Kontext "DigitalSignature"
+
+ ViewCertificate.click()
+
+ hSelectXMLSecTab( "PATH" )
+
+ qaerrorlog( "Skipping EditBrowseBox: Not implemented in Testtool yet" )
+ goto SkipEditBrowseBox
+
+ kontext "TabXMLSecCertPath"
+ XMLSecViewSigTree.select( 1 )
+ cSigName = XMLSecViewSigTree.getSelText()
+ if ( cSigName <> "Dummy Certificate for Testing" ) then
+ warnlog( "The certificate at pos. 1 is not the dummy certificate: " & cSigName )
+ else
+ printlog( "Found correct certificate name: " & cSigName )
+ endif
+
+ hSelectXMLSecTab( "DETAILS" )
+
+ kontext "TabXMLSecDetails"
+ hGetListItems( XMLSecDetailsListBox, sCertData() )
+
+ brc = hManageComparisionList( sFileIn, sFileOut, sCertData() )
+ if ( not brc ) then
+ warnlog( "The data of the certificate appears to be incorrect" )
+ else
+ printlog( "Verification of the certificate succeeded" )
+ endif
+
+ SkipEditBrowseBox:
+
+ hSelectXMLSecTab( "GENERAL" )
+ kontext "TabXMLSecGeneral"
+
+ TabXMLSecGeneral.ok()
+
+ printlog( "Close the dialog with OK" )
+ Kontext "DigitalSignature"
+ DigitalSignature.OK()
+
+ printlog( "Close the document" )
+ call hCloseDocument()
+
+endcase
+