Hi Janani,

Were you able to solve this? Have you tried adding
@Runwith(PowerMockRunner.class) at the top of your test case class
(AS400CallProgramUnitTest).

It should something like this.

@Runwith(PowerMockRunner.class)
@PrepareForTest(AS400CallProgram.class)
public class AS400CallProgramUnitTest {
}

Thanks & Regards,
Mushthaq


On Wed, Oct 11, 2017 at 6:34 PM, Janani Thangavel <jan...@wso2.com> wrote:

> Hi,
>
> Actually the error [1] is happened when create the object for 
> ProgramCallDocument
> [2], even though I mocked [3] . Based on the offline discussion with
> Hemika, It's seems like the mocking is not working. Can any one please
> advise me on this?
>
> [1]org.apache.synapse.SynapseException: Unable to connect to AS400
> server: A parse error occurred.
>
> at org.apache.synapse.mediators.AbstractMediator.handleExceptio
> n(AbstractMediator.java:325)
> at org.wso2.carbon.connector.pcml.AS400CallProgram.connect(AS40
> 0CallProgram.java:158)
> at org.wso2.carbon.connector.pcml.test.unit.AS400CallProgramUni
> tTest.testAS400CallProgram(AS400CallProgramUnitTest.java:86)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> ssorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
> thodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.testng.internal.MethodInvocationHelper.invokeMethod(Meth
> odInvocationHelper.java:80)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:673)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestM
> ethodWorker.java:125)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
> at org.testng.TestRunner.runWorkers(TestRunner.java:1178)
> at org.testng.TestRunner.privateRun(TestRunner.java:757)
> at org.testng.TestRunner.run(TestRunner.java:608)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
> at org.testng.SuiteRunner.run(SuiteRunner.java:240)
> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)
> at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)
> at org.testng.TestNG.run(TestNG.java:999)
> at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
> at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:127)
> Caused by: com.ibm.as400.data.PcmlException: A parse error occurred.
> at com.ibm.as400.data.ProgramCallDocument.loadSourcePcmlDocumen
> tFromStream(ProgramCallDocument.java:1435)
> at com.ibm.as400.data.ProgramCallDocument.<init>(ProgramCallDoc
> ument.java:265)
> at org.wso2.carbon.connector.pcml.AS400CallProgram.connect(AS40
> 0CallProgram.java:92)
> ... 25 more
> Caused by: com.ibm.as400.data.ParseException: Premature end of file.
> 1 error detected parsing pcml document.
>
> at com.ibm.as400.data.PcmlSAXParser.<init>(PcmlSAXParser.java:231)
> at com.ibm.as400.data.ProgramCallDocument.loadSourcePcmlDocumen
> tFromStream(ProgramCallDocument.java:1427)
> ... 27 more
> [2]https://github.com/jananithangavel/esb-connector-pcml/blo
> b/master/src/main/java/org/wso2/carbon/connector/pcml/AS400C
> allProgram.java#L91
> [3]https://github.com/jananithangavel/esb-connector-pcml/blo
> b/2f3f9585225750c6f009a039ef716a520ca2bdf3/src/test/java/org
> /wso2/carbon/connector/pcml/test/unit/AS400CallProgramUnitTest.java#L79
>
> Janani Thangavel
> Associate Software Engineer
> WSO2 Inc : http://wso2.org
> <http://www.google.com/url?q=http%3A%2F%2Fwso2.org&sa=D&sntz=1&usg=AFQjCNE_eTDfyl2ibPcq0hcXvRDNVuQmMg>
> Mobile       : +94771856427 <+94%2077%20185%206427>
>
> On Wed, Oct 11, 2017 at 12:25 PM, Hemika Kodikara <hem...@wso2.com> wrote:
>
>> Hi Janani,
>>
>> The actual backend call happens at line [1]. So if you can mock that
>> backend call, then you should be fine.
>>
>> The ProgramCallDocument is basically an PCML file(XML structure)
>> representing the inputs and outputs of a program in the AS400. Its only an
>> object. It does not make any backend calls.
>>
>> See "Sample 1" [2] for an actually PCML document.
>>
>> [1] - https://github.com/jananithangavel/esb-connector-pcml/blob
>> /master/src/main/java/org/wso2/carbon/connector/pcml/AS400Ca
>> llProgram.java#L110
>> [2] - https://docs.wso2.com/display/ESBCONNECTORS/Working+with+C
>> all+Operation+in+AS400
>>
>> Regards,
>> Hemika
>>
>> Hemika Kodikara
>> WSO2 Inc.
>> lean . enterprise . middleware
>> http://wso2.com
>>
>> Mobile : +94777688882 <+94%2077%20768%208882>
>>
>> On Wed, Oct 11, 2017 at 11:42 AM, Janani Thangavel <jan...@wso2.com>
>> wrote:
>>
>>> Adding Hemika.
>>>
>>> Janani Thangavel
>>> Associate Software Engineer
>>> WSO2 Inc : http://wso2.org
>>> <http://www.google.com/url?q=http%3A%2F%2Fwso2.org&sa=D&sntz=1&usg=AFQjCNE_eTDfyl2ibPcq0hcXvRDNVuQmMg>
>>> Mobile       : +94771856427 <+94%2077%20185%206427>
>>>
>>> On Wed, Oct 11, 2017 at 11:40 AM, Janani Thangavel <jan...@wso2.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> Currently I'm working on the unit testing [1] for AS400 pcml connector. 
>>>> Inside
>>>> the pcml connector we are creating a instance for ProgramCallDocument
>>>> [2]. It calls actual back end Server. So, I'm trying to mock
>>>> that ProgramCallDocument as follow [3]. Even if I mock, It calls the actual
>>>> back end service and get the error as [4]. Am I doing anything wrong?
>>>> Please help me on this.
>>>>
>>>>
>>>> [1]https://github.com/wso2-extensions/esb-connector-pcml/pull/9
>>>> [2]https://github.com/jananithangavel/esb-connector-pcml/blo
>>>> b/master/src/main/java/org/wso2/carbon/connector/pcml/AS400C
>>>> allProgram.java#L91
>>>> [3]https://github.com/jananithangavel/esb-connector-pcml/blo
>>>> b/2f3f9585225750c6f009a039ef716a520ca2bdf3/src/test/java/org
>>>> /wso2/carbon/connector/pcml/test/unit/AS400CallProgramUnitTest.java#L79
>>>> [4]org.apache.synapse.SynapseException: Unable to connect to AS400
>>>> server: A parse error occurred.
>>>>
>>>> Thanks.
>>>>
>>>> Regards,
>>>> Janani Thangavel
>>>> Associate Software Engineer
>>>> WSO2 Inc : http://wso2.org
>>>> <http://www.google.com/url?q=http%3A%2F%2Fwso2.org&sa=D&sntz=1&usg=AFQjCNE_eTDfyl2ibPcq0hcXvRDNVuQmMg>
>>>> Mobile       : +94771856427 <+94%2077%20185%206427>
>>>>
>>>
>>>
>>
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Mushthaq Rumy
*Software Engineer*
Mobile : +94 (0) 779 492140 <%2B94%20%280%29%20773%20451194>
Email : musht...@wso2.com
WSO2, Inc.; http://wso2.com/
lean . enterprise . middleware.

<http://wso2.com/signature>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to