import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLSession; import util.*; import testcase.*; import testcase.result.*; import elong.*; public class Demo { public static void main(String[] args) { /** * Instructions: * * a) edit hosts, append the below line : * 211.151.230.212 api.elong.com * b) configure test.conf with your API user name and keys * */ //run a test case //TestHotelList(); //TestHotelDetail(); //TestHotelDataInventory(); TestHotelOrderCreate(); //TestHotelOrderCancel(); //TestHotelOrderDetail(); //TestHotelDataValidate(); // //Test credit card DES encrypt // try { // String num = Tool.encryptDES("1386230862#4033910000000000", "51681602"); // System.out.println("result: "+ num); // String expect ="de00a1c63eed569f31ccc48159b38752fe66011df414caacb006cb18b9444db7"; // System.out.println("expect: " + expect); // System.out.println("matched: "+num.equals(expect)); // } catch (Exception e) { // e.printStackTrace(); // } } static void TestHotelOrderDetail() { HotelOrderDetailTester tester = new HotelOrderDetailTester(); HotelOrderDetailResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); OrderDetailResult data = result.getResult(); if(data != null) { System.out.println(data.getTotalPrice()); } } else { System.out.println("NULL Result!!"); } } static void TestHotelOrderCreate() { HotelOrderCreateTester tester = new HotelOrderCreateTester(); HotelOrderCreateResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); CreateOrderResult data = result.getResult(); if(data != null) { System.out.println(data.getOrderId()); } } else { System.out.println("NULL Result!!"); } } static void TestHotelOrderCancel() { HotelOrderCancelTester tester = new HotelOrderCancelTester(); HotelOrderCancelResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); CancelOrderResult data = result.getResult(); if(data != null) System.out.println(data.isSuccesss()); } else { System.out.println("NULL Result!!"); } } static void TestHotelDataInventory() { HotelDataInventoryTester tester = new HotelDataInventoryTester(); HotelDataInventoryResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); InventoryResult data = result.getResult(); if(data != null && data.getInventories() != null) System.out.println(data.getInventories().size()); } else { System.out.println("NULL Result!!"); } } static void TestHotelDataValidate() { HotelDataValidateTester tester = new HotelDataValidateTester(); HotelDataValidateResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); ValidateResult data = result.getResult(); if(data != null) { if(data.getResultCode() == EnumValidateResult.OK) System.out.println(data.getCancelTime()); else { System.out.println(data.getResultCode()); System.out.println(data.getErrorMessage()); } }else { } } else { System.out.println("NULL Result!!"); } } static void TestHotelDetail() { HotelDetailTester tester = new HotelDetailTester(); tester.setVerbose(true); HotelListResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); HotelList data = result.getResult(); System.out.println(data.getCount()); System.out.println(data.getHotels().size()); } else { System.out.println("NULL Result!!"); } } static void TestHotelList() { HotelListTester tester = new HotelListTester(); HotelListResult result = tester.Test(); if(result != null) { System.out.println(); System.out.println(result.getCode()); HotelList data = result.getResult(); System.out.println(data.getCount()); System.out.println(data.getHotels().size()); } else { System.out.println("NULL Result!!"); } } // The below code is just only for https in test env. static { try { trustAllHttpsCertificates(); //For JDK 1.7+ } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier(){ @Override public boolean verify(String hostname, SSLSession session) { return true; } }); } private static void trustAllHttpsCertificates() throws Exception { javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1]; javax.net.ssl.TrustManager tm = new miTM(); trustAllCerts[0] = tm; javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext .getInstance("SSL"); sc.init(null, trustAllCerts, null); javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc .getSocketFactory()); } static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public boolean isServerTrusted( java.security.cert.X509Certificate[] certs) { return true; } public boolean isClientTrusted( java.security.cert.X509Certificate[] certs) { return true; } public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } } }