20 lines
631 B
C++
20 lines
631 B
C++
// Route: /events/fire (typed event bus)
|
|||
|
|
#include "support/Assert.hpp"
|
||
|
|
|
||
|
|
using namespace molo::example::test;
|
||
|
|
|
||
|
|
int main() {
|
||
|
|
Fixture f;
|
||
|
|
int seen = 0;
|
||
|
|
f.services.events->on("demo.ping",
|
||
|
|
[&](const molo::example::fw::Event&) { ++seen; });
|
||
|
|
auto fire = f.client->post(
|
||
|
|
"/events/fire", "{\"type\":\"demo.ping\",\"payload\":\"p1\"}",
|
||
|
|
"application/json");
|
||
|
|
check(fire.status == 200, "fire status 200");
|
||
|
|
check(seen == 1, "side effect: listener ran");
|
||
|
|
auto list = f.client->get("/events/fire");
|
||
|
|
check(contains(list.body, "demo.ping"), "delivery recorded");
|
||
|
|
return finish("events/fire");
|
||
|
|
}
|