#include "remoting/host/ftl_echo_message_listener.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/test/task_environment.h"
#include "remoting/proto/ftl/v1/chromoting_message.pb.h"
#include "remoting/proto/ftl/v1/ftl_messages.pb.h"
#include "remoting/signaling/mock_signal_strategy.h"
#include "remoting/signaling/signaling_address.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
_;
NotNull;
Return;
Unused;
namespace remoting {
namespace {
constexpr char kOwnerEmail[] = …;
constexpr char kTestJid[] = …;
constexpr char kUnknownEmail[] = …;
constexpr char kRegistrationId[] = …;
constexpr char kSystemServiceName[] = …;
constexpr char kEchoMessagePayload[] = …;
constexpr char kSuperLongMessagePayload[] = …;
constexpr char kTruncatedMessagePayload[] = …;
ACTION_P(AddListener, list) { … }
ACTION_P(RemoveListener, list) { … }
ftl::ChromotingMessage CreateEchoMessageWithPayload(
const std::string& message_payload) { … }
}
class FtlEchoMessageListenerTest : public testing::Test { … };
TEST_F(FtlEchoMessageListenerTest, EchoRequestFromOwnerHandled) { … }
TEST_F(FtlEchoMessageListenerTest, EchoRequestFromServiceRejected) { … }
TEST_F(FtlEchoMessageListenerTest, EchoRequestFromNonOwnerRejected) { … }
TEST_F(FtlEchoMessageListenerTest, SuperLongMessageIsTruncated) { … }
TEST_F(FtlEchoMessageListenerTest, EmptyMessageIsRejected) { … }
TEST_F(FtlEchoMessageListenerTest, EmptyMessagePayloadIsHandled) { … }
}