Thursday, June 30, 2011

Verifying Elements are Descending by Date

import java.text.DateFormat;
import java.text.SimpleDateFormat;

def bo_host = context.expand( '${#Project#project_host}' );
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context );
def holder = groovyUtils.getXmlHolder( messageExchange.responseContentAsXml );
def nodeCount = holder["count(//ns1:Response[1]/ns1:chirps[1]/ns1:e)"];
def dateString, nextDateString = "";
def DateFormat df = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
def Date dateDate, nextDateDate;

dateString = holder.getNodeValue( "//ns1:Response[1]/ns1:chirps[1]/ns1:e[1]/ns1:chirp[1]/ns1:pub_date[1]/text()" );
dateDate = df.parse(dateString);
nodeCount = nodeCount.toInteger();

for ( i = 2; i < nodeCount; i++ ){
   nextDateString = holder.getNodeValue( "//ns1:Response[1]/ns1:chirps[1]/ns1:e[" + i + "]/ns1:chirp[1]/ns1:pub_date[1]/text()" );
   nextDateDate = df.parse(nextDateString);
 
   assert dateDate >= nextDateDate;

   dateString = nextDateString;
   dateDate = nextDateDate;
}

No comments: