#include #include #include #include #include #include using namespace std; using namespace Di::Rpc; int DiRpcReaderCallback(Msg *msg, shared_ptr *data) { (void)data; cout << "hello from " << __func__ << endl; cout << "msgtype: " << msg->getMsgType() << endl; return 1; } TEST(Reader, classCreate) { shared_ptr m; Reader r = Reader(); EXPECT_TRUE(r.registerCallback(DiRpcMsgCallback(DiRpcReaderCallback), "*", "*")); EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"connection:connect\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\", \"code\":1}],\"time\":202181316,\"pub\":\"connection:disconnect\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\", \"code\":1}],\"time\":202181316,\"pub\":\"connection:nothing\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"dncm:info\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"dncm:ping\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"device:info\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"device:ping\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"id\":23456789,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"params\":{\"project\":{\"planning\": {\"devices\": \"127.0.0.1:51394\"}}},\"time\":202181316,\"req\":\"project:info\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"project:ping\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"sensor:info\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"sensor:data\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; EXPECT_EQ(r.read("{\"dinetrpc\":1,\"device:uid\":\"012d2d2d4c45474143592d2d0000026f\",\"result\":[{\"peer\":\"127.0.0.1:51394\"}],\"time\":202181316,\"pub\":\"sensor:nothing\"}", &m), 0); EXPECT_EQ(m->runCallback(), 1); m = nullptr; }