public OMElement runSecurityClient( int scenarioNo, String serviceName, String soapAction, String body) throws Exception { FrameworkSettings.getProperty(); String clientRepo = null; String trustStore = null; String endpointHttpS = null; String endpointHttp = null; String securityPolicy = null; String clientKey = null; File filePath = new File("./"); String relativePath = filePath.getCanonicalPath(); File findFile = new File( relativePath + File.separator + "config" + File.separator + "framework.properties"); if (!findFile.isFile()) { filePath = new File("./../"); relativePath = filePath.getCanonicalPath(); } /*Properties properties = new Properties(); FileInputStream freader = new FileInputStream(relativePath + File.separator + "proxyservices" + File.separator + "src" + File.separator + "test" + File.separator + "resources"+ File.separator + "ClientSecurityFiles" + File.separator + "client.properties"); properties.load(freader);*/ if (FrameworkSettings.STRATOS.equalsIgnoreCase("true")) { clientRepo = FrameworkSettings.TEST_FRAMEWORK_HOME + File.separator + "lib" + File.separator + "stratos-artifacts" + File.separator + "client_repo"; endpointHttpS = "https://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTPS_PORT + "/services/" + FrameworkSettings.TENANT_NAME + "/" + serviceName; endpointHttp = "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT + "/services/" + FrameworkSettings.TENANT_NAME + "/" + serviceName; clientKey = FrameworkSettings.TEST_FRAMEWORK_HOME + File.separator + "lib" + File.separator + "stratos-artifacts" + File.separator + "wso2carbon.jks"; trustStore = FrameworkSettings.TEST_FRAMEWORK_HOME + File.separator + "lib" + File.separator + "stratos-artifacts" + File.separator + "wso2carbon.jks"; securityPolicy = relativePath + File.separator + "proxyservices" + File.separator + "src" + File.separator + "test" + File.separator + "resources" + File.separator + "ClientSecurityFiles"; } else if (FrameworkSettings.STRATOS.equalsIgnoreCase("false")) { clientRepo = FrameworkSettings.CARBON_HOME + File.separator + "samples" + File.separator + "axis2Client" + File.separator + "client_repo"; endpointHttpS = "https://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTPS_PORT + "/services/" + serviceName; endpointHttp = "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT + "/services/" + serviceName; clientKey = FrameworkSettings.CARBON_HOME + File.separator + "resources" + File.separator + "security" + File.separator + "wso2carbon.jks"; trustStore = FrameworkSettings.CARBON_HOME + File.separator + "resources" + File.separator + "security" + File.separator + "wso2carbon.jks"; securityPolicy = relativePath + File.separator + "proxyservices" + File.separator + "src" + File.separator + "test" + File.separator + "resources" + File.separator + "ClientSecurityFiles"; } OMElement result; System.setProperty("javax.net.ssl.trustStore", trustStore); System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon"); ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(clientRepo, null); ServiceClient sc = new ServiceClient(ctx, null); sc.engageModule("rampart"); sc.engageModule("addressing"); Options opts = new Options(); if (scenarioNo == 1) { opts.setTo(new EndpointReference(endpointHttpS)); } else { opts.setTo(new EndpointReference(endpointHttp)); } opts.setAction(soapAction); if (scenarioNo != 0) { try { String securityPolicyPath = securityPolicy + File.separator + "scenario" + scenarioNo + "-policy.xml"; opts.setProperty( RampartMessageData.KEY_RAMPART_POLICY, loadPolicy(securityPolicyPath, clientKey)); } catch (Exception e) { e.printStackTrace(); } } sc.setOptions(opts); result = sc.sendReceive(AXIOMUtil.stringToOM(body)); System.out.println(result.getFirstElement().getText()); return result; }
@Override public void runSuccessCase() { log.debug("Running Throttle Mediator SuccessCase "); int throttleCounter = 0; OMElement result = null; try { ConfigServiceAdminStub configServiceAdminStub = new ConfigServiceAdminStubCommand().initConfigServiceAdminStub(sessionCookie); LogViewerStub logViewerStub = new InitializeLogViewerAdmin().executeAdminStub(); String xmlPath = frameworkPath + File.separator + "mediators-throttle" + File.separator + "src" + File.separator + "test" + File.separator + "resources" + File.separator + "throttleOnAcceptSeqKey.xml"; OMElement omElement = ConfigHelper.createOMElement(xmlPath); new ConfigServiceAdminStubCommand(configServiceAdminStub) .updateConfigurationExecuteSuccessCase(omElement); /*Sending StockQuoteClient requests */ for (int i = 0; i <= THROTTLE_MAX_MSG_COUNT; i++) { StockQuoteClient stockQuoteClient = new StockQuoteClient(); if (FrameworkSettings.STRATOS.equalsIgnoreCase("false")) { result = stockQuoteClient.stockQuoteClientforProxy( "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT, null, "IBM"); } else if (FrameworkSettings.STRATOS.equalsIgnoreCase("true")) { result = stockQuoteClient.stockQuoteClientforProxy( "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT + "/services/" + FrameworkSettings.TENANT_NAME + "/", null, "IBM"); } System.out.println(result); if (!result.toString().contains("IBM")) { log.error("Required response not found"); Assert.fail("Required response not found"); } log.info(result); throttleCounter++; } if (throttleCounter > THROTTLE_MAX_MSG_COUNT) { if (result.toString().contains("IBM")) { log.error("Required response not found.replying service"); Assert.fail("Required response not found.replying service"); } } else { log.error("Throttling response count does not match or max response count error"); Assert.fail("Throttling response count does not match"); } } catch (Exception e) { if (!e.getMessage().contains("**Access Denied**")) { log.error("Throttle Mediator doesn't work : " + e.getMessage()); } } }
@Override public void runSuccessCase() { log.debug("Running Custom Level Log Mediator SuccessCase "); OMElement result = null; boolean isFound_search_l1 = false; boolean isFound_search_l2 = false; boolean isFound_search_l3 = false; StockQuoteClient stockQuoteClient = new StockQuoteClient(); try { ConfigServiceAdminStub configServiceAdminStub = new ConfigServiceAdminStubCommand().initConfigServiceAdminStub(sessionCookie); LogViewerStub logViewerStub = new InitializeLogViewerAdmin().executeAdminStub(); String xmlPath = frameworkPath + File.separator + "components" + File.separator + "mediators-log" + File.separator + "src" + File.separator + "test" + File.separator + "resources" + File.separator + "custom" + File.separator + "synapse.xml"; OMElement omElement = ConfigHelper.createOMElement(xmlPath); new ConfigServiceAdminStubCommand(configServiceAdminStub) .updateConfigurationExecuteSuccessCase(omElement); /*Sending a StockQuoteClient request*/ if (FrameworkSettings.STRATOS.equalsIgnoreCase("false")) { result = stockQuoteClient.stockQuoteClientforProxy( "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT, null, "IBM"); } else if (FrameworkSettings.STRATOS.equalsIgnoreCase("true")) { result = stockQuoteClient.stockQuoteClientforProxy( "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT + "/services/" + FrameworkSettings.TENANT_NAME + "/", null, "IBM"); } log.info(result); System.out.println(result); if (!result.toString().contains("IBM")) { Assert.fail(); log.error("Custom Level Log Mediation Failed"); } LogMessage[] logMessages = new LogViewerAdminCommand(logViewerStub).addEntrySuccessCase("LogMediator"); int removeMessageLength = 0; if (logMessages.length > 4) { removeMessageLength = logMessages.length - 3; } else { removeMessageLength = 0; } for (int i = removeMessageLength; i <= logMessages.length - 1; i++) { System.out.println(logMessages[i].getLogMessage()); if (logMessages[i].getLogMessage().contains(search_l1)) { isFound_search_l1 = true; } if (logMessages[i].getLogMessage().contains(search_l2)) { isFound_search_l2 = true; } if (logMessages[i].getLogMessage().contains(search_l3)) { isFound_search_l3 = true; } } assertTrue("inComing = ***Incoming Message***@ not found in log message", isFound_search_l1); assertTrue( "inExpression = Echo String - urn:getQuote not found in log message", isFound_search_l2); assertTrue("outgoing = ***Outgoing Message*** not found in log message", isFound_search_l3); } catch (Exception e) { log.error("Custom Level Log Mediator doesn't work : " + e.getMessage()); } }
@Override public void runSuccessCase() { log.debug("Running Chunk Default SuccessCase "); StockQuoteClient stockQuoteClient = new StockQuoteClient(); OMElement result = null; try { ConfigServiceAdminStub configServiceAdminStub = new ConfigServiceAdminStubCommand().initConfigServiceAdminStub(sessionCookie); // home/thilini/Desktop/new/component-test-framework/components/synapse-nhttp-transport/src/test/resources String xmlPath = frameworkPath + File.separator + "components" + File.separator + "synapse-nhttp-transport" + File.separator + "src" + File.separator + "test" + File.separator + "resources" + File.separator + "chunking_default.xml"; System.out.println(xmlPath); OMElement omElement = ConfigHelper.createOMElement(xmlPath); new ConfigServiceAdminStubCommand(configServiceAdminStub) .updateConfigurationExecuteSuccessCase(omElement); String trpUrl = null; if (FrameworkSettings.STRATOS.equalsIgnoreCase("false")) { trpUrl = "http://" + FrameworkSettings.HOST_NAME + ":" + FrameworkSettings.HTTP_PORT; result = stockQuoteClient.stockQuoteClientforProxy(trpUrl, null, "IBM"); } else if (FrameworkSettings.STRATOS.equalsIgnoreCase("true")) { result = stockQuoteClient.stockQuoteClientforProxy( "http://" + FrameworkSettings.HOST_NAME + "/services/" + FrameworkSettings.TENANT_NAME + "/", null, "IBM"); } log.info(result); System.out.println(result); // <ns:getQuoteResponse xmlns:ns="http://services.samples"><ns:return // xmlns:ax21="http://services.samples/xsd" // xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" // xsi:type="ax21:GetQuoteResponse"><ax21:change>4.488382103511101</ax21:change><ax21:earnings>-8.983387861433535</ax21:earnings><ax21:high>-54.85240340206867</ax21:high><ax21:last>55.185600908158364</ax21:last><ax21:lastTradeTimestamp>Tue Oct 19 11:18:43 IST 2010</ax21:lastTradeTimestamp><ax21:low>-54.739935633390765</ax21:low><ax21:marketCap>1.4210456725425582E7</ax21:marketCap><ax21:name>IBM Company</ax21:name><ax21:open>57.531671038463294</ax21:open><ax21:peRatio>23.993007092941014</ax21:peRatio><ax21:percentageChange>7.542848922991673</ax21:percentageChange><ax21:prevClose>59.50513061225283</ax21:prevClose><ax21:symbol>IBM</ax21:symbol><ax21:volume>15739</ax21:volume></ns:return></ns:getQuoteResponse> /*Test HTTP Header Contents*/ URL url = new URL(trpUrl); URLConnection conn = url.openConnection(); for (int i = 0; ; i++) { String name = conn.getHeaderFieldKey(i); String value = conn.getHeaderField(i); if (name == null && value == null) { break; } if (name == null) { System.out.println("Server HTTP version, Response code:"); System.out.println(value); System.out.print("\n"); } else { System.out.println(name + "=" + value); } } /* int contentLength = ((HttpURLConnection) url.openConnection()) .getContentLength(); String trnsEncoding = ((HttpURLConnection) url.openConnection()) .getContentType(); System.out.println("********** " + contentLength + "********** "); System.out.println("********** " + trnsEncoding + "********** ");*/ /* if (!contentType.contains("application/xml; charset=UTF-8")) { Assert.fail("Message Relay Content Type Test not Failed"); log.error("Message Relay Content Type Test not Failed"); }*/ } catch (Exception e) { e.printStackTrace(); log.error("Chunk Default Test doesn't work : " + e.getMessage()); } }