tests(dds): enable GTest smoke-tests and add async-capable realistic MockDDS with GTest async subscription test
This commit is contained in:
1 parent
14988660cd
commit
6d8d843ee0
4 files changed
+115
-8
No files matched your search
@@ -2,21 +2,24 @@
|
||||
#include <string>
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
#include <chrono>
|
||||
|
||||
namespace MockDDS {
|
||||
|
||||
// Richer mock for migration smoke-tests:
|
||||
// - publish(topic, payload)
|
||||
// - publish(topic, payload) : synchronous publish
|
||||
// - publish_async(topic, payload, delay_ms) : asynchronous publish (background dispatcher)
|
||||
// - subscribe(topic, callback) -> subscription id
|
||||
// - unsubscribe(topic, subscription id)
|
||||
// - take_last(topic), get_queue(topic)
|
||||
// - clear_all()
|
||||
// - sequence numbers per topic (as simple integer appended to payload meta)
|
||||
// - sequence numbers per topic (integer appended to payload meta)
|
||||
|
||||
using Subscriber = std::function<void(const std::string &payload)>;
|
||||
using SubscriptionId = unsigned long;
|
||||
|
||||
void publish(const std::string &topic, const std::string &msg);
|
||||
void publish_async(const std::string &topic, const std::string &msg, unsigned delay_ms = 0);
|
||||
SubscriptionId subscribe(const std::string &topic, Subscriber cb);
|
||||
void unsubscribe(const std::string &topic, SubscriptionId id);
|
||||
std::string take_last(const std::string &topic);
|
||||
|
||||
Reference in new issue
Block a user