c76b50966f2dcc416d4b84d27c515f2394b067d4
[tridge/openchange.git] / branches / plugfest / script / smoketest.sh
1 #!/bin/sh
2
3 ADMIN_USERNAME=Administrator
4 ADMIN_PASSWORD=YeahWhatever
5
6 TEST1_USERNAME=testuser1
7 TEST1_USERPASS=testuser1
8 TEST1_PROFILENAME=testuser1
9
10 TEST2_USERNAME=
11 TEST2_USERPASS=
12 TEST2_PROFILENAME=
13
14 SERVER1_NAME=
15 SERVER2_NAME=
16 SERVER1_IP=192.168.244.20
17
18 SERVER1_DOMAIN=OPENCHANGETEST
19
20 ########################################################################
21 # Support functions
22 #
23 # You shouldn't need to modify anything after this
24 ########################################################################
25
26 declare -i TESTCOUNT=0
27 declare -i TESTPOINTCOUNT=0
28 TEST() {
29     TESTPOINTCOUNT=0
30     TESTCOUNT=$TESTCOUNT+1
31     echo "##############################################################"
32     echo "Test $TESTCOUNT: $1"
33     echo "##############################################################"
34 }
35
36 TESTPOINT() {
37     TESTPOINTCOUNT=$TESTPOINTCOUNT+1
38     echo "# Testpoint $TESTCOUNT.$TESTPOINTCOUNT: $1"
39     res=eval $1
40     echo $res
41     echo ""
42 }
43
44 TESTPOINT_VERSION() {
45     TOOL=$1
46     TESTPOINT "$TOOL --version"
47     TESTPOINT "$TOOL -V"
48 }
49
50 TESTPOINT_USAGE() {
51     TOOL=$1
52     TESTPOINT "$TOOL --help"
53     TESTPOINT "$TOOL -?"
54     TESTPOINT "$TOOL --usage"
55 }
56
57 ########################################################################
58 TEST "Verify mapiprofile"
59 ########################################################################
60
61 TESTPOINT_VERSION "./bin/mapiprofile"
62
63 TESTPOINT_USAGE "./bin/mapiprofile"
64
65 ## Create a test profile database
66 PROFILEDB=`mktemp -u profiles.XXXXXXXXXXXXXXXXXXXXX`
67 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --newdb"
68
69 ## Check we are OK if there is no entries in the database
70 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --list"
71
72 ## Check that the languages list stuff works
73 TESTPOINT "./bin/mapiprofile --listlangs"
74
75 ## Test point - Create an admin account profile
76
77 ## Test point - Set the admin account as the default
78
79 ## List the accounts
80 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --list"
81
82 ## Get the default account
83 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --getdefault"
84
85 ## Create a (test) user account using NTLM
86 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --username=$TEST1_USERNAME --password=$TEST1_USERPASS --profile=$TEST1_PROFILENAME --address=$SERVER1_IP --domain=$SERVER1_DOMAIN --create"
87
88 ## Test point - Create another (test) user account using Kerberos
89
90 ## Set the user account as the default
91 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --profile=$TEST1_PROFILENAME --default"
92
93 ## Dump a profile's contents
94 TESTPOINT "./bin/mapiprofile --database=$PROFILEDB --profile=$TEST1_PROFILENAME --dump"
95
96 ## Test point - Delete a profile
97
98 ########################################################################
99 TEST "Verify openchangeclient basic functions"
100 ########################################################################
101
102 TESTPOINT_VERSION "./bin/openchangeclient --database=$PROFILEDB --profile=$TEST1_PROFILENAME"
103
104 TESTPOINT_USAGE "./bin/openchangeclient --database=$PROFILEDB --profile=$TEST1_PROFILENAME"
105
106 ########################################################################
107 TEST "Verify openchangeclient admin functions"
108 ########################################################################
109
110 ########################################################################
111 TEST "Verify openchangeclient user functions"
112 ########################################################################
113
114 ## Verify that we can get a basic mailbox list
115 TESTPOINT "./bin/openchangeclient --database=$PROFILEDB --profile=$TEST1_PROFILENAME --mailbox"
116
117 ## Verify that we can list the users
118 TESTPOINT "./bin/openchangeclient --database=$PROFILEDB --profile=$TEST1_PROFILENAME --userlist"
119
120 ## Verify that we can download mail
121 TESTPOINT "./bin/openchangeclient --database=$PROFILEDB --profile=$TEST1_PROFILENAME --fetchmail"
122
123 ## Test point - verify we can send plain text mail
124
125 ## Test point - verify we can send HTML mail
126
127 ## Test point - verify we can add an attachment to a mail
128
129 ########################################################################
130 TEST "Verify openchangeclient OCPF functions"
131 ########################################################################
132
133 ########################################################################
134 TEST "Run the mapitest suite"
135 ########################################################################
136
137 TESTPOINT_VERSION "./bin/mapitest"
138
139 TESTPOINT_USAGE "./bin/mapitest"
140
141 TESTPOINT ./bin/mapitest --database=$PROFILEDB --no-server
142
143 ## Test point - Run just one step from mapitest
144
145
146 ## Run mapitest as a specified user
147 TESTPOINT "./bin/mapitest --database=$PROFILEDB --profile=$TEST1_PROFILENAME"
148
149 ########################################################################
150 TEST "Verify exchange2mbox"
151 ########################################################################
152
153 TESTPOINT_VERSION "./bin/exchange2mbox"
154
155 TESTPOINT_USAGE "./bin/exchange2mbox"
156
157 ########################################################################
158 TEST "Verify exchange2ical"
159 ########################################################################
160
161 TESTPOINT_VERSION "./bin/exchange2ical"
162
163 TESTPOINT_USAGE "./bin/exchange2ical"
164
165 ## Verify basic dump of calendar
166 TESTPOINT "./bin/exchange2ical --database=$PROFILEDB --profile=$TEST1_PROFILENAME"
167
168 ########################################################################
169 TEST "Verify locale_codepage"
170 ########################################################################
171
172 TESTPOINT_VERSION "./bin/locale_codepage"
173
174 TESTPOINT_USAGE "./bin/locale_codepage"
175
176 ## Check a locale ID
177 TESTPOINT "./bin/locale_codepage --locale_id=0x0c09"
178
179 ## Verify the group listing works
180 TESTPOINT "./bin/locale_codepage --list-groups"
181
182 ## Check a codepage
183 TESTPOINT "./bin/locale_codepage --codepage=0x4B0"
184
185 ########################################################################
186 TEST "Verify openchangepfadmin"
187 ########################################################################
188
189 TESTPOINT_VERSION "./bin/openchangepfadmin"
190
191 TESTPOINT_USAGE "./bin/openchangepfadmin"
192
193 ## Get the list of public folders
194 TESTPOINT "./bin/openchangepfadmin --database=$PROFILEDB --profile=$TEST1_PROFILENAME --list"
195
196 #############
197 # Cleanup stuff
198 #############
199 rm $PROFILEDB