Pass Clock and NearbyConnectionsManager to ShareSession constructor.

PiperOrigin-RevId: 683705581
This commit is contained in:
Francis Tsui
2024-10-08 11:41:18 -07:00
committed by Copybara-Service
parent 835e5d16c3
commit a70d4b096f
11 changed files with 179 additions and 236 deletions
+24 -47
View File
@@ -55,8 +55,8 @@ constexpr absl::string_view kEndpointId = "12345";
class TestShareSession : public ShareSession {
public:
TestShareSession(std::string endpoint_id, const ShareTarget& share_target)
: ShareSession(fake_task_runner_, analytics_recorder_,
std::move(endpoint_id), share_target),
: ShareSession(&fake_clock_, fake_task_runner_, &connections_manager_,
analytics_recorder_, std::move(endpoint_id), share_target),
is_incoming_(share_target.is_incoming) {}
bool IsIncoming() const override { return is_incoming_; }
@@ -76,6 +76,10 @@ class TestShareSession : public ShareSession {
share_target_os_type);
}
FakeNearbyConnectionsManager& connections_manager() {
return connections_manager_;
}
MOCK_METHOD(void, InvokeTransferUpdateCallback,
(const TransferMetadata& metadata), (override));
MOCK_METHOD(void, OnConnectionDisconnected, (), (override));
@@ -89,6 +93,7 @@ class TestShareSession : public ShareSession {
private:
FakeClock fake_clock_;
FakeTaskRunner fake_task_runner_{&fake_clock_, 1};
FakeNearbyConnectionsManager connections_manager_;
nearby::analytics::MockEventLogger mock_event_logger_;
analytics::AnalyticsRecorder analytics_recorder_{/*vendor_id=*/0,
&mock_event_logger_};
@@ -139,32 +144,27 @@ TEST(ShareSessionTest, SetDisconnectStatus) {
}
TEST(ShareSessionTest, OnConnectedFails) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
session.SetOnNewConnectionResult(false);
EXPECT_FALSE(session.OnConnected(absl::Now(), &connections_manager,
EXPECT_FALSE(session.OnConnected(absl::Now(),
/*connection=*/nullptr));
}
TEST(ShareSessionTest, OnConnectedSucceeds) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
session.SetOnNewConnectionResult(true);
absl::Time connect_start_time = absl::Now();
EXPECT_TRUE(session.OnConnected(connect_start_time, &connections_manager,
&connection));
EXPECT_TRUE(session.OnConnected(connect_start_time, &connection));
EXPECT_EQ(session.connection_start_time(), connect_start_time);
EXPECT_EQ(session.connection(), &connection);
}
TEST(ShareSessionTest, IncomingRunPairedKeyVerificationSuccess) {
FakeNearbyConnectionsManager connections_manager;
FakeClock fake_clock;
FakeNearbyShareCertificateManager certificate_manager;
FakeNearbyConnection connection;
std::vector<uint8_t> token = {0, 1, 2, 3, 4, 5};
@@ -173,13 +173,12 @@ TEST(ShareSessionTest, IncomingRunPairedKeyVerificationSuccess) {
TestShareSession session(std::string(kEndpointId), share_target);
session.SetOnNewConnectionResult(true);
absl::Time connect_start_time = absl::Now();
EXPECT_TRUE(session.OnConnected(connect_start_time, &connections_manager,
&connection));
EXPECT_TRUE(session.OnConnected(connect_start_time, &connection));
absl::Notification notification;
PairedKeyVerificationRunner::PairedKeyVerificationResult verification_result;
session.RunPairedKeyVerification(
&fake_clock, OSType::WINDOWS,
OSType::WINDOWS,
{
.visibility = proto::DeviceVisibility::DEVICE_VISIBILITY_EVERYONE,
.last_visibility =
@@ -245,28 +244,24 @@ TEST(ShareSessionTest, OnDisconnect) {
}
TEST(ShareSessionTest, CancelPayloads) {
FakeNearbyConnectionsManager connections_manager;
FakeNearbyConnection connection;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetAttachmentPayloadId(1, 2);
session.SetAttachmentPayloadId(3, 4);
session.CancelPayloads();
EXPECT_TRUE(connections_manager.WasPayloadCanceled(2));
EXPECT_TRUE(connections_manager.WasPayloadCanceled(4));
EXPECT_TRUE(session.connections_manager().WasPayloadCanceled(2));
EXPECT_TRUE(session.connections_manager().WasPayloadCanceled(4));
}
TEST(ShareSessionTest, WriteResponseFrame) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.WriteResponseFrame(ConnectionResponseFrame::REJECT);
@@ -280,12 +275,10 @@ TEST(ShareSessionTest, WriteResponseFrame) {
}
TEST(ShareSessionTest, WriteCancelFrame) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.WriteCancelFrame();
@@ -297,12 +290,10 @@ TEST(ShareSessionTest, WriteCancelFrame) {
}
TEST(ShareSessionTest, HandleKeyVerificationResultFail) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetTokenForTests("9876");
EXPECT_FALSE(session.HandleKeyVerificationResult(
@@ -313,13 +304,11 @@ TEST(ShareSessionTest, HandleKeyVerificationResultFail) {
}
TEST(ShareSessionTest, HandleKeyVerificationResultSelfShareSuccess) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
share_target.for_self_share = true;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetTokenForTests("9876");
EXPECT_TRUE(session.HandleKeyVerificationResult(
@@ -331,12 +320,10 @@ TEST(ShareSessionTest, HandleKeyVerificationResultSelfShareSuccess) {
}
TEST(ShareSessionTest, HandleKeyVerificationResultNotSelfShareSuccess) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetTokenForTests("9876");
EXPECT_TRUE(session.HandleKeyVerificationResult(
@@ -349,13 +336,11 @@ TEST(ShareSessionTest, HandleKeyVerificationResultNotSelfShareSuccess) {
}
TEST(ShareSessionTest, HandleKeyVerificationResultSelfShareUnable) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
share_target.for_self_share = true;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetTokenForTests("9876");
EXPECT_TRUE(session.HandleKeyVerificationResult(
@@ -367,12 +352,10 @@ TEST(ShareSessionTest, HandleKeyVerificationResultSelfShareUnable) {
}
TEST(ShareSessionTest, HandleKeyVerificationResultNotSelfShareUnable) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetTokenForTests("9876");
EXPECT_TRUE(session.HandleKeyVerificationResult(
@@ -384,12 +367,10 @@ TEST(ShareSessionTest, HandleKeyVerificationResultNotSelfShareUnable) {
}
TEST(ShareSessionTest, HandleKeyVerificationResultUnknown) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.SetTokenForTests("9876");
EXPECT_FALSE(session.HandleKeyVerificationResult(
@@ -410,15 +391,13 @@ TEST(ShareSessionTest, AbortNotConnected) {
}
TEST(ShareSessionTest, AbortConnected) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
bool disconnected = false;
connection.SetDisconnectionListener(
[&disconnected]() { disconnected = true; });
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
EXPECT_CALL(session, InvokeTransferUpdateCallback(AllOf(
HasStatus(TransferMetadata::Status::kNotEnoughSpace),
IsFinalStatus())));
@@ -429,15 +408,13 @@ TEST(ShareSessionTest, AbortConnected) {
}
TEST(ShareSessionTest, Disconnect) {
FakeNearbyConnectionsManager connections_manager;
ShareTarget share_target;
TestShareSession session(std::string(kEndpointId), share_target);
FakeNearbyConnection connection;
bool disconnected = false;
connection.SetDisconnectionListener(
[&disconnected]() { disconnected = true; });
EXPECT_TRUE(
session.OnConnected(absl::Now(), &connections_manager, &connection));
EXPECT_TRUE(session.OnConnected(absl::Now(), &connection));
session.Disconnect();