Skip to content

Commit

Permalink
Merge pull request #3850 from chathuranga-jayanath-99/integration-tes…
Browse files Browse the repository at this point in the history
…t-for-handling-new-resource-key

Add tests to verify the handling of the new resource file key.
  • Loading branch information
arunans23 authored Dec 20, 2024
2 parents b327790 + 8a3bd05 commit 0eb1d9e
Show file tree
Hide file tree
Showing 5 changed files with 173 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,14 @@ public void deployRegistryResource() {
String emptyMediaTypeFilePath = "conf:/custom/QueueName";
String emptyMediaTypeFileContent = "ordersQueue";
microIntegratorRegistry.newNonEmptyResource(emptyMediaTypeFilePath, false, "", emptyMediaTypeFileContent, "");

String resourceFilePath = "gov:mi-resources/custom/checkJsScript.js";
String resourceContent = "function checkLog(mc) {\n"
+ "\tvar log = mc.getServiceLog();\n"
+ "\tlog.info(\"Logging inside Script Mediator\");\n"
+ "}\n";

microIntegratorRegistry.newNonEmptyResource(resourceFilePath, false, "application/javascript", resourceContent, "");
}

@Test
Expand Down Expand Up @@ -123,6 +131,14 @@ public void testRegistryResourceRead() throws IOException {
Assert.assertEquals("Media type should be as expected", "application/javascript", mediaType);
}

@Test
public void testResourceRead() {

OMNode omNode = microIntegratorRegistry.lookup("resources:custom/checkJsScript.js");
String mediaType = ((DataHandler) ((OMTextImpl) omNode).getDataHandler()).getContentType();
Assert.assertEquals("Media type should be as expected", "application/javascript", mediaType);
}

@Test
public void testRegistryPropertiesDeploymentAndLookup() throws IOException {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,15 @@ public void xsltTransformationFromGovernanceRegistry() throws Exception {
assertNotNull(response, "Response message null");
assertTrue(response.toString().contains("Code"), "Response does not contain the key word: Code");
assertTrue(response.toString().contains("IBM"), "Response does not contain the key word: IBM");
}

@Test(groups = {
"wso2.esb" }, description = "Do XSLT transformation by selecting the xslt file from resources.")
public void xsltTransformationFromResources() throws Exception {
OMElement response = axis2Client
.sendCustomQuoteRequest(getProxyServiceURLHttp("xsltInResourcesTestProxy"), null, "IBM");
assertNotNull(response, "Response message null");
assertTrue(response.toString().contains("Code"), "Response does not contain the key word: Code");
assertTrue(response.toString().contains("IBM"), "Response does not contain the key word: IBM");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
~ Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com) All Rights Reserved.
~
~ WSO2 LLC. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
~
-->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
xmlns:m0="http://services.samples"
exclude-result-prefixes="m0 fn">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="/">
<xsl:apply-templates select="//m0:CheckPriceRequest"/>
</xsl:template>

<xsl:template match="m0:CheckPriceRequest">

<m:getQuote xmlns:m="http://services.samples">
<m:request>
<m:symbol>
<xsl:value-of select="m0:Code"/>
</m:symbol>
</m:request>
</m:getQuote>

</xsl:template>
</xsl:stylesheet>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
~ Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com) All Rights Reserved.
~
~ WSO2 LLC. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
~
-->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
xmlns:m0="http://services.samples"
xmlns:ax21="http://services.samples/xsd"
exclude-result-prefixes="m0 ax21 fn">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="/">
<xsl:apply-templates select="//m0:return"/>
</xsl:template>

<xsl:template match="m0:return">

<m:CheckPriceResponse xmlns:m="http://services.samples/xsd">
<m:Code>
<xsl:value-of select="ax21:symbol"/>
</m:Code>
<m:Price>
<xsl:value-of select="ax21:last"/>
</m:Price>
</m:CheckPriceResponse>

</xsl:template>
</xsl:stylesheet>
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<!--
~ Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com) All Rights Reserved.
~
~ WSO2 LLC. licenses this file to you under the Apache License,
~ Version 2.0 (the "License"); you may not use this file except
~ in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
~
-->

<proxy xmlns="http://ws.apache.org/ns/synapse" name="xsltInResourcesTestProxy" transports="https http"
startOnLoad="true" trace="disable">
<description/>
<target>
<inSequence>
<log level="custom">
<property name="text" value="---------Request Message------------"/>
</log>
<log level="full"/>
<xslt key="resources:xslt/transform.xslt"/>
<log level="custom">
<property name="text" value="---------Transformed Request Message------------"/>
</log>
<log level="full"/>
<send>
<endpoint key="StockQuote_9000_EP"/>
</send>
</inSequence>
<outSequence>
<log level="custom">
<property name="text" value="---------Response Message------------"/>
</log>
<log level="full"/>
<xslt key="resources:xslt/transform_back.xslt"/>
<log level="custom">
<property name="text" value="---------Transformed Response Message------------"/>
</log>
<log level="full"/>
<send/>
</outSequence>
<faultSequence>
<makefault>
<code xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/" value="tns:Server"/>
<reason xmlns:ns3="http://org.apache.synapse/xsd"
expression="get-property('ERROR_MESSAGE')"/>
</makefault>
<header name="To" expression="get-property('ReplyTo')"/>
<send/>
</faultSequence>
</target>
</proxy>

0 comments on commit 0eb1d9e

Please sign in to comment.