summaryrefslogtreecommitdiff
path: root/testautomation/framework/optional/includes/security_incorrect_password.inc
blob: c3f90cb4fbd0435f9594a3295e09d372f42e36e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
'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.com
'*
'*  short description : Password protect files
'*
'\******************************************************************************

testcase tIncorrectPassword( filetypeID as string )

 
    const WORKFILE = "password"
    dim suffix as string 
    dim workpath as string

    dim rc as integer
    dim brc as boolean
    dim iCurrentFilter as integer
    dim cCurrentFilter as string
    
    const PASSWORD_VALID = "MyPasswd09#+1"
    const PASSWORD_FALSE = "MyPasswd00#+1"
    const DOC_ID = "f_sec_incorrect_password.bas testdocument"
    
    workpath = hGetWorkPath()
    
    suffix = hGetSuffix( filetypeID )
    
    printlog( "Delete the workfile - if it was left over by a former testrun" )
    hDeleteFile( workpath & WORKFILE & suffix )    

    printlog( "Make sure we have exactly one single document open" )
    do while( getDocumentCount > 0 )
        hDestroyDocument()
    loop
    hCreateDocument()

    printlog( "Change the document" )
    hChangeDoc()

    printlog( "Click on FileSave" )
    FileSave

    Kontext "SpeichernDlg"
    printlog( "Check the password checkbox" )
    Passwort.check()
    
    printlog( "Name the file as " & workpath & WORKFILE )
    Dateiname.settext( workpath & WORKFILE )
    
    if ( filetypeID <> "current" ) then
        for iCurrentFilter = 1 to DateiTyp.getItemCount()
        
            DateiTyp.select( iCurrentFilter )
            cCurrentFilter = DateiTyp.getSelText()
            if ( instr( cCurrentFilter , suffix ) > 0 ) then
                printlog( "Using custom filter: " & cCurrentFilter )
                exit for
            endif
        next iCurrentFilter
    else
        printlog( "Using default filter: " & DateiTyp.getSelText() )
    endif
    
    printlog( "Click on the Save-Button" )
    Speichern.click()

    brc = hSecurityEnterPasswordOnSave( PASSWORD_VALID )

    if ( brc ) then

        kontext "AlienWarning"
        if ( AlienWarning.exists( 3 ) ) then
            AlienWarning.ok()
            if ( filetypeID <> "current" ) then
                printlog( "Accepted to save in alien format" )
            else
                warnlog( "Alien warning not expected for default file format" )
            endif
        endif

        printlog( "Close the document" )
        brc = hDestroyDocument()
        if ( not brc ) then
            warnlog( "Something went wrong while closing the document. please check" )
        endif
        
    else
        warnlog( "Something went wrong setting the password for the docuemnt" )
    endif

    printlog( "Load the file again" )
    hFileOpen( workpath & WORKFILE & suffix )
    brc = hSecurityEnterPasswordOnLoad( PASSWORD_FALSE , false )
    if ( not brc ) then
        warnlog( "Something went wrong while using the password dialog" )
    endif
    
    hDestroyDocument()

    printlog( "Verify that we have no open documents" )
    if ( getDocumentCount <> 0 ) then
        warnlog( "No documents should be open at this point" )
    endif

    printlog( "Delete the workfile" )
    hDeleteFile( workpath & WORKFILE & suffix )


endcase