一个标准的REST API测试代码
2010-01-29 11:44
597 查看
代码及过程都非常标准;以后可能会很少做Rest API测试了,权且作为纪念
@Test(author="elbert.chenh", description="测试用例描述")
public void TestCase1() throws Exception
{
String url ="http://apiurl?service=servicename&" +
"seller_user_id=elbert0000800002&" +
"trade_no=elbert0000800002&" +
"sign=1234&sign_type=DSA&"+
"child_order_id=800080012&"+
"amount=100.01&"+
"date=2010-02-05 13:13:13&"+
"amount_type=F&"+
"repay_type=0&"+
"repay_channel=E&"+
"status=T&repay_no=elbert0000800002";
//清理数据现场
String Sql1= "select * from "+SchemaName+".LOAN where CUSTOMER_ID = '80000001'";
String Sql2= "select * from "+SchemaName+".LOAN_ORDER where trade_no = 'elbert0000800002'";
String Sql3= "select * from "+SchemaName+".SERIAL_REPAY_RECORD where trade_no = 'elbert0000800002'";
String Sql4= "select * from "+alibankSchemaName+".LOAN_ORDER_PAYMENT_INFO where trade_no = 'elbert0000800002'";
deleteData("LOAN", Sql1);
deleteData("LOAN_ORDER", Sql2);
deleteData("SERIAL_REPAY_RECORD", Sql3);
deleteData("LOAN_ORDER_PAYMENT_INFO", Sql4);
//准备测试数据
loadCaseData("TestCase1.xml",alibankSchemaName);
//发起url请求15958189400
System.out.println(url);
WebConversation conversation = new WebConversation();
WebRequest request = new PostMethodWebRequest(url);
WebResponse response = conversation.getResponse(request);
String ActXmlText = response.getText();
System.out.println(ActXmlText);
//数据库断言
dataSetLoanExp = TestData.getExpDataSet("testCase1_Exp.xml", db);
// 检测SERIAL_REPAY_RECORD
QueryDataSet queryDataSet = new QueryDataSet(db.getConnection());
queryDataSet.addTable("SERIAL_REPAY_RECORD", "select REPAY_NO,CUSTOMER_ALIPAY_ID,TRADE_NO,REPAY_AMOUNT," +
"TO_CHAR(REPAY_DATE,'YYYY-MM-DD hh24:MI:SS') as REPAY_DATE,REPAY_CHANNEL,REPAY_TYPE,REPAY_STATUS,ERROR_CODE," +
"AMOUNT_TYPE from "
+ alibankSchemaName + ".SERIAL_REPAY_RECORD where trade_no= 'elbert0000800002'");
ITable filteredAccount = DefaultColumnFilter.includedColumnsTable(
queryDataSet.getTable("SERIAL_REPAY_RECORD"), dataSetLoanExp.getTable(
"SERIAL_REPAY_RECORD").getTableMetaData().getColumns());
util.aliAssert.assertEquals(dataSetLoanExp.getTable("SERIAL_REPAY_RECORD"), filteredAccount, "ERROR_CODE", null);
//检查loan_order表 CALCULATE_INTEREST_DATE,
queryDataSet.addTable("tablename1", "select LOAN_ORDER_ID,....,TO_CHAR(ORDER_DATE,'YYYY-MM-DD hh24:MI:SS') as ORDER_DATE,PRODUCT_NAME,PRODUCT_COUNT," +
"....," +
"......," +
"TO_CHAR(CALCULATE_INTEREST_DATE,'YYYY-MM-DD hh24:MI:SS') as CALCULATE_INTEREST_DATE," +
"....from "
+ alibankSchemaName + ".LOAN_ORDER where trade_no= 'elbert0000800002'");
ITable filteredAccount1 = DefaultColumnFilter.includedColumnsTable(
queryDataSet.getTable("tablename2"), dataSetLoanExp.getTable(
"LOAN_ORDER").getTableMetaData().getColumns());
Assertion.assertEquals(dataSetLoanExp.getTable("LOAN_ORDER"),
filteredAccount1);
//LOAN_ORDER_PAYMENT_INFO 验证
queryDataSet.addTable("tablename3", "select ....,TO_CHAR(REPAY_DATE,'YYYY-MM-DD hh24:MI:SS') as REPAY_DATE,LOAN_ID from "
+ alibankSchemaName + ".LOAN_ORDER_PAYMENT_INFO where trade_no= 'elbert0000800002'");
ITable filteredAccount2 = DefaultColumnFilter.includedColumnsTable(
queryDataSet.getTable("LOAN_ORDER_PAYMENT_INFO"), dataSetLoanExp.getTable(
"LOAN_ORDER_PAYMENT_INFO").getTableMetaData().getColumns());
Assertion.assertEquals(dataSetLoanExp.getTable("LOAN_ORDER_PAYMENT_INFO"),
filteredAccount2);
}
@Test(author="elbert.chenh", description="测试用例描述")
public void TestCase1() throws Exception
{
String url ="http://apiurl?service=servicename&" +
"seller_user_id=elbert0000800002&" +
"trade_no=elbert0000800002&" +
"sign=1234&sign_type=DSA&"+
"child_order_id=800080012&"+
"amount=100.01&"+
"date=2010-02-05 13:13:13&"+
"amount_type=F&"+
"repay_type=0&"+
"repay_channel=E&"+
"status=T&repay_no=elbert0000800002";
//清理数据现场
String Sql1= "select * from "+SchemaName+".LOAN where CUSTOMER_ID = '80000001'";
String Sql2= "select * from "+SchemaName+".LOAN_ORDER where trade_no = 'elbert0000800002'";
String Sql3= "select * from "+SchemaName+".SERIAL_REPAY_RECORD where trade_no = 'elbert0000800002'";
String Sql4= "select * from "+alibankSchemaName+".LOAN_ORDER_PAYMENT_INFO where trade_no = 'elbert0000800002'";
deleteData("LOAN", Sql1);
deleteData("LOAN_ORDER", Sql2);
deleteData("SERIAL_REPAY_RECORD", Sql3);
deleteData("LOAN_ORDER_PAYMENT_INFO", Sql4);
//准备测试数据
loadCaseData("TestCase1.xml",alibankSchemaName);
//发起url请求15958189400
System.out.println(url);
WebConversation conversation = new WebConversation();
WebRequest request = new PostMethodWebRequest(url);
WebResponse response = conversation.getResponse(request);
String ActXmlText = response.getText();
System.out.println(ActXmlText);
//数据库断言
dataSetLoanExp = TestData.getExpDataSet("testCase1_Exp.xml", db);
// 检测SERIAL_REPAY_RECORD
QueryDataSet queryDataSet = new QueryDataSet(db.getConnection());
queryDataSet.addTable("SERIAL_REPAY_RECORD", "select REPAY_NO,CUSTOMER_ALIPAY_ID,TRADE_NO,REPAY_AMOUNT," +
"TO_CHAR(REPAY_DATE,'YYYY-MM-DD hh24:MI:SS') as REPAY_DATE,REPAY_CHANNEL,REPAY_TYPE,REPAY_STATUS,ERROR_CODE," +
"AMOUNT_TYPE from "
+ alibankSchemaName + ".SERIAL_REPAY_RECORD where trade_no= 'elbert0000800002'");
ITable filteredAccount = DefaultColumnFilter.includedColumnsTable(
queryDataSet.getTable("SERIAL_REPAY_RECORD"), dataSetLoanExp.getTable(
"SERIAL_REPAY_RECORD").getTableMetaData().getColumns());
util.aliAssert.assertEquals(dataSetLoanExp.getTable("SERIAL_REPAY_RECORD"), filteredAccount, "ERROR_CODE", null);
//检查loan_order表 CALCULATE_INTEREST_DATE,
queryDataSet.addTable("tablename1", "select LOAN_ORDER_ID,....,TO_CHAR(ORDER_DATE,'YYYY-MM-DD hh24:MI:SS') as ORDER_DATE,PRODUCT_NAME,PRODUCT_COUNT," +
"....," +
"......," +
"TO_CHAR(CALCULATE_INTEREST_DATE,'YYYY-MM-DD hh24:MI:SS') as CALCULATE_INTEREST_DATE," +
"....from "
+ alibankSchemaName + ".LOAN_ORDER where trade_no= 'elbert0000800002'");
ITable filteredAccount1 = DefaultColumnFilter.includedColumnsTable(
queryDataSet.getTable("tablename2"), dataSetLoanExp.getTable(
"LOAN_ORDER").getTableMetaData().getColumns());
Assertion.assertEquals(dataSetLoanExp.getTable("LOAN_ORDER"),
filteredAccount1);
//LOAN_ORDER_PAYMENT_INFO 验证
queryDataSet.addTable("tablename3", "select ....,TO_CHAR(REPAY_DATE,'YYYY-MM-DD hh24:MI:SS') as REPAY_DATE,LOAN_ID from "
+ alibankSchemaName + ".LOAN_ORDER_PAYMENT_INFO where trade_no= 'elbert0000800002'");
ITable filteredAccount2 = DefaultColumnFilter.includedColumnsTable(
queryDataSet.getTable("LOAN_ORDER_PAYMENT_INFO"), dataSetLoanExp.getTable(
"LOAN_ORDER_PAYMENT_INFO").getTableMetaData().getColumns());
Assertion.assertEquals(dataSetLoanExp.getTable("LOAN_ORDER_PAYMENT_INFO"),
filteredAccount2);
}
相关文章推荐
- 一个标准的REST API测试代码
- 一个标准学生类的代码及测试
- 面向对象_一个标准学生类的代码及测试
- C-4 一个标准的学生类的代码及测试
- 通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界
- 面向对象_一个标准的手机的代码及测试
- RESTFeel: 一个企业级的API管理&测试平台。RESTFeel帮助你设计、开发、测试您的API
- 一个用C语言连接PostgreSQL的测试代码
- swagger-editor 快速REST-API 测试文档编写
- chrome http请求,测试webapp接口之DHC - REST/HTTP API Client
- 使用PHP创建一个REST API(Create a REST API with PHP)节选5
- rest-assured : Restful API 测试利器 - 真正的黑盒单元测试(跟Spring-Boot更配哦,更新至spring-boot1.4.1)
- 记录一个网易云IM和直播功能中,服务器API的Java调用代码
- 新浪微博(t.sina)简单授权代码及API测试
- 使用PHP创建一个REST API(Create a REST API with PHP)
- 一个在线测试Html、脚本代码的网站!(不用建文件了)
- SharePoint REST API - 一个请求批量操作
- 测试Tomcat是否成功的一个测试代码(部分)
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- 一个简单的linux设备驱动和应用测试代码