Files
nearby/internal/platform/implementation/wifi_utils_test.cc
Guogang Li 6707efeed8 internal refactor
PiperOrigin-RevId: 676552917
2024-09-19 13:58:21 -07:00

103 lines
4.0 KiB
C++

// Copyright 2022 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.
#include "internal/platform/implementation/wifi_utils.h"
#include "gmock/gmock.h"
#include "protobuf-matchers/protocol-buffer-matchers.h"
#include "gtest/gtest.h"
#include "absl/strings/escaping.h"
namespace nearby {
namespace {
constexpr int kChan6Num_2G = 9;
constexpr int kChan6NumFreq_2G = 2452;
constexpr int kChan48Num_5G = 48;
constexpr int kChan48NumFreq_5G = 5240;
constexpr int kChan69Num_6G = 69;
constexpr int kChan69NumFreq_6G = 6295;
constexpr int kChan4Num_60G = 4;
constexpr int kChan4NumFreq_60G = 64800;
constexpr int kChan20Num_2G_NotExist = 20;
constexpr int kChan180Num_5G_NotExist = 180;
constexpr int kChan0Num_6G_NotExist = 0;
constexpr int kChan30Num_60G_NotExist = 30;
constexpr int kFreqNotExist = 1002;
TEST(WifiUtilsTest, ConvertChannelToFrequency) {
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan6Num_2G,
WifiBandType::kUnknown),
kChan6NumFreq_2G);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan6Num_2G,
WifiBandType::kBand24Ghz),
kChan6NumFreq_2G);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan48Num_5G,
WifiBandType::kBand5Ghz),
kChan48NumFreq_5G);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan69Num_6G,
WifiBandType::kBand6Ghz),
kChan69NumFreq_6G);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan4Num_60G,
WifiBandType::kBand60Ghz),
kChan4NumFreq_60G);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan20Num_2G_NotExist,
WifiBandType::kBand24Ghz),
WifiUtils::kUnspecified);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan180Num_5G_NotExist,
WifiBandType::kBand5Ghz),
WifiUtils::kUnspecified);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan0Num_6G_NotExist,
WifiBandType::kBand6Ghz),
WifiUtils::kUnspecified);
EXPECT_EQ(WifiUtils::ConvertChannelToFrequencyMhz(kChan30Num_60G_NotExist,
WifiBandType::kBand60Ghz),
WifiUtils::kUnspecified);
}
TEST(WifiUtilsTest, ConvertFrequencyToChannel) {
EXPECT_EQ(WifiUtils::ConvertFrequencyMhzToChannel(kChan6NumFreq_2G),
kChan6Num_2G);
EXPECT_EQ(WifiUtils::ConvertFrequencyMhzToChannel(kChan48NumFreq_5G),
kChan48Num_5G);
EXPECT_EQ(WifiUtils::ConvertFrequencyMhzToChannel(kChan69NumFreq_6G),
kChan69Num_6G);
EXPECT_EQ(WifiUtils::ConvertFrequencyMhzToChannel(kChan4NumFreq_60G),
kChan4Num_60G);
EXPECT_EQ(WifiUtils::ConvertFrequencyMhzToChannel(kFreqNotExist),
WifiUtils::kUnspecified);
}
TEST(WifiUtilsTest, Ipv4Validation) {
EXPECT_FALSE(WifiUtils::ValidateIPV4("12.34.212.46.37"));
EXPECT_FALSE(WifiUtils::ValidateIPV4("12.gt.212.46"));
EXPECT_FALSE(WifiUtils::ValidateIPV4("192.168.358.46"));
EXPECT_FALSE(WifiUtils::ValidateIPV4("192.-168.1.46"));
EXPECT_TRUE(WifiUtils::ValidateIPV4("192.168.1.46"));
}
TEST(WifiUtilsTest, GetHumanReadableIpAddress) {
EXPECT_EQ(
WifiUtils::GetHumanReadableIpAddress(absl::HexStringToBytes("000AFEFF")),
"0.10.254.255");
}
} // namespace
} // namespace nearby