You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2001/02/07 07:41:33 UTC
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/test GTest.java HttpClient.java
costin 01/02/06 22:41:33
Modified: src/share/org/apache/tomcat/util/test GTest.java
HttpClient.java
Log:
Allow multiple tests (matchers ) per request.
Revision Changes Path
1.9 +58 -23 jakarta-tomcat/src/share/org/apache/tomcat/util/test/GTest.java
Index: GTest.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/test/GTest.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- GTest.java 2001/01/31 02:02:39 1.8
+++ GTest.java 2001/02/07 06:41:33 1.9
@@ -86,8 +86,10 @@
// Instance variables
HttpClient httpClient=new HttpClient();
- DefaultMatcher matcher=new DefaultMatcher();
+ Vector matchers=new Vector();
+ //DefaultMatcher matcher=new DefaultMatcher();
Body comment=null;
+ String failMessage="";
String description="No description";
@@ -98,7 +100,7 @@
boolean result=false;
public GTest() {
- matcher.setDebug( debug );
+ //matcher.setDebug( debug );
httpClient.setDebug( debug );
}
@@ -183,7 +185,8 @@
}
public void addDefaultMatcher( DefaultMatcher m ) {
- matcher=m;
+ matchers.addElement( m );
+ // matcher=m;
}
public Body createComment() {
@@ -196,9 +199,9 @@
return httpClient;
}
- public DefaultMatcher getMatcher() {
- return matcher;
- }
+// public DefaultMatcher getMatcher() {
+// return matcher;
+// }
public String getComment() {
if(comment==null) return "";
@@ -209,18 +212,33 @@
/** Description should be in <test description=""/>
*/
public String getDescription() {
+ if( comment!=null) return comment.getText();
return description;
}
public void setDescription(String description) {
this.description=description;
}
+
+ public String getMatchDescription() {
+ StringBuffer sb=new StringBuffer();
+ for( int i=0; i<matchers.size(); i++ ) {
+ DefaultMatcher m=(DefaultMatcher)matchers.elementAt( i );
+ if( i!=0 ) sb.append( " && " );
+ sb.append( m.getTestDescription());
+ }
+ return sb.toString();
+ }
+
+ public String getFailureMessage() {
+ return failMessage;
+ }
/** Display debug info
*/
public void setDebug( String debugS ) {
debug=Integer.valueOf( debugS).intValue();
- matcher.setDebug( debug );
+ //matcher.setDebug( debug );
httpClient.setDebug( debug );
}
@@ -259,46 +277,56 @@
}
// -------------------- Matcher properties --------------------
+
+ // @deprecated Use defaultMatcher childs, this allow only one test !!!
+
public void setExactMatch(String exact) {
- matcher.setExactMatch(exact);
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setExactMatch(exact);
}
/** True if this is a positive test, false for negative
*/
public void setMagnitude( String magnitudeS ) {
- matcher.setMagnitude( magnitudeS );
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setMagnitude( magnitudeS );
}
/** Compare with the golden file
*/
public void setGoldenFile( String s ) {
- matcher.setGoldenFile(s);
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setGoldenFile(s);
}
/** Verify that response includes the expected headers
* The value is a "|" separated list of headers to expect.
*/
public void setExpectHeaders( String s ) {
- matcher.setExpectHeaders( s );
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setExpectHeaders( s );
}
/** Verify that response match the string
*/
public void setResponseMatch( String s ) {
- matcher.setResponseMatch( s );
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setResponseMatch( s );
}
/** Verify that response matches a list of strings in a file
*/
public void setResponseMatchFile( String s ) {
- matcher.setResponseMatchFile( s );
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setResponseMatchFile( s );
}
/** Verify the response code
*/
public void setReturnCode( String s ) {
- matcher.setReturnCode( s );
+ if( matchers.size() > 0 )
+ ((DefaultMatcher)matchers.elementAt(0)).setReturnCode( s );
}
// -------------------- Execute the request --------------------
@@ -313,10 +341,19 @@
httpClient.execute();
Response resp=httpClient.getResponse();
- matcher.setResponse( resp );
- matcher.execute();
- result=matcher.getResult();
-
+ result=true;
+ for( int i=0; i< matchers.size(); i++ ) {
+ DefaultMatcher matcher=(DefaultMatcher)matchers.elementAt(i);
+ matcher.setResponse( resp );
+ matcher.execute();
+ boolean testResult=matcher.getResult();
+ if( ! testResult ) {
+ result=false;
+ failMessage=matcher.getMessage();
+ break;
+ }
+ }
+
// don't print OKs
if( result && failureOnly ) return;
@@ -349,17 +386,16 @@
else
msg=description + " (" + httpClient.getRequestLine() + ")";
- if(matcher.getResult())
+ if( result )
out.println("OK " + msg );
else {
out.println("FAIL " + msg );
- out.println("Message: " + matcher.getMessage());
+ out.println("Message: " + failMessage);
}
out.flush();
}
private void htmlReport() {
- boolean result=matcher.getResult();
String uri=httpClient.getURI();
if( uri!=null )
out.println("<a href='" + uri + "'>");
@@ -385,7 +421,7 @@
if( ! result ) {
out.println("<b>Message:</b><pre>");
- out.println( matcher.getMessage());
+ out.println( failMessage);
out.println("</pre>");
}
@@ -416,7 +452,6 @@
}
private void xmlReport() {
- boolean result=matcher.getResult();
String msg=null;
if( "No description".equals( description ))
msg=" (" + httpClient.getRequestLine() + ")";
1.6 +6 -0 jakarta-tomcat/src/share/org/apache/tomcat/util/test/HttpClient.java
Index: HttpClient.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/test/HttpClient.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- HttpClient.java 2001/02/06 06:48:53 1.5
+++ HttpClient.java 2001/02/07 06:41:33 1.6
@@ -128,6 +128,12 @@
this.host=h;
}
+ /**
+ */
+ public void setMethod(String h) {
+ this.method=h;
+ }
+
/** The port used to send the request
*/
public void setPort(String portS) {