18#include <gmock/gmock.h>
19#include <gtest/gtest.h>
22using ::testing::NiceMock;
23using ::testing::Return;
54 EXPECT_CALL(mockExecutor, executeCommand(QString(
"nmcli -t -f DEVICE,STATE,CONNECTION dev")))
55 .WillOnce(Return(QString(
"wlan0:connected:MyWiFi")));
57 QString status = infoProvider->getWifiStatus(wifiName);
59 EXPECT_EQ(status,
"Connected");
60 EXPECT_EQ(wifiName,
"MyWiFi");
75 EXPECT_CALL(mockExecutor, executeCommand(QString(
"nmcli -t -f DEVICE,STATE,CONNECTION dev")))
76 .WillOnce(Return(QString(
"wlan0:disconnected:")));
78 QString status = infoProvider->getWifiStatus(wifiName);
80 EXPECT_EQ(status,
"Disconnected");
81 EXPECT_TRUE(wifiName.isEmpty());
96 EXPECT_CALL(mockExecutor, executeCommand(QString(
"nmcli -t -f DEVICE,STATE,CONNECTION dev")))
97 .WillOnce(Return(QString(
"eth0:connected:Ethernet")));
99 QString status = infoProvider->getWifiStatus(wifiName);
101 EXPECT_EQ(status,
"No interface detected");
102 EXPECT_TRUE(wifiName.isEmpty());
116 EXPECT_CALL(mockExecutor, readFile(QString(
"/sys/class/hwmon/hwmon0/temp1_input")))
117 .WillOnce(Return(QString(
"45000")));
119 QString temperature = infoProvider->getTemperature();
121 EXPECT_EQ(temperature,
"45.0°C");
134 EXPECT_CALL(mockExecutor, readFile(QString(
"/sys/class/hwmon/hwmon0/temp1_input")))
135 .WillOnce(Return(QString(
"INVALID")));
137 QString temperature = infoProvider->getTemperature();
139 EXPECT_EQ(temperature,
"N/A");
154 executeCommand(QString(
155 "sh -c \"ip -4 addr show wlan0 | grep -oP '(?<=inet\\s)\\d+\\.\\d+\\.\\d+\\.\\d+'\"")))
156 .WillOnce(Return(QString(
"192.168.1.100")));
158 QString ipAddress = infoProvider->getIpAddress();
160 EXPECT_EQ(ipAddress,
"192.168.1.100");
175 executeCommand(QString(
176 "sh -c \"ip -4 addr show wlan0 | grep -oP '(?<=inet\\s)\\d+\\.\\d+\\.\\d+\\.\\d+'\"")))
177 .WillOnce(Return(QString(
"")));
179 QString ipAddress = infoProvider->getIpAddress();
181 EXPECT_EQ(ipAddress,
"No IP address");
File containing the Mock class of the SystemCommandExecutor class.
Definition of the SystemInfoProvider class.
Test fixture for testing the SystemInfoProvider class.
NiceMock< MockSystemCommandExecutor > mockExecutor
SystemInfoProvider * infoProvider
Class that provides system information to the display manager.
TEST_F(SystemInfoProviderTest, GetWifiStatus_Connected)
Ensures that the wifi status is correctly retrieved.