Revision 0:53910be9bd5d

View differences:

WebContent/WEB-INF/web.xml
1 1
<?xml version="1.0" encoding="UTF-8"?>
2 2
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
3
	<display-name>M2U UPass Web Services</display-name>
3
	<display-name>Agrobank UPass Web Services</display-name>
4 4
	<welcome-file-list>
5 5
		<welcome-file>index.html</welcome-file>
6 6
		<welcome-file>index.htm</welcome-file>
......
47 47
    <servlet-name>AdminServlet</servlet-name>
48 48
    <url-pattern>/servlet/AdminServlet</url-pattern>
49 49
  </servlet-mapping>
50
</web-app>
50
</web-app>
WebContent/wsdl/WS_UPass.wsdl
2437 2437
		<wsdl:port binding="impl:WS_UPassSoapBinding" name="WS_UPass">
2438 2438

  
2439 2439
			<wsdlsoap:address
2440
				location="http://localhost:8080/m2u-upass-ws/services/WS_UPass" />
2440
				location="http://localhost:8080/agro-upass-ws/services/WS_UPass" />
2441 2441

  
2442 2442
		</wsdl:port>
2443 2443

  
pom.xml
4 4
	<modelVersion>4.0.0</modelVersion>
5 5

  
6 6
	<groupId>net.penril</groupId>
7
	<artifactId>m2u-upass-ws</artifactId>
7
	<artifactId>agro-upass-ws</artifactId>
8 8
	<version>2.0-SNAPSHOT</version>
9 9
	<packaging>war</packaging>
10
	<name>M2U UPass Web Services</name>
10
	<name>Agrobank UPass Web Services</name>
11

  
11 12
	<properties>
12 13
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13 14
		<cobertura.version>1.9.4.1</cobertura.version>
14 15
		<config.postfix />
15 16
		<tomcat.home>/var/lib/jenkins/apache-tomcat-5.5.33</tomcat.home>
16
		<m2u-upass-classifier></m2u-upass-classifier>
17 17
	</properties>
18

  
18 19
	<pluginRepositories>
19 20
		<pluginRepository>
20 21
			<id>eviwarePluginRepository</id>
21 22
			<url>http://www.eviware.com/repository/maven2/</url>
22 23
		</pluginRepository>
23 24
	</pluginRepositories>
24
	<distributionManagement>
25
		<snapshotRepository>
26
			<id>penril.nexus.repo</id>
27
			<name>Penril Nexus Repo</name>
28
			<url>scp://staging.penril.net/usr/share/tomcat5/sonatype-work/nexus/storage/snapshots</url>
29
			<uniqueVersion>false</uniqueVersion>
30
		</snapshotRepository>
31
	</distributionManagement>
25

  
32 26
	<build>
33 27
		<pluginManagement>
34 28
			<plugins>
......
57 51
						<stopPort>9005</stopPort>
58 52
						<stopKey>STOP</stopKey>
59 53
						<contextPath>${project.artifactId}</contextPath>
60
						<jettyConfig>target/classes/jetty.xml</jettyConfig>
61 54
					</configuration>
62 55
				</plugin>
63 56
			</plugins>
......
94 87
				<artifactId>maven-compiler-plugin</artifactId>
95 88
				<version>2.3.2</version>
96 89
				<configuration>
97
					<source>1.5</source>
98
					<target>1.5</target>
90
					<source>1.6</source>
91
					<target>1.6</target>
99 92
				</configuration>
100 93
			</plugin>
101 94
			<plugin>
......
154 147
					<value>dev-penril</value>
155 148
				</property>
156 149
			</activation>
150
			<distributionManagement>
151
				<snapshotRepository>
152
					<id>penril.nexus.repo</id>
153
					<name>Penril Nexus Repo</name>
154
					<url>scp://staging.penril.net/usr/share/tomcat5/sonatype-work/nexus/storage/snapshots</url>
155
				</snapshotRepository>
156
			</distributionManagement>
157 157
			<properties>
158 158
				<config.postfix>.dev-penril</config.postfix>
159 159
			</properties>
......
166 166
					<value>staging-ci</value>
167 167
				</property>
168 168
			</activation>
169
			<distributionManagement>
170
				<snapshotRepository>
171
					<id>penril.nexus.repo.coverage</id>
172
					<name>Penril Nexus Repo (Coverage)</name>
173
					<url>scp://staging.penril.net/usr/share/tomcat5/sonatype-work/nexus/storage/snapshots-coverage</url>
174
				</snapshotRepository>
175
			</distributionManagement>
169 176
			<properties>
170 177
				<config.postfix>.staging-ci</config.postfix>
171 178
			</properties>
179
			<repositories>
180
				<repository>
181
					<id>nexus-penril-coverage</id>
182
					<name>Penril's Maven Repository for Code Coverage</name>
183
					<url>http://staging.penril.net:8080/nexus/content/repositories/snapshots-coverage</url>
184
					<layout>default</layout>
185
				</repository>
186
			</repositories>
172 187
			<build>
173 188
				<plugins>
174 189
					<plugin>
......
177 192
						<configuration>
178 193
							<webAppSourceDirectory>${basedir}/WebContent</webAppSourceDirectory>
179 194
							<classesDirectory>${project.build.directory}/generated-classes/cobertura</classesDirectory>
180
							<!-- <webApp>${project.build.directory}/${project.artifactId}-instrument.${project.packaging}</webApp> -->
181 195
						</configuration>
182 196
						<executions>
183 197
							<execution>
......
254 268
					<name>cobertura-build</name>
255 269
				</property>
256 270
			</activation>
257
			<properties>
258
				<m2u-upass-classifier>instrumented</m2u-upass-classifier>
259
			</properties>
260 271
			<distributionManagement>
261 272
				<snapshotRepository>
262 273
					<id>penril.nexus.repo.coverage</id>
......
267 278
			<build>
268 279
				<plugins>
269 280
					<plugin>
270
						<artifactId>maven-war-plugin</artifactId>
271
						<configuration>
272
							<classifier>${m2u-upass-classifier}</classifier>
273
							<packagingExcludes>WEB-INF/lib/m2u-upass-*SNAPSHOT.jar</packagingExcludes>
274
						</configuration>
275
					</plugin>
276
					<plugin>
277 281
						<groupId>org.codehaus.mojo</groupId>
278 282
						<artifactId>cobertura-maven-plugin</artifactId>
279 283
						<configuration>
......
411 415
								<configuration>
412 416
									<target>
413 417
										<echo message="Creating a directory required by our JMeter test plan." />
414
										<mkdir dir="${basedir}/target/jmeter/responses/add" />
415
										<mkdir dir="${basedir}/target/jmeter/responses/auth" />
418
										<mkdir dir="${basedir}/target/jmeter/responses" />
416 419
									</target>
417 420
								</configuration>
418 421
								<goals>
......
420 423
								</goals>
421 424
							</execution>
422 425
						</executions>
423
					</plugin>
426
					</plugin> 
424 427
					<plugin>
425 428
						<groupId>org.codehaus.mojo</groupId>
426 429
						<artifactId>exec-maven-plugin</artifactId>
......
434 437
								<argument>${project.build.directory}/jmeter/result.jtl</argument>
435 438
								<argument>-J</argument>
436 439
								<argument>jmeter.save.saveservice.output_format=xml</argument>
437
								<argument>-J</argument>
438
								<argument>jmeter.save.saveservice.thread_counts=true</argument>
439 440
								<argument>-j</argument>
440 441
								<argument>${project.build.directory}/jmeter/jmeter.log</argument>
441 442
							</arguments>
......
454 455
		</dependency>
455 456
		<dependency>
456 457
			<groupId>net.penril</groupId>
457
			<artifactId>m2u-upass-core</artifactId>
458
			<artifactId>agro-upass</artifactId>
458 459
			<version>2.0-SNAPSHOT</version>
459
			<classifier>${m2u-upass-classifier}</classifier>
460
			<exclusions>
461
				<exclusion>
462
					<groupId>net.penril</groupId>
463
					<artifactId>m2u-upass-min</artifactId>
464
				</exclusion>
465
			</exclusions>
466
		</dependency>
467
		<dependency>
468
			<groupId>net.penril</groupId>
469
			<artifactId>m2u-upass-min</artifactId>
470
			<version>2.0-SNAPSHOT</version>
471
			<classifier>${m2u-upass-classifier}</classifier>
460
			<type>jar</type>
461
			<scope>compile</scope>
472 462
		</dependency>
473 463
		<dependency>
474 464
			<groupId>axis</groupId>
resources/jetty.xml
1
<?xml version="1.0"?>
2
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
3

  
4
<Configure id="Server" class="org.mortbay.jetty.Server">
5

  
6
	<!-- =========================================================== -->
7
	<!-- Server Thread Pool -->
8
	<!-- =========================================================== -->
9
	<Set name="ThreadPool">
10
		<New class="org.mortbay.thread.QueuedThreadPool">
11
			<!-- initial threads set to 10 -->
12
			<Set name="minThreads">50</Set>
13

  
14
			<!-- the thread pool will grow only up to 200 -->
15
			<Set name="maxThreads">150</Set>
16

  
17
			<!-- indicates that having 20 and below, the pool will be considered low 
18
				on threads -->
19
			<!-- <Set name="lowThreads">100</Set> -->
20

  
21
			<!-- The number of queued jobs (or idle threads) needed before the thread 
22
				pool is grown (or shrunk) -->
23
			<Set name="SpawnOrShrinkAt">2</Set>
24
		</New>
25
	</Set>
26
</Configure>
resources/log4j.dev-penril.xml
1 1
<?xml version="1.0" encoding="UTF-8"?>
2 2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
3 3
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
4
	<appender name="Log" class="org.apache.log4j.DailyRollingFileAppender">
5
		<param name="File" value="./m2u-upass-ws.log" />
4
	<appender name="logPath" class="org.apache.log4j.DailyRollingFileAppender">
5
		<param name="File" value="./upass-ws.log" />
6 6
		<param name="Append" value="true" />
7 7
		<param name="DatePattern" value="@yyyy-MM-dd"/>
8 8
		<layout class="org.apache.log4j.PatternLayout">
......
18 18

  
19 19
	<logger name="my.com.upass">
20 20
	    <level value="debug"/>
21
	    <appender-ref ref="Log"/>
21
	    <appender-ref ref="logPath"/>
22 22
	</logger>
23 23
	
24 24
	<root>
25 25
		<priority value="error" />
26
		<appender-ref ref="Log"/>
26
		<appender-ref ref="logPath"/>
27 27
	</root>
28 28
</log4j:configuration>
resources/log4j.staging-ci.xml
2 2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
3 3
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
4 4
	<appender name="Log" class="org.apache.log4j.DailyRollingFileAppender">
5
		<param name="File" value="./m2u-upass-ws.log" />
5
		<param name="File" value="C:/agro-ws-upass.log" />
6 6
		<param name="Append" value="true" />
7 7
		<param name="DatePattern" value="@yyyy-MM-dd"/>
8 8
		<layout class="org.apache.log4j.PatternLayout">
......
25 25
		<priority value="error" />
26 26
		<appender-ref ref="Log"/>
27 27
	</root>
28
</log4j:configuration>

28
</log4j:configuration>
resources/log4j.xml
2 2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
3 3
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
4 4
	<appender name="Log" class="org.apache.log4j.DailyRollingFileAppender">
5
		<param name="File" value="./m2u-upass-ws.log" />
5
		<param name="File" value="./agro-ws-upass.log" />
6 6
		<param name="Append" value="true" />
7 7
		<param name="DatePattern" value="@yyyy-MM-dd"/>
8 8
		<layout class="org.apache.log4j.PatternLayout">
src/my/ws/upass/WS_UPass.java
28 28
 */
29 29
public class WS_UPass {
30 30

  
31
	UPassControllerV2 upcV2 = new UPassControllerV2();
31
	UPassControllerV2 upc = new UPassControllerV2();
32 32

  
33 33
	public int wsAD_AddUser(String rootAlias, String rootPassword,
34 34
			String adminUserAlias, String adminDesc, String adminUserPassword) {
35 35

  
36
		return upcV2.AD_AddUser(rootAlias, rootPassword, adminUserAlias, adminDesc, adminUserPassword);
36
		return upc.AD_AddUser(rootAlias, rootPassword, adminUserAlias, adminDesc, adminUserPassword);
37 37
	}
38 38

  
39 39
	public int wsAD_ModifyUser(String rootAlias, String rootPassword,
40 40
			String adminUserAlias, String adminDesc, String adminUserPassword) {
41 41

  
42
		return upcV2.AD_ModifyUser(rootAlias, rootPassword, adminUserAlias, adminDesc, adminUserPassword);
42
		return upc.AD_ModifyUser(rootAlias, rootPassword, adminUserAlias, adminDesc, adminUserPassword);
43 43
	}
44 44

  
45 45
	public int wsAD_ActivateUser(String rootAlias, String rootPassword, String adminUserAlias) {
46 46

  
47
		return upcV2.AD_ActivateUser(rootAlias, rootPassword, adminUserAlias);
47
		return upc.AD_ActivateUser(rootAlias, rootPassword, adminUserAlias);
48 48
	}
49 49

  
50 50
	public int wsAD_LockUser(String rootAlias, String rootPassword, String adminUserAlias) {
51 51

  
52
		return upcV2.AD_LockUser(rootAlias, rootPassword, adminUserAlias);
52
		return upc.AD_LockUser(rootAlias, rootPassword, adminUserAlias);
53 53
	}
54 54

  
55 55
	public int wsAD_SuspendUser(String rootAlias, String rootPassword,
56 56
			String adminUserAlias, String fromDate, int nMinutes) {
57 57

  
58
		return upcV2.AD_SuspendUser(rootAlias, rootPassword, adminUserAlias, fromDate, nMinutes);
58
		return upc.AD_SuspendUser(rootAlias, rootPassword, adminUserAlias, fromDate, nMinutes);
59 59
	}
60 60

  
61 61
	// /////////////////////////////////////////////////////////////////////////////
......
65 65
	public int wsUA_AddUser(String adminUserAlias, String adminUserPassword,
66 66
			String userAlias, String userDesc, String userPassword, int appId) {
67 67

  
68
		return upcV2.UA_AddUser(adminUserAlias, adminUserPassword, userAlias, userDesc, userPassword, appId);
68
		return upc.UA_AddUser(adminUserAlias, adminUserPassword, userAlias, userDesc, userPassword, appId);
69 69
	}
70 70

  
71 71
	public int wsUA_ModifyUser(String adminUserAlias, String adminUserPassword,
72 72
			String userAlias, String userDesc, String userPassword) {
73 73

  
74
		return upcV2.UA_ModifyUser(adminUserAlias, adminUserPassword, userAlias, userDesc, userPassword);
74
		return upc.UA_ModifyUser(adminUserAlias, adminUserPassword, userAlias, userDesc, userPassword);
75 75
	}
76 76

  
77 77
	public int wsUA_ActivateUser(String adminUserAlias, String adminUserPassword, String userAlias) {
78 78

  
79
		return upcV2.UA_ActivateUser(adminUserAlias, adminUserPassword, userAlias);
79
		return upc.UA_ActivateUser(adminUserAlias, adminUserPassword, userAlias);
80 80
	}
81 81

  
82 82
	public int wsUA_LockUser(String adminUserAlias, String adminUserPassword, String userAlias) {
83 83

  
84
		return upcV2.UA_LockUser(adminUserAlias, adminUserPassword, userAlias);
84
		return upc.UA_LockUser(adminUserAlias, adminUserPassword, userAlias);
85 85
	}
86 86

  
87 87
	public int wsUA_SuspendUser(String adminUserAlias, String adminUserPassword,
88 88
			String userAlias, String fromDate, int nMinutes) {
89 89

  
90
		return upcV2.UA_SuspendUser(adminUserAlias, adminUserPassword, userAlias, fromDate, nMinutes);
90
		return upc.UA_SuspendUser(adminUserAlias, adminUserPassword, userAlias, fromDate, nMinutes);
91 91
	}
92 92

  
93 93
	public int wsUA_IsUserExist(String userAlias) {
94 94

  
95
		return upcV2.UA_IsUserExist(userAlias);
95
		return upc.UA_IsUserExist(userAlias);
96 96
	}
97 97

  
98 98
	public int wsUA_GetUserType(String userAlias) {
99 99

  
100
		return upcV2.UA_GetUserType(userAlias);
100
		return upc.UA_GetUserType(userAlias);
101 101
	}
102 102

  
103 103
	public int wsUA_DeleteUser(String adminUserAlias, String adminUserPassword, String userAlias) {
104 104

  
105
		return upcV2.UA_DeleteUser(adminUserAlias, adminUserPassword, userAlias);
105
		return upc.UA_DeleteUser(adminUserAlias, adminUserPassword, userAlias);
106 106
	}
107 107

  
108 108
	// /////////////////////////////////////////////////////////////////////////////////////////
......
111 111

  
112 112
	public int wsSP_Login(String userAlias, String password) {
113 113

  
114
		return upcV2.SP_Login(userAlias, password);
114
		return upc.SP_Login(userAlias, password);
115 115
	}
116 116

  
117 117
	public int wsSP_VerifyStaticPassword(String userAlias, String password) {
118 118

  
119
		return upcV2.SP_VerifyStaticPassword(userAlias, password);
120
//		return upc.SP_VerifyStaticPassword(userAlias, password);
119
		return upc.SP_VerifyStaticPassword(userAlias, password);
121 120
	}
122 121

  
123 122
	public int wsSP_ChangeStaticPassword(String userAlias, String newPassword, String oldPassword) {
124 123

  
125
		return upcV2.SP_ChangeStaticPassword(userAlias, newPassword, oldPassword);
124
		return upc.SP_ChangeStaticPassword(userAlias, newPassword, oldPassword);
126 125
	}
127 126

  
128 127
	public int wsSP_ForceChangeStaticPassword(String userAlias, String newPassword, String oldPassword) {
129 128

  
130
		return upcV2.SP_ForceChangeStaticPassword(userAlias, newPassword, oldPassword);
129
		return upc.SP_ForceChangeStaticPassword(userAlias, newPassword, oldPassword);
131 130
	}
132 131

  
133 132
	public int wsSP_VerifyPasswordComplexity(String password, int appId) {
134 133

  
135
		return upcV2.VerifyPasswordComplexity(password, appId);
134
		return upc.VerifyPasswordComplexity(password, appId);
136 135
	}
137 136

  
138 137
	// /////////////////////////////////////////////////////////////////////////////////////////
......
141 140

  
142 141
	public String wsGenerateTAC(String userAlias, int appId) {
143 142

  
144
		return upcV2.GenerateTAC(userAlias, appId);
143
		return upc.GenerateTAC(userAlias, appId);
145 144
	}
146 145

  
147 146
	public String wsGenerateTACwithSessionID(String userAlias, String sessionID, int appId) {
148 147

  
149
		return upcV2.GenerateTAC(userAlias, sessionID, appId);
148
		return upc.GenerateTAC(userAlias, sessionID, appId);
150 149
	}
151 150

  
152 151
	public String wsGenerateTACwithSessionIDNonce(String userAlias, String sessionID, String nonce, int appId) {
153 152

  
154
		return upcV2.GenerateTAC(userAlias, sessionID, nonce, appId);
153
		return upc.GenerateTAC(userAlias, sessionID, nonce, appId);
155 154
	}
156 155

  
157 156
	public int wsVerifyTAC(String userAlias, String inTac, int appId) {
158 157

  
159
		return upcV2.VerifyTAC(userAlias, inTac, appId);
158
		return upc.VerifyTAC(userAlias, inTac, appId);
160 159
	}
161 160

  
162 161
	public int wsVerifyTACwithSessionID(String userAlias, String inTac, String sessionID, int appId) {
163 162

  
164
		return upcV2.VerifyTAC(userAlias, inTac, sessionID, appId);
163
		return upc.VerifyTAC(userAlias, inTac, sessionID, appId);
165 164
	}
166 165

  
167 166
	public int wsVerifyTACwithSessionIDNonce(String userAlias, String inTac, String sessionID, String nonce, int appId) {
168 167

  
169
		return upcV2.VerifyTAC(userAlias, inTac, sessionID, nonce, appId);
168
		return upc.VerifyTAC(userAlias, inTac, sessionID, nonce, appId);
170 169
	}
171 170

  
172 171
	public int wsResetTAC(String adminUserAlias, String adminUserPassword, String userAlias) {
173 172

  
174
		return upcV2.ResetTAC(adminUserAlias, adminUserPassword, userAlias);
173
		return upc.ResetTAC(adminUserAlias, adminUserPassword, userAlias);
175 174
	}
176 175

  
177 176
	public int wsDisableTAC(String adminUserAlias, String adminUserPassword, String userAlias) {
178 177

  
179
		return upcV2.DisableTAC(adminUserAlias, adminUserPassword, userAlias);
178
		return upc.DisableTAC(adminUserAlias, adminUserPassword, userAlias);
180 179
	}
181 180

  
182 181
	// /////////////////////////////////////////////////////////////////////////////////////////
......
185 184

  
186 185
	public int wsVerifyToken(String userAlias, String inPassword) {
187 186

  
188
		return upcV2.VerifyToken(userAlias, inPassword);
187
		return upc.VerifyToken(userAlias, inPassword);
189 188
	}
190 189

  
191 190
	public int wsResetToken(String adminUserAlias, String adminUserPassword, String userAlias) {
192 191

  
193
		return upcV2.ResetToken(adminUserAlias, adminUserPassword, userAlias);
192
		return upc.ResetToken(adminUserAlias, adminUserPassword, userAlias);
194 193
	}
195 194

  
196 195
	public int wsDeleteTokenFromStore(String adminUserAlias, String adminUserPassword, String serialNumber) {
197 196

  
198
		return upcV2.DeleteTokenFromStore(adminUserAlias, adminUserPassword, serialNumber);
197
		return upc.DeleteTokenFromStore(adminUserAlias, adminUserPassword, serialNumber);
199 198
	}
200 199

  
201 200
	public int wsAssignTokenToUser(String adminUserAlias, String adminUserPassword,
202 201
			String serialNumber, String userAlias) {
203 202

  
204
		return upcV2.AssignTokenToUser(adminUserAlias, adminUserPassword, serialNumber, userAlias);
203
		return upc.AssignTokenToUser(adminUserAlias, adminUserPassword, serialNumber, userAlias);
205 204
	}
206 205

  
207 206
	public int wsUnassignTokenFromUser(String adminUserAlias, String adminUserPassword, String userAlias) {
208 207

  
209
		return upcV2.UnassignTokenFromUser(adminUserAlias, adminUserPassword, userAlias);
208
		return upc.UnassignTokenFromUser(adminUserAlias, adminUserPassword, userAlias);
210 209
	}
211 210

  
212 211
	public int wsDisableToken(String adminUserAlias, String adminUserPassword, String userAlias) {
213 212

  
214
		return upcV2.DisableToken(adminUserAlias, adminUserPassword, userAlias);
213
		return upc.DisableToken(adminUserAlias, adminUserPassword, userAlias);
215 214
	}
216 215

  
217 216
	public int wsEnableToken(String adminUserAlias, String adminUserPassword, String userAlias) {
218 217

  
219
		return upcV2.EnableToken(adminUserAlias, adminUserPassword, userAlias);
218
		return upc.EnableToken(adminUserAlias, adminUserPassword, userAlias);
220 219
	}
221 220

  
222 221
	public String wsGetTokenVendor() {
223 222

  
224
		return upcV2.getTokenVendor();
223
		return upc.getTokenVendor();
225 224
	}
226 225

  
227 226
	public int wsCheckPasswordReused(String userAlias, String password) {
228 227

  
229
		return upcV2.UA_CheckPasswordReused(userAlias, password);
228
		return upc.UA_CheckPasswordReused(userAlias, password);
230 229
	}
231 230

  
232 231
	public int wsSynchronizeToken(String adminUserAlias, String adminUserPassword,
233 232
			String userAlias, String otp1, String otp2) {
234 233

  
235
		return upcV2.SynchronizeToken(adminUserAlias, adminUserPassword, userAlias, otp1, otp2);
234
		return upc.SynchronizeToken(adminUserAlias, adminUserPassword, userAlias, otp1, otp2);
236 235
	}
237 236

  
238 237
	// /////////////////////////////////////////////////////////////////////////////////////////
......
241 240

  
242 241
	public String wsGenerateSecurityCode(String referenceId) {
243 242

  
244
		return upcV2.GenerateSecurityCode(referenceId);
243
		return upc.GenerateSecurityCode(referenceId);
245 244
	}
246 245

  
247 246
	public int wsVerifySecurityCode(String referenceId, String securityCode) {
248 247

  
249
		return upcV2.VerifySecurityCode(referenceId, securityCode);
248
		return upc.VerifySecurityCode(referenceId, securityCode);
250 249
	}
251
	
252
	//TODO: 
253
	// 1- UA_GetUserData (things that would be in)
254
	// 2- QueryPassword (things that would be in)
255
	// 3- QueryTAC (things that would be in)
256
	// 4- DisableTAC (currently disabled inside the function)
257
	// 5- ResetTAC (need to look inside the Map loop, return before reach actual record)
258
	
259 250
}
test/java/net/penril/agro/ResetDB.java
1
package net.penril.agro;
2

  
3
import java.io.InputStream;
4
import java.sql.Connection;
5
import java.sql.Statement;
6

  
7
import my.com.upass.db.DBOperations;
8

  
9
import org.apache.commons.io.IOUtils;
10

  
11
public final class ResetDB {
12

  
13
	private static InputStream iStream = null;
14
	
15
	public ResetDB() {
16
		iStream = getClass().getClassLoader().getResourceAsStream("db-scripts/m2u-upass-ci-oracle.sql");
17
	}
18

  
19
	public static void main(String[] args) throws Exception{
20
		Connection conn = new DBOperations().getConnection();
21
		boolean oldAutoCommit = true;
22
		try {
23
			oldAutoCommit = conn.getAutoCommit();
24
			conn.setAutoCommit(false);
25
			Statement stmt = conn.createStatement();
26
			new ResetDB();
27
			String[] sqlStmts = IOUtils.toString(iStream).split(";\\s*\n");
28
			int i = 1;
29
			for (String sqlStmt : sqlStmts) {
30
				System.out.println("Executing query #"+i);
31
				if(sqlStmt.contains("DROP")){
32
					try {
33
						stmt.execute(sqlStmt);
34
					} catch (Exception e) {
35
						continue;
36
					}
37
				}else{
38
					stmt.execute(sqlStmt);
39
				}
40
				i++;
41
			}
42

  
43
			conn.commit();
44
			System.out.println("DB Reset Successfully!");
45

  
46
		} catch (Exception e) {
47
			e.printStackTrace();
48
			if (conn != null)
49
				conn.rollback();
50

  
51
		} finally {
52
			if (conn != null) {
53
				conn.setAutoCommit(oldAutoCommit);
54
				conn.close();
55
			}
56
		}
57
	}
58
}
test/java/net/penril/agro/UPassIT.java
1
/*
2
 * Copyright (c) 2011 Penril Datability (M) Sdn Bhd All rights reserved.
3
 *
4
 * This software is copyrighted. Under the copyright laws, this software
5
 * may not be copied, in whole or in part, without prior written consent
6
 * of Penril Datability (M) Sdn Bhd or its assignees. This software is
7
 * provided under the terms of a license between Penril Datability (M)
8
 * Sdn Bhd and the recipient, and its use is subject to the terms of that
9
 * license.
10
 */
11
package net.penril.agro;
12

  
13
import java.io.InputStream;
14
import java.sql.Connection;
15
import java.sql.ResultSet;
16
import java.sql.Statement;
17

  
18
import junit.framework.TestCase;
19
import my.com.upass.db.DBOperations;
20

  
21
import org.apache.commons.io.IOUtils;
22
import org.apache.log4j.Logger;
23
//import my.com.upass.SelfTestV2;
24

  
25
/*
26
 * <pre>
27
 * PROGRAMMER: Hadi Ahmadi	
28
 * CHANGE-NO:
29
 * TASK-NO:
30
 * DATE CREATED: Mar 6, 2012
31
 * TAG AS:
32
 * REASON(S):
33
 * MODIFICATION:
34
 * </pre>
35
 */
36

  
37
/**
38
 * An integration test (IT) case for Agrobank UPass Web Services.
39
 */
40

  
41
public class UPassIT extends TestCase {
42

  
43
	private final static Logger logger = Logger.getLogger(UPassIT.class);
44

  
45
	// private static final PrintStream DEFAULT_OUTPUT = System.out;
46
	// private static final InputStream DEFAULT_INPUT = System.in;
47
	//
48
	// private final TestableOutputStream testableOutput;
49
	// private final PipedInputStream pipedInput;
50
	// private final PrintStream inputMockup;
51
	//
52
	// //
53
	//
54
	// public UPassIT() throws IOException {
55
	// testableOutput = new TestableOutputStream(DEFAULT_OUTPUT);
56
	// PipedOutputStream pipedOutput = new PipedOutputStream();
57
	// pipedInput = new PipedInputStream(pipedOutput);
58
	// inputMockup = new InputMockUp(pipedOutput);
59
	// }
60

  
61
	@Override
62
	protected void setUp() throws Exception {
63
		super.setUp();
64
		// System.setOut(testableOutput);
65
		// System.setIn(pipedInput);
66
	}
67

  
68
	@Override
69
	protected void tearDown() throws Exception {
70
		// System.setOut(DEFAULT_OUTPUT);
71
		// System.setIn(DEFAULT_INPUT);
72
		super.tearDown();
73
	}
74

  
75
	public void testInitDb() throws Exception {
76
		Connection conn = new DBOperations().getConnection();
77
		boolean oldAutoCommit = true;
78
		try {
79
			oldAutoCommit = conn.getAutoCommit();
80
			conn.setAutoCommit(false);
81
			Statement stmt = conn.createStatement();
82
			InputStream iStream = getClass().getClassLoader().getResourceAsStream(//
83
					"db-scripts/agro-ci-db.upass.script.w-data.sql");
84
			String[] sqlStmts = IOUtils.toString(iStream).split("\\s*GO\\s*\n");
85
			for (String sqlStmt : sqlStmts) {
86
				stmt.execute(sqlStmt);
87
			}
88
			ResultSet rs = stmt.executeQuery("select count(U_USER_ID) from TB_AM_USER");
89
			int userCount = -1;
90
			if (rs.next())
91
				userCount = rs.getInt(1);
92
			assertEquals(584, userCount);
93

  
94
			conn.commit();
95

  
96
		} catch (Exception e) {
97
			e.printStackTrace();
98
			if (conn != null)
99
				conn.rollback();
100
			fail(e.toString());
101

  
102
		} finally {
103
			if (conn != null) {
104
				conn.setAutoCommit(oldAutoCommit);
105
				conn.close();
106
			}
107
		}
108
	}
109

  
110
	// public void testSelfTestV2() throws IOException {
111
	// Thread testThread = new Thread("SelfTestV2 Dedicated Thread") {
112
	// @Override
113
	// public void run() {
114
	// SelfTestV2.main(null);
115
	// }
116
	// };
117
	// testThread.setDaemon(true);
118
	// testThread.start();
119
	//
120
	// String outStr = waitForPrompt("%");
121
	// String actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
122
	// String expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [01] : ";
123
	// assertEquals(expectedPrompt, actualPrompt);
124
	//
125
	// testableOutput.readableStream.reset();
126
	// inputMockup.println("84");
127
	// outStr = waitForPrompt(":");
128
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
129
	// expectedPrompt = "Enter User ID : ";
130
	// assertEquals(expectedPrompt, actualPrompt);
131
	//
132
	// testableOutput.readableStream.reset();
133
	// inputMockup.println("test-user-0");
134
	// outStr = waitForPrompt(":");
135
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
136
	// assertTrue(outStr.contains("RC=0 RT=ERR_SUCCESS SerailNo=1497524840"));
137
	//
138
	// outStr = waitForPrompt("%");
139
	// actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
140
	// expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [84] : ";
141
	// assertEquals(expectedPrompt, actualPrompt);
142
	//
143
	// testableOutput.readableStream.reset();
144
	// inputMockup.println("74");
145
	// outStr = waitForPrompt(":");
146
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
147
	// expectedPrompt = "Enter User ID [test-user-0] : ";
148
	// assertEquals(expectedPrompt, actualPrompt);
149
	//
150
	// testableOutput.readableStream.reset();
151
	// inputMockup.println();
152
	// outStr = waitForPrompt(":");
153
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
154
	// assertTrue(outStr.contains("RC=0 RT=ERR_SUCCESS"));
155
	//
156
	// outStr = waitForPrompt("%");
157
	// actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
158
	// expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [74] : ";
159
	// assertEquals(expectedPrompt, actualPrompt);
160
	//
161
	// testableOutput.readableStream.reset();
162
	// inputMockup.println("17");
163
	// outStr = waitForPrompt(":");
164
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
165
	// expectedPrompt = "Enter User ID [test-user-0] : ";
166
	// assertEquals(expectedPrompt, actualPrompt);
167
	//
168
	// testableOutput.readableStream.reset();
169
	// inputMockup.println();
170
	// outStr = waitForPrompt(":");
171
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
172
	// assertTrue(outStr.contains("test-user-0 RC=0 RT=ERR_SUCCESS Type=2 Desc=[Test User]" //
173
	// + "\n State=0 UseCount=0" //
174
	// + "\n DateCreated"));
175
	//
176
	// outStr = waitForPrompt("%");
177
	// actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
178
	// expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [17] : ";
179
	// assertEquals(expectedPrompt, actualPrompt);
180
	//
181
	// testableOutput.readableStream.reset();
182
	// inputMockup.println("64");
183
	// outStr = waitForPrompt(":");
184
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
185
	// expectedPrompt = "Enter User ID [test-user-0] : ";
186
	// assertEquals(expectedPrompt, actualPrompt);
187
	//
188
	// testableOutput.readableStream.reset();
189
	// inputMockup.println();
190
	// outStr = waitForPrompt(":");
191
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
192
	// assertTrue(outStr.contains("test-user-0 RC=0 RT=ERR_SUCCESS State=0 ExpiryStatus=0 "
193
	// + "UseCount=0 ErrorCount=0"));
194
	// }
195
	//
196
	// private String waitForPrompt(String promptIndicator) throws IOException {
197
	// String outStr;
198
	// do {
199
	// try {
200
	// Thread.sleep(1000);
201
	//
202
	// } catch (InterruptedException e) {
203
	// e.printStackTrace();
204
	// }
205
	// testableOutput.readableStream.flush();
206
	// outStr = testableOutput.readableStream.toString();
207
	//
208
	// } while (!outStr.contains(promptIndicator));
209
	//
210
	// return outStr;
211
	// }
212
	//
213
	// private final class TestableOutputStream extends PrintStream {
214
	//
215
	// private final ByteArrayOutputStream readableStream;
216
	//
217
	// private TestableOutputStream(OutputStream out) {
218
	// this(out, new ByteArrayOutputStream(1000));
219
	// }
220
	//
221
	// private TestableOutputStream(OutputStream out, ByteArrayOutputStream readableStream) {
222
	// super(out);
223
	// this.readableStream = readableStream;
224
	// }
225
	//
226
	// @Override
227
	// public void write(byte[] b, int off, int len) {
228
	// readableStream.write(b, off, len);
229
	// super.write(b, off, len);
230
	// }
231
	// }
232
	//
233
	// private final class InputMockUp extends PrintStream {
234
	//
235
	// private InputMockUp(OutputStream out) {
236
	// super(out);
237
	// }
238
	//
239
	// @Override
240
	// public void write(byte[] b, int off, int len) {
241
	// DEFAULT_OUTPUT.write(b, off, len);
242
	// super.write(b, off, len);
243
	// }
244
	// }
245
}
test/java/net/penril/upass/UPassIT.java
1
/*
2
 * Copyright (c) 2011 Penril Datability (M) Sdn Bhd All rights reserved.
3
 *
4
 * This software is copyrighted. Under the copyright laws, this software
5
 * may not be copied, in whole or in part, without prior written consent
6
 * of Penril Datability (M) Sdn Bhd or its assignees. This software is
7
 * provided under the terms of a license between Penril Datability (M)
8
 * Sdn Bhd and the recipient, and its use is subject to the terms of that
9
 * license.
10
 */
11
package net.penril.upass;
12

  
13
import java.io.InputStream;
14
import java.sql.Connection;
15
import java.sql.ResultSet;
16
import java.sql.Statement;
17

  
18
import junit.framework.TestCase;
19
import my.com.upass.db.DBOperations;
20

  
21
import org.apache.commons.io.IOUtils;
22
import org.apache.log4j.Logger;
23
//import my.com.upass.SelfTestV2;
24

  
25
/*
26
 * <pre>
27
 * PROGRAMMER: Hadi Ahmadi	
28
 * CHANGE-NO:
29
 * TASK-NO:
30
 * DATE CREATED: Mar 6, 2012
31
 * TAG AS:
32
 * REASON(S):
33
 * MODIFICATION:
34
 * </pre>
35
 */
36

  
37
/**
38
 * An integration test (IT) case for Agrobank UPass Web Services.
39
 */
40

  
41
public class UPassIT extends TestCase {
42

  
43
	private final static Logger logger = Logger.getLogger(UPassIT.class);
44

  
45
	// private static final PrintStream DEFAULT_OUTPUT = System.out;
46
	// private static final InputStream DEFAULT_INPUT = System.in;
47
	//
48
	// private final TestableOutputStream testableOutput;
49
	// private final PipedInputStream pipedInput;
50
	// private final PrintStream inputMockup;
51
	//
52
	// //
53
	//
54
	// public UPassIT() throws IOException {
55
	// testableOutput = new TestableOutputStream(DEFAULT_OUTPUT);
56
	// PipedOutputStream pipedOutput = new PipedOutputStream();
57
	// pipedInput = new PipedInputStream(pipedOutput);
58
	// inputMockup = new InputMockUp(pipedOutput);
59
	// }
60

  
61
	@Override
62
	protected void setUp() throws Exception {
63
		super.setUp();
64
		// System.setOut(testableOutput);
65
		// System.setIn(pipedInput);
66
	}
67

  
68
	@Override
69
	protected void tearDown() throws Exception {
70
		// System.setOut(DEFAULT_OUTPUT);
71
		// System.setIn(DEFAULT_INPUT);
72
		super.tearDown();
73
	}
74

  
75
	public void testInitDb() throws Exception {
76
		Connection conn = new DBOperations().getConnection();
77
		boolean oldAutoCommit = true;
78
		try {
79
			oldAutoCommit = conn.getAutoCommit();
80
			conn.setAutoCommit(false);
81
			Statement stmt = conn.createStatement();
82
			InputStream iStream = getClass().getClassLoader().getResourceAsStream(//
83
					//"db-scripts/agro-ci-db.upass.script.w-data.sql");
84
					"db-scripts/m2u-upass-ci-oracle.sql");
85
			
86
			String[] sqlStmts = IOUtils.toString(iStream).split(";\\s*\n");
87
			//String[] sqlStmts = IOUtils.toString(iStream).split("\\s*GO\\s*\n");
88
			for (String sqlStmt : sqlStmts) {
89
				if(sqlStmt.contains("DROP")){
90
					try {
91
						stmt.execute(sqlStmt);
92
					} catch (Exception e) {
93
						continue;
94
					}
95
				}else{
96
					stmt.execute(sqlStmt);
97
				}
98
			}
99
			ResultSet rs = stmt.executeQuery("select count(U_USER_ID) from TB_AM_USER");
100
			int userCount = -1;
101
			if (rs.next())
102
				userCount = rs.getInt(1);
103
			assertEquals(584, userCount);
104

  
105
			conn.commit();
106

  
107
		} catch (Exception e) {
108
			e.printStackTrace();
109
			if (conn != null)
110
				conn.rollback();
111
			fail(e.toString());
112

  
113
		} finally {
114
			if (conn != null) {
115
				conn.setAutoCommit(oldAutoCommit);
116
				conn.close();
117
			}
118
		}
119
	}
120

  
121
	// public void testSelfTestV2() throws IOException {
122
	// Thread testThread = new Thread("SelfTestV2 Dedicated Thread") {
123
	// @Override
124
	// public void run() {
125
	// SelfTestV2.main(null);
126
	// }
127
	// };
128
	// testThread.setDaemon(true);
129
	// testThread.start();
130
	//
131
	// String outStr = waitForPrompt("%");
132
	// String actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
133
	// String expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [01] : ";
134
	// assertEquals(expectedPrompt, actualPrompt);
135
	//
136
	// testableOutput.readableStream.reset();
137
	// inputMockup.println("84");
138
	// outStr = waitForPrompt(":");
139
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
140
	// expectedPrompt = "Enter User ID : ";
141
	// assertEquals(expectedPrompt, actualPrompt);
142
	//
143
	// testableOutput.readableStream.reset();
144
	// inputMockup.println("test-user-0");
145
	// outStr = waitForPrompt(":");
146
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
147
	// assertTrue(outStr.contains("RC=0 RT=ERR_SUCCESS SerailNo=1497524840"));
148
	//
149
	// outStr = waitForPrompt("%");
150
	// actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
151
	// expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [84] : ";
152
	// assertEquals(expectedPrompt, actualPrompt);
153
	//
154
	// testableOutput.readableStream.reset();
155
	// inputMockup.println("74");
156
	// outStr = waitForPrompt(":");
157
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
158
	// expectedPrompt = "Enter User ID [test-user-0] : ";
159
	// assertEquals(expectedPrompt, actualPrompt);
160
	//
161
	// testableOutput.readableStream.reset();
162
	// inputMockup.println();
163
	// outStr = waitForPrompt(":");
164
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
165
	// assertTrue(outStr.contains("RC=0 RT=ERR_SUCCESS"));
166
	//
167
	// outStr = waitForPrompt("%");
168
	// actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
169
	// expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [74] : ";
170
	// assertEquals(expectedPrompt, actualPrompt);
171
	//
172
	// testableOutput.readableStream.reset();
173
	// inputMockup.println("17");
174
	// outStr = waitForPrompt(":");
175
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
176
	// expectedPrompt = "Enter User ID [test-user-0] : ";
177
	// assertEquals(expectedPrompt, actualPrompt);
178
	//
179
	// testableOutput.readableStream.reset();
180
	// inputMockup.println();
181
	// outStr = waitForPrompt(":");
182
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
183
	// assertTrue(outStr.contains("test-user-0 RC=0 RT=ERR_SUCCESS Type=2 Desc=[Test User]" //
184
	// + "\n State=0 UseCount=0" //
185
	// + "\n DateCreated"));
186
	//
187
	// outStr = waitForPrompt("%");
188
	// actualPrompt = outStr.substring(outStr.lastIndexOf('%'));
189
	// expectedPrompt = "% Enter Option? | \"99\"-exit | \"e\"-ChkErr | \"s\"-SetSessID | \"m\"-Menu [17] : ";
190
	// assertEquals(expectedPrompt, actualPrompt);
191
	//
192
	// testableOutput.readableStream.reset();
193
	// inputMockup.println("64");
194
	// outStr = waitForPrompt(":");
195
	// actualPrompt = outStr.substring(outStr.lastIndexOf('\n') + 1);
196
	// expectedPrompt = "Enter User ID [test-user-0] : ";
197
	// assertEquals(expectedPrompt, actualPrompt);
198
	//
199
	// testableOutput.readableStream.reset();
200
	// inputMockup.println();
201
	// outStr = waitForPrompt(":");
202
	// // assertTrue(outStr.contains("RC=6 RT=ERR_USERALIAS_NOT_FOUND"));
203
	// assertTrue(outStr.contains("test-user-0 RC=0 RT=ERR_SUCCESS State=0 ExpiryStatus=0 "
204
	// + "UseCount=0 ErrorCount=0"));
205
	// }
206
	//
207
	// private String waitForPrompt(String promptIndicator) throws IOException {
208
	// String outStr;
209
	// do {
210
	// try {
211
	// Thread.sleep(1000);
212
	//
213
	// } catch (InterruptedException e) {
214
	// e.printStackTrace();
215
	// }
216
	// testableOutput.readableStream.flush();
217
	// outStr = testableOutput.readableStream.toString();
218
	//
219
	// } while (!outStr.contains(promptIndicator));
220
	//
221
	// return outStr;
222
	// }
223
	//
224
	// private final class TestableOutputStream extends PrintStream {
225
	//
226
	// private final ByteArrayOutputStream readableStream;
227
	//
228
	// private TestableOutputStream(OutputStream out) {
229
	// this(out, new ByteArrayOutputStream(1000));
230
	// }
231
	//
232
	// private TestableOutputStream(OutputStream out, ByteArrayOutputStream readableStream) {
233
	// super(out);
234
	// this.readableStream = readableStream;
235
	// }
236
	//
237
	// @Override
238
	// public void write(byte[] b, int off, int len) {
239
	// readableStream.write(b, off, len);
240
	// super.write(b, off, len);
241
	// }
242
	// }
243
	//
244
	// private final class InputMockUp extends PrintStream {
245
	//
246
	// private InputMockUp(OutputStream out) {
247
	// super(out);
248
	// }
249
	//
250
	// @Override
251
	// public void write(byte[] b, int off, int len) {
252
	// DEFAULT_OUTPUT.write(b, off, len);
253
	// super.write(b, off, len);
254
	// }
255
	// }
256
}
test/jmeter/UPass-test-plan.jmx
36 36
        </collectionProp>
37 37
      </Arguments>
38 38
      <hashTree/>
39
      <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group #1" enabled="true">
39
      <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
40 40
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
41 41
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
42 42
          <boolProp name="LoopController.continue_forever">false</boolProp>
43 43
          <stringProp name="LoopController.loops">10</stringProp>
44 44
        </elementProp>
45
        <stringProp name="ThreadGroup.num_threads">20</stringProp>
46
        <stringProp name="ThreadGroup.ramp_time">15</stringProp>
45
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
46
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
47 47
        <longProp name="ThreadGroup.start_time">1372670250000</longProp>
48 48
        <longProp name="ThreadGroup.end_time">1372670250000</longProp>
49 49
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
......
55 55
          <stringProp name="CounterConfig.start">2</stringProp>
56 56
          <stringProp name="CounterConfig.end"></stringProp>
57 57
          <stringProp name="CounterConfig.incr">1</stringProp>
58
          <stringProp name="CounterConfig.name">i1</stringProp>
58
          <stringProp name="CounterConfig.name">i</stringProp>
59 59
          <stringProp name="CounterConfig.format"></stringProp>
60 60
          <boolProp name="CounterConfig.per_user">false</boolProp>
61 61
        </CounterConfig>
62 62
        <hashTree/>
63
        <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="SOAP Request - wsUA_AddUser" enabled="true">
63
        <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="SOAP/XML-RPC Request" enabled="true">
64 64
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
65 65
            <collectionProp name="Arguments.arguments"/>
66 66
          </elementProp>
67
          <stringProp name="SoapSampler.URL_DATA">http://localhost:9090/m2u-upass-ws/services/WS_UPass</stringProp>
67
          <stringProp name="SoapSampler.URL_DATA">http://localhost:9090/agro-upass-ws/services/WS_UPass</stringProp>
68 68
          <stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:upas=&quot;http://upass.ws.my&quot;&gt;
69 69
   &lt;soapenv:Header/&gt;
70 70
   &lt;soapenv:Body&gt;
71 71
      &lt;upas:wsUA_AddUser&gt;
72 72
         &lt;upas:adminUserAlias&gt;${invokerUsername}&lt;/upas:adminUserAlias&gt;
73 73
         &lt;upas:adminUserPassword&gt;${invokerPassword}&lt;/upas:adminUserPassword&gt;
74
         &lt;upas:userAlias&gt;test-user-${i1}&lt;/upas:userAlias&gt;
75
         &lt;upas:userDesc&gt;Test User ${i1}&lt;/upas:userDesc&gt;
74
         &lt;upas:userAlias&gt;test-user-${i}&lt;/upas:userAlias&gt;
75
         &lt;upas:userDesc&gt;Test User ${i}&lt;/upas:userDesc&gt;
76 76
         &lt;upas:userPassword&gt;Passw0rd&lt;/upas:userPassword&gt;
77 77
         &lt;upas:appId&gt;2&lt;/upas:appId&gt;
78 78
      &lt;/upas:wsUA_AddUser&gt;
......
129 129
              <encoding>false</encoding>
130 130
              <assertions>true</assertions>
131 131
              <subresults>true</subresults>
132
              <responseData>true</responseData>
133
              <samplerData>true</samplerData>
134
              <xml>true</xml>
132
              <responseData>false</responseData>
133
              <samplerData>false</samplerData>
134
              <xml>false</xml>
135 135
              <fieldNames>false</fieldNames>
136
              <responseHeaders>true</responseHeaders>
137
              <requestHeaders>true</requestHeaders>
136
              <responseHeaders>false</responseHeaders>
137
              <requestHeaders>false</requestHeaders>
138 138
              <responseDataOnError>false</responseDataOnError>
139
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
139
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
140 140
              <assertionsResultsToSave>0</assertionsResultsToSave>
141 141
              <bytes>true</bytes>
142
              <threadCounts>true</threadCounts>
143 142
            </value>
144 143
          </objProp>
145 144
          <stringProp name="filename"></stringProp>
......
177 176
          <stringProp name="filename"></stringProp>
178 177
        </ResultCollector>
179 178
        <hashTree/>
180
        <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
181
          <boolProp name="ResultCollector.error_logging">false</boolProp>
182
          <objProp>
183
            <name>saveConfig</name>
184
            <value class="SampleSaveConfiguration">
185
              <time>true</time>
186
              <latency>true</latency>
187
              <timestamp>true</timestamp>
188
              <success>true</success>
189
              <label>true</label>
190
              <code>true</code>
191
              <message>true</message>
192
              <threadName>true</threadName>
193
              <dataType>true</dataType>
194
              <encoding>false</encoding>
195
              <assertions>true</assertions>
196
              <subresults>true</subresults>
197
              <responseData>false</responseData>
198
              <samplerData>false</samplerData>
199
              <xml>false</xml>
200
              <fieldNames>false</fieldNames>
201
              <responseHeaders>false</responseHeaders>
202
              <requestHeaders>false</requestHeaders>
203
              <responseDataOnError>false</responseDataOnError>
204
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
205
              <assertionsResultsToSave>0</assertionsResultsToSave>
206
              <bytes>true</bytes>
207
            </value>
208
          </objProp>
209
          <stringProp name="filename"></stringProp>
210
        </ResultCollector>
211
        <hashTree/>
212
        <ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Graph Results" enabled="true">
213
          <boolProp name="ResultCollector.error_logging">false</boolProp>
214
          <objProp>
215
            <name>saveConfig</name>
216
            <value class="SampleSaveConfiguration">
217
              <time>true</time>
218
              <latency>true</latency>
219
              <timestamp>true</timestamp>
220
              <success>true</success>
221
              <label>true</label>
222
              <code>true</code>
223
              <message>true</message>
224
              <threadName>true</threadName>
225
              <dataType>true</dataType>
226
              <encoding>false</encoding>
227
              <assertions>true</assertions>
228
              <subresults>true</subresults>
229
              <responseData>false</responseData>
230
              <samplerData>false</samplerData>
231
              <xml>false</xml>
232
              <fieldNames>false</fieldNames>
233
              <responseHeaders>false</responseHeaders>
234
              <requestHeaders>false</requestHeaders>
235
              <responseDataOnError>false</responseDataOnError>
236
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
237
              <assertionsResultsToSave>0</assertionsResultsToSave>
238
              <bytes>true</bytes>
239
            </value>
240
          </objProp>
241
          <stringProp name="filename"></stringProp>
242
        </ResultCollector>
243
        <hashTree/>
244
        <ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Responses to a file" enabled="true">
245
          <stringProp name="FileSaver.filename">target/jmeter/responses/add/</stringProp>
246
          <boolProp name="FileSaver.errorsonly">false</boolProp>
247
          <boolProp name="FileSaver.skipautonumber">false</boolProp>
248
          <boolProp name="FileSaver.skipsuffix">false</boolProp>
249
          <boolProp name="FileSaver.successonly">false</boolProp>
250
          <boolProp name="FileSaver.addTimstamp">true</boolProp>
251
          <stringProp name="FileSaver.numberPadLen">4</stringProp>
252
        </ResultSaver>
253
        <hashTree/>
254 179
      </hashTree>
255
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group #1" enabled="true">
180
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
256 181
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
257 182
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
258 183
          <boolProp name="LoopController.continue_forever">false</boolProp>
259
          <stringProp name="LoopController.loops">10</stringProp>
184
          <stringProp name="LoopController.loops">6</stringProp>
260 185
        </elementProp>
261
        <stringProp name="ThreadGroup.num_threads">20</stringProp>
186
        <stringProp name="ThreadGroup.num_threads">300</stringProp>
262 187
        <stringProp name="ThreadGroup.ramp_time">10</stringProp>
263 188
        <longProp name="ThreadGroup.start_time">1372670918000</longProp>
264 189
        <longProp name="ThreadGroup.end_time">1372670918000</longProp>
......
269 194
      <hashTree>
270 195
        <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
271 196
          <stringProp name="CounterConfig.start">2</stringProp>
272
          <stringProp name="CounterConfig.end">200</stringProp>
197
          <stringProp name="CounterConfig.end">10</stringProp>
273 198
          <stringProp name="CounterConfig.incr">1</stringProp>
274
          <stringProp name="CounterConfig.name">j1</stringProp>
199
          <stringProp name="CounterConfig.name">j</stringProp>
275 200
          <stringProp name="CounterConfig.format"></stringProp>
276 201
          <boolProp name="CounterConfig.per_user">false</boolProp>
277 202
        </CounterConfig>
278 203
        <hashTree/>
279
        <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="SOAP Request - wsSP_VerifyStaticPassword" enabled="true">
204
        <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="SOAP/XML-RPC Request" enabled="true">
280 205
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
281 206
            <collectionProp name="Arguments.arguments"/>
282 207
          </elementProp>
283
          <stringProp name="SoapSampler.URL_DATA">http://localhost:9090/m2u-upass-ws/services/WS_UPass</stringProp>
208
          <stringProp name="SoapSampler.URL_DATA">http://localhost:9090/agro-upass-ws/services/WS_UPass</stringProp>
284 209
          <stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:upas=&quot;http://upass.ws.my&quot;&gt;
285 210
   &lt;soapenv:Header/&gt;
286 211
   &lt;soapenv:Body&gt;
287 212
      &lt;upas:wsSP_VerifyStaticPassword&gt;
288
         &lt;upas:userAlias&gt;test-user-${j1}&lt;/upas:userAlias&gt;
213
         &lt;upas:userAlias&gt;test-user-${j}&lt;/upas:userAlias&gt;
289 214
         &lt;upas:password&gt;Passw0rd&lt;/upas:password&gt;
290 215
      &lt;/upas:wsSP_VerifyStaticPassword&gt;
291 216
   &lt;/soapenv:Body&gt;
......
333 258
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
334 259
              <assertionsResultsToSave>0</assertionsResultsToSave>
335 260
              <bytes>true</bytes>
336
              <threadCounts>true</threadCounts>
337 261
            </value>
338 262
          </objProp>
339 263
          <stringProp name="filename"></stringProp>
......
436 360
        </ResultCollector>
437 361
        <hashTree/>
438 362
        <ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Responses to a file" enabled="true">
439
          <stringProp name="FileSaver.filename">target/jmeter/responses/auth/</stringProp>
440
          <boolProp name="FileSaver.errorsonly">false</boolProp>
441
          <boolProp name="FileSaver.skipautonumber">false</boolProp>
442
          <boolProp name="FileSaver.skipsuffix">false</boolProp>
443
          <boolProp name="FileSaver.successonly">false</boolProp>
444
          <boolProp name="FileSaver.addTimstamp">true</boolProp>
445
          <stringProp name="FileSaver.numberPadLen">4</stringProp>
446
        </ResultSaver>
447
        <hashTree/>
448
      </hashTree>
449
      <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group #2" enabled="true">
450
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
451
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
452
          <boolProp name="LoopController.continue_forever">false</boolProp>
453
          <stringProp name="LoopController.loops">30</stringProp>
454
        </elementProp>
455
        <stringProp name="ThreadGroup.num_threads">200</stringProp>
456
        <stringProp name="ThreadGroup.ramp_time">30</stringProp>
457
        <longProp name="ThreadGroup.start_time">1372670250000</longProp>
458
        <longProp name="ThreadGroup.end_time">1372670250000</longProp>
459
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
460
        <stringProp name="ThreadGroup.duration"></stringProp>
461
        <stringProp name="ThreadGroup.delay"></stringProp>
462
      </SetupThreadGroup>
463
      <hashTree>
464
        <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter (setUp)" enabled="true">
465
          <stringProp name="CounterConfig.start">201</stringProp>
466
          <stringProp name="CounterConfig.end">6000</stringProp>
467
          <stringProp name="CounterConfig.incr">1</stringProp>
468
          <stringProp name="CounterConfig.name">i2</stringProp>
469
          <stringProp name="CounterConfig.format"></stringProp>
470
          <boolProp name="CounterConfig.per_user">false</boolProp>
471
        </CounterConfig>
472
        <hashTree/>
473
        <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="SOAP Request - wsUA_AddUser" enabled="true">
474
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
475
            <collectionProp name="Arguments.arguments"/>
476
          </elementProp>
477
          <stringProp name="SoapSampler.URL_DATA">http://localhost:9090/m2u-upass-ws/services/WS_UPass</stringProp>
478
          <stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:upas=&quot;http://upass.ws.my&quot;&gt;
479
   &lt;soapenv:Header/&gt;
480
   &lt;soapenv:Body&gt;
481
      &lt;upas:wsUA_AddUser&gt;
482
         &lt;upas:adminUserAlias&gt;${invokerUsername}&lt;/upas:adminUserAlias&gt;
483
         &lt;upas:adminUserPassword&gt;${invokerPassword}&lt;/upas:adminUserPassword&gt;
484
         &lt;upas:userAlias&gt;test-user-${i2}&lt;/upas:userAlias&gt;
485
         &lt;upas:userDesc&gt;Test User ${i2}&lt;/upas:userDesc&gt;
486
         &lt;upas:userPassword&gt;Passw0rd&lt;/upas:userPassword&gt;
487
         &lt;upas:appId&gt;2&lt;/upas:appId&gt;
488
      &lt;/upas:wsUA_AddUser&gt;
489
   &lt;/soapenv:Body&gt;
490
&lt;/soapenv:Envelope&gt;</stringProp>
491
          <stringProp name="SoapSampler.xml_data_file"></stringProp>
492
          <stringProp name="SoapSampler.SOAP_ACTION"></stringProp>
493
          <stringProp name="SoapSampler.SEND_SOAP_ACTION">true</stringProp>
494
          <boolProp name="HTTPSampler.use_keepalive">false</boolProp>
495
        </SoapSampler>
496
        <hashTree>
497
          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor" enabled="false">
498
            <stringProp name="XPathExtractor.default"></stringProp>
499
            <stringProp name="XPathExtractor.refname">retVal</stringProp>
500
            <stringProp name="XPathExtractor.xpathQuery">/Envelope/Body/wsUA_AddUserResponse/wsUA_AddUserReturn</stringProp>
501
            <boolProp name="XPathExtractor.validate">true</boolProp>
502
            <boolProp name="XPathExtractor.tolerant">false</boolProp>
503
            <boolProp name="XPathExtractor.namespace">false</boolProp>
504
          </XPathExtractor>
505
          <hashTree/>
506
          <BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="BeanShell Assertion" enabled="false">
507
            <stringProp name="BeanShellAssertion.query">retStr = vars.get(&quot;retVal&quot;);
508
retInt = Integer.valueOf( retStr );
509
Failure = (retInt != 0)</stringProp>
510
            <stringProp name="BeanShellAssertion.filename"></stringProp>
511
            <stringProp name="BeanShellAssertion.parameters"></stringProp>
512
            <boolProp name="BeanShellAssertion.resetInterpreter">false</boolProp>
513
          </BeanShellAssertion>
514
          <hashTree/>
515
          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
516
            <boolProp name="XPath.negate">false</boolProp>
517
            <stringProp name="XPath.xpath">/Envelope/Body/wsUA_AddUserResponse/wsUA_AddUserReturn = 0</stringProp>
518
            <boolProp name="XPath.validate">false</boolProp>
519
            <boolProp name="XPath.whitespace">false</boolProp>
520
            <boolProp name="XPath.tolerant">false</boolProp>
521
            <boolProp name="XPath.namespace">false</boolProp>
522
          </XPathAssertion>
523
          <hashTree/>
524
        </hashTree>
525
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree (setUp)" enabled="true">
526
          <boolProp name="ResultCollector.error_logging">false</boolProp>
527
          <objProp>
528
            <name>saveConfig</name>
529
            <value class="SampleSaveConfiguration">
530
              <time>true</time>
531
              <latency>true</latency>
532
              <timestamp>true</timestamp>
533
              <success>true</success>
534
              <label>true</label>
535
              <code>true</code>
536
              <message>true</message>
537
              <threadName>true</threadName>
538
              <dataType>true</dataType>
539
              <encoding>false</encoding>
540
              <assertions>true</assertions>
541
              <subresults>true</subresults>
542
              <responseData>true</responseData>
543
              <samplerData>true</samplerData>
544
              <xml>true</xml>
545
              <fieldNames>false</fieldNames>
546
              <responseHeaders>true</responseHeaders>
547
              <requestHeaders>true</requestHeaders>
548
              <responseDataOnError>false</responseDataOnError>
549
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
550
              <assertionsResultsToSave>0</assertionsResultsToSave>
551
              <bytes>true</bytes>
552
              <threadCounts>true</threadCounts>
553
            </value>
554
          </objProp>
555
          <stringProp name="filename"></stringProp>
556
        </ResultCollector>
557
        <hashTree/>
558
        <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table (setUp)" enabled="true">
559
          <boolProp name="ResultCollector.error_logging">false</boolProp>
560
          <objProp>
561
            <name>saveConfig</name>
562
            <value class="SampleSaveConfiguration">
563
              <time>true</time>
564
              <latency>true</latency>
565
              <timestamp>true</timestamp>
566
              <success>true</success>
567
              <label>true</label>
568
              <code>true</code>
569
              <message>true</message>
570
              <threadName>true</threadName>
571
              <dataType>true</dataType>
572
              <encoding>false</encoding>
573
              <assertions>true</assertions>
574
              <subresults>true</subresults>
575
              <responseData>false</responseData>
576
              <samplerData>false</samplerData>
577
              <xml>false</xml>
578
              <fieldNames>false</fieldNames>
579
              <responseHeaders>false</responseHeaders>
580
              <requestHeaders>false</requestHeaders>
581
              <responseDataOnError>false</responseDataOnError>
582
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
583
              <assertionsResultsToSave>0</assertionsResultsToSave>
584
              <bytes>true</bytes>
585
            </value>
586
          </objProp>
587
          <stringProp name="filename"></stringProp>
588
        </ResultCollector>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff