[jira] [Created] (FLINK-21324) statefun-testutil can't assert messages function sends to itself

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-21324) statefun-testutil can't assert messages function sends to itself

Shang Yuanchun (Jira)
Timur created FLINK-21324:
-----------------------------

             Summary: statefun-testutil can't assert messages function sends to itself
                 Key: FLINK-21324
                 URL: https://issues.apache.org/jira/browse/FLINK-21324
             Project: Flink
          Issue Type: Bug
          Components: Stateful Functions
    Affects Versions: statefun-2.2.2
            Reporter: Timur


Assertions don't work for messages sent by functions to themselves. The reason is that TestContext doesn't add a message to responses:

 
{code:java}
@Override
public void send(Address to, Object message) {
  if (to.equals(selfAddress)) {
    messages.add(new Envelope(self(), to, message));
    return;
  }
  responses.computeIfAbsent(to, ignore -> new ArrayList<>()).add(message);
}
{code}
Instead of adding the message to responses the method returns right after message added to messages. 

 

Here is the example of the assertion that doesn't work in case a function sent a message to itself:
{code:java}
assertThat(harness.invoke(aliceDiseaseDiagnosedEvent()), sentNothing());
{code}
The test won't fail even though the message was really sent.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)