mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Add tests for WifiLanBwuHandler.
PiperOrigin-RevId: 832075030
This commit is contained in:
committed by
Copybara-Service
parent
8ffa9267ce
commit
2d272f59ea
@@ -388,6 +388,26 @@ cc_library(
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "mock_platform",
|
||||
testonly = True,
|
||||
hdrs = [
|
||||
"mock_input_stream.h",
|
||||
"mock_output_stream.h",
|
||||
"mock_wifi_lan_medium.h",
|
||||
"mock_wifi_lan_server_socket.h",
|
||||
"mock_wifi_lan_socket.h",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":base",
|
||||
":cancellation_flag",
|
||||
"//internal/platform/implementation:comm",
|
||||
"@com_google_absl//absl/types:optional",
|
||||
"@com_google_googletest//:gtest_for_library_testonly",
|
||||
],
|
||||
)
|
||||
|
||||
cc_test(
|
||||
name = "platform_base_test",
|
||||
srcs = [
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
// Copyright 2025 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_INPUT_STREAM_H_
|
||||
#define THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_INPUT_STREAM_H_
|
||||
|
||||
#include <cstdint>
|
||||
#include "gmock/gmock.h"
|
||||
#include "internal/platform/byte_array.h"
|
||||
#include "internal/platform/exception.h"
|
||||
#include "internal/platform/input_stream.h"
|
||||
|
||||
namespace nearby {
|
||||
|
||||
class MockInputStream : public InputStream {
|
||||
public:
|
||||
MOCK_METHOD(ExceptionOr<ByteArray>, Read, (std::int64_t size), (override));
|
||||
MOCK_METHOD(Exception, Close, (), (override));
|
||||
};
|
||||
|
||||
} // namespace nearby
|
||||
|
||||
#endif // THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_INPUT_STREAM_H_
|
||||
@@ -0,0 +1,34 @@
|
||||
// Copyright 2025 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_OUTPUT_STREAM_H_
|
||||
#define THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_OUTPUT_STREAM_H_
|
||||
|
||||
#include "gmock/gmock.h"
|
||||
#include "internal/platform/byte_array.h"
|
||||
#include "internal/platform/exception.h"
|
||||
#include "internal/platform/output_stream.h"
|
||||
|
||||
namespace nearby {
|
||||
|
||||
class MockOutputStream : public OutputStream {
|
||||
public:
|
||||
MOCK_METHOD(Exception, Write, (const ByteArray& data), (override));
|
||||
MOCK_METHOD(Exception, Flush, (), (override));
|
||||
MOCK_METHOD(Exception, Close, (), (override));
|
||||
};
|
||||
|
||||
} // namespace nearby
|
||||
|
||||
#endif // THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_OUTPUT_STREAM_H_
|
||||
@@ -0,0 +1,63 @@
|
||||
// Copyright 2025 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_MEDIUM_H_
|
||||
#define THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_MEDIUM_H_
|
||||
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/types/optional.h"
|
||||
#include "gmock/gmock.h"
|
||||
#include "internal/platform/cancellation_flag.h"
|
||||
#include "internal/platform/implementation/wifi_lan.h"
|
||||
#include "internal/platform/nsd_service_info.h"
|
||||
|
||||
namespace nearby {
|
||||
|
||||
class MockWifiLanMedium : public api::WifiLanMedium {
|
||||
public:
|
||||
MOCK_METHOD(bool, IsNetworkConnected, (), (const, override));
|
||||
MOCK_METHOD(bool, StartAdvertising, (const NsdServiceInfo& nsd_service_info),
|
||||
(override));
|
||||
MOCK_METHOD(bool, StopAdvertising, (const NsdServiceInfo& nsd_service_info),
|
||||
(override));
|
||||
MOCK_METHOD(bool, StartDiscovery,
|
||||
(const std::string& service_type,
|
||||
DiscoveredServiceCallback callback),
|
||||
(override));
|
||||
MOCK_METHOD(bool, StopDiscovery, (const std::string& service_type),
|
||||
(override));
|
||||
MOCK_METHOD(std::unique_ptr<api::WifiLanSocket>, ConnectToService,
|
||||
(const NsdServiceInfo& remote_service_info,
|
||||
CancellationFlag* cancellation_flag),
|
||||
(override));
|
||||
MOCK_METHOD(std::unique_ptr<api::WifiLanSocket>, ConnectToService,
|
||||
(const std::string& ip_address, int port,
|
||||
CancellationFlag* cancellation_flag),
|
||||
(override));
|
||||
MOCK_METHOD(std::unique_ptr<api::WifiLanServerSocket>, ListenForService,
|
||||
(int port), (override));
|
||||
MOCK_METHOD((absl::optional<std::pair<std::int32_t, std::int32_t>>),
|
||||
GetDynamicPortRange, (), (override));
|
||||
MOCK_METHOD(std::vector<std::string>, GetUpgradeAddressCandidates,
|
||||
(const api::WifiLanServerSocket& server_socket), (override));
|
||||
};
|
||||
|
||||
} // namespace nearby
|
||||
|
||||
#endif // THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_MEDIUM_H_
|
||||
@@ -0,0 +1,37 @@
|
||||
// Copyright 2025 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_SERVER_SOCKET_H_
|
||||
#define THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_SERVER_SOCKET_H_
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "gmock/gmock.h"
|
||||
#include "internal/platform/exception.h"
|
||||
#include "internal/platform/implementation/wifi_lan.h"
|
||||
|
||||
namespace nearby {
|
||||
|
||||
class MockWifiLanServerSocket : public api::WifiLanServerSocket {
|
||||
public:
|
||||
MOCK_METHOD(std::string, GetIPAddress, (), (const, override));
|
||||
MOCK_METHOD(int, GetPort, (), (const, override));
|
||||
MOCK_METHOD(std::unique_ptr<api::WifiLanSocket>, Accept, (), (override));
|
||||
MOCK_METHOD(Exception, Close, (), (override));
|
||||
};
|
||||
|
||||
} // namespace nearby
|
||||
|
||||
#endif // THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_SERVER_SOCKET_H_
|
||||
@@ -0,0 +1,35 @@
|
||||
// Copyright 2025 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_SOCKET_H_
|
||||
#define THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_SOCKET_H_
|
||||
|
||||
#include "gmock/gmock.h"
|
||||
#include "internal/platform/exception.h"
|
||||
#include "internal/platform/implementation/wifi_lan.h"
|
||||
#include "internal/platform/input_stream.h"
|
||||
#include "internal/platform/output_stream.h"
|
||||
|
||||
namespace nearby {
|
||||
|
||||
class MockWifiLanSocket : public api::WifiLanSocket {
|
||||
public:
|
||||
MOCK_METHOD(InputStream&, GetInputStream, (), (override));
|
||||
MOCK_METHOD(OutputStream&, GetOutputStream, (), (override));
|
||||
MOCK_METHOD(Exception, Close, (), (override));
|
||||
};
|
||||
|
||||
} // namespace nearby
|
||||
|
||||
#endif // THIRD_PARTY_NEARBY_INTERNAL_PLATFORM_MOCK_WIFI_LAN_SOCKET_H_
|
||||
@@ -66,8 +66,6 @@ class HotspotCredentials {
|
||||
private:
|
||||
std::string ssid_;
|
||||
std::string password_;
|
||||
std::string gateway_;
|
||||
int port_ = 0;
|
||||
int frequency_ = -1;
|
||||
std::vector<ServiceAddress> address_candidates_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user