一个标准的REST API测试代码

 代码及过程都非常标准;以后可能会很少做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);
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值