[ 
https://issues.apache.org/jira/browse/FINERACT-780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16884678#comment-16884678
 ] 

Mohit Sinha commented on FINERACT-780:
--------------------------------------

[~vorburger] After studying this test and functionality, I now realize that 
there isn't a good and clean way to test this.

What we ideally need is an echo server (a server that takes in a request body 
and whenever called upon returns that body). I didn't find any library for that 
and writing that ourself would require extra db setup.
The current implementation uses an echo server, but that echo server isn't 
clean, the values returned by it depends on the officeId created for the test, 
just like a global variable. It works most of the time though.

The problem is we are calling actual API's and cannot mock the HookListener.

Need more input on this.

> HookIntegrationTest is flaky
> ----------------------------
>
>                 Key: FINERACT-780
>                 URL: https://issues.apache.org/jira/browse/FINERACT-780
>             Project: Apache Fineract
>          Issue Type: Bug
>            Reporter: Michael Vorburger.ch
>            Priority: Major
>
> Our org.apache.fineract.integrationtests.HookIntegrationTest seems to be 
> "flaky" and occassionally arbitrary fails.
> This seems to have happened e.g. in 
> https://github.com/apache/fineract/pull/557 as well as again in 
> https://github.com/apache/fineract/pull/607.
> I suspect it's related to this in the code of that test:
> {code:java}
> // Subject to https://echo-webhook.herokuapp.com being up
> // See
> // 
> http://www.jamesward.com/2014/06/11/testing-webhooks-was-a-pain-so-i-fixed-the-glitch
> final String payloadURL = 
> "http://echo-webhook.herokuapp.com:80/Z7RXoCBdLSFMDrpn?";;
> this.hookHelper.createHook(payloadURL);
> {code}
> In an ideal world, even an integration test should not depend on an external 
> service running on some arbitrary 3rd party website.
> What someone probably could do is to instead start some sort of Echo Server 
> written in Java in-process as part of that test. Something like this may 
> already exist as a library somewhere, or otherwise it probably wouldn't be 
> terribly hard to write it.
> If this happens more often, perhaps just temporarily adding an {{@Igore}} for 
> this test would be in order (until someone can do above).



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to