OSDN Git Service

WifiCond: Setup polling on HW binder FD
[android-x86/system-connectivity-wificond.git] / tests / scan_settings_unittest.cpp
index c82281f..5e5772b 100644 (file)
  * limitations under the License.
  */
 
+#include <vector>
+
 #include <gtest/gtest.h>
 
 #include "wificond/scanning/channel_settings.h"
 #include "wificond/scanning/hidden_network.h"
+#include "wificond/scanning/pno_network.h"
+#include "wificond/scanning/pno_settings.h"
+#include "wificond/scanning/single_scan_settings.h"
 
 using ::com::android::server::wifi::wificond::ChannelSettings;
 using ::com::android::server::wifi::wificond::HiddenNetwork;
+using ::com::android::server::wifi::wificond::PnoNetwork;
+using ::com::android::server::wifi::wificond::PnoSettings;
+using ::com::android::server::wifi::wificond::SingleScanSettings;
+using std::vector;
 
 namespace android {
 namespace wificond {
@@ -29,8 +38,16 @@ namespace {
 
 const uint8_t kFakeSsid[] =
     {'G', 'o', 'o', 'g', 'l', 'e', 'G', 'u', 'e', 's', 't'};
+const uint8_t kFakeSsid1[] =
+    {'A', 'n', 'd', 'r', 'o', 'i', 'd', 'A', 'P', 'T', 'e', 's', 't'};
+
+constexpr int32_t kFakePnoIntervalMs = 20000;
+constexpr int32_t kFakePnoMin2gRssi = -80;
+constexpr int32_t kFakePnoMin5gRssi = -85;
 
 constexpr uint32_t kFakeFrequency = 5260;
+constexpr uint32_t kFakeFrequency1 = 2460;
+constexpr uint32_t kFakeFrequency2 = 2500;
 
 }  // namespace
 
@@ -54,7 +71,7 @@ TEST_F(ScanSettingsTest, ChannelSettingsParcelableTest) {
 TEST_F(ScanSettingsTest, HiddenNetworkParcelableTest) {
   HiddenNetwork hidden_network;
   hidden_network.ssid_ =
-      std::vector<uint8_t>(kFakeSsid, kFakeSsid + sizeof(kFakeSsid));
+      vector<uint8_t>(kFakeSsid, kFakeSsid + sizeof(kFakeSsid));
 
   Parcel parcel;
   EXPECT_EQ(::android::OK, hidden_network.writeToParcel(&parcel));
@@ -66,6 +83,75 @@ TEST_F(ScanSettingsTest, HiddenNetworkParcelableTest) {
   EXPECT_EQ(hidden_network, hidden_network_copy);
 }
 
+TEST_F(ScanSettingsTest, SingleScanSettingsParcelableTest) {
+  SingleScanSettings scan_settings;
+
+  ChannelSettings channel, channel1, channel2;
+  channel.frequency_ = kFakeFrequency;
+  channel1.frequency_ = kFakeFrequency1;
+  channel2.frequency_ = kFakeFrequency2;
+
+  HiddenNetwork network;
+  network.ssid_ =
+      vector<uint8_t>(kFakeSsid, kFakeSsid + sizeof(kFakeSsid));
+
+  scan_settings.channel_settings_ = {channel, channel1, channel2};
+  scan_settings.hidden_networks_ = {network};
+
+  Parcel parcel;
+  EXPECT_EQ(::android::OK, scan_settings.writeToParcel(&parcel));
+
+  SingleScanSettings scan_settings_copy;
+  parcel.setDataPosition(0);
+  EXPECT_EQ(::android::OK, scan_settings_copy.readFromParcel(&parcel));
+
+  EXPECT_EQ(scan_settings, scan_settings_copy);
+}
+
+TEST_F(ScanSettingsTest, PnoNetworkParcelableTest) {
+  PnoNetwork pno_network;
+  pno_network.ssid_ =
+      vector<uint8_t>(kFakeSsid, kFakeSsid + sizeof(kFakeSsid));
+  pno_network.is_hidden_ = true;
+
+  Parcel parcel;
+  EXPECT_EQ(::android::OK, pno_network.writeToParcel(&parcel));
+
+  PnoNetwork pno_network_copy;
+  parcel.setDataPosition(0);
+  EXPECT_EQ(::android::OK, pno_network_copy.readFromParcel(&parcel));
+
+  EXPECT_EQ(pno_network, pno_network_copy);
+}
+
+TEST_F(ScanSettingsTest, PnoSettingsParcelableTest) {
+  PnoSettings pno_settings;
+
+  PnoNetwork network, network1;
+  network.ssid_ =
+      vector<uint8_t>(kFakeSsid, kFakeSsid + sizeof(kFakeSsid));
+  network.is_hidden_ = true;
+  network1.ssid_ =
+      vector<uint8_t>(kFakeSsid1, kFakeSsid1 + sizeof(kFakeSsid1));
+  network1.is_hidden_ = false;
+
+  pno_settings.interval_ms_ = kFakePnoIntervalMs;
+  pno_settings.min_2g_rssi_ = kFakePnoMin2gRssi;
+  pno_settings.min_5g_rssi_ = kFakePnoMin5gRssi;
+
+  pno_settings.pno_networks_ = {network, network1};
+
+  Parcel parcel;
+  EXPECT_EQ(::android::OK, pno_settings.writeToParcel(&parcel));
+
+  PnoSettings pno_settings_copy;
+  parcel.setDataPosition(0);
+  EXPECT_EQ(::android::OK, pno_settings_copy.readFromParcel(&parcel));
+
+  EXPECT_EQ(pno_settings, pno_settings_copy);
+}
+
+
 
 }  // namespace wificond
 }  // namespace android