Skip to content

Commit 3d38414

Browse files
authored
Merge pull request #567 from microsoft/sid-dahiya/TestUpdatesForImprovedIpAddressFiltering
Module and Test updates for improved IP v4 address filtering
2 parents c4dbfef + e218270 commit 3d38414

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

Diff for: lib/modules

Diff for: tests/unittests/DefaultDataViewerTests.cpp

+20-17
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,13 @@ class MockDefaultDataViewer : public MAT::DefaultDataViewer
8585
using MAT::DefaultDataViewer::GetCurrentEndpoint;
8686
};
8787

88-
TEST(DefaultDataViewerTests, Constructor_HttpClientNotPassed_HttpClientSetsOrThrowsBasedOnConfig)
88+
TEST(DefaultDataViewerTests, Constructor_HttpClientNotPassed_HttpClientSetsOrThrowsInvalidArgumentBasedOnConfig)
8989
{
9090
#ifdef HAVE_MAT_DEFAULT_HTTP_CLIENT
9191
MockDefaultDataViewer viewer(nullptr, "Test");
9292
ASSERT_TRUE(viewer.GetHttpClient());
9393
#else
94-
ASSERT_THROW(MockDefaultDataViewer(nullptr, "Test"), std::invalid_argument);
94+
CheckForExceptionOrAbort<std::invalid_argument>({ MockDefaultDataViewer(nullptr, "Test"); });
9595
#endif
9696
}
9797

@@ -120,11 +120,11 @@ TEST(DefaultDataViewerTests, EnableRemoteViewer_ValidEndpoint_TransmissionEnable
120120
};
121121

122122
MockDefaultDataViewer viewer(mockHttpClient, "Test");
123-
viewer.EnableRemoteViewer("http://TestEndpoint");
123+
viewer.EnableRemoteViewer("http://10.0.0.1");
124124
ASSERT_TRUE(viewer.IsTransmissionEnabled());
125125
viewer.DisableViewer();
126126
ASSERT_FALSE(viewer.IsTransmissionEnabled());
127-
viewer.EnableRemoteViewer("HTTP://TestEndpoint");
127+
viewer.EnableRemoteViewer("HTTP://10.0.0.1");
128128
ASSERT_TRUE(viewer.IsTransmissionEnabled());
129129
}
130130

@@ -140,26 +140,29 @@ TEST(DefaultDataViewerTests, GetEndpoint_CorrectEndpointReturned)
140140

141141
MockDefaultDataViewer viewer(mockHttpClient, "Test");
142142
ASSERT_EQ("", viewer.GetCurrentEndpoint());
143-
const std::string endpoint{"http://TestEndpoint"};
143+
const std::string endpoint{"http://10.0.0.1"};
144144
viewer.EnableRemoteViewer(endpoint);
145145
ASSERT_EQ(endpoint, viewer.GetCurrentEndpoint());
146146

147147
ASSERT_TRUE(viewer.IsTransmissionEnabled());
148148
}
149149

150150
//TODO Uncomment this test when the submodule has been updated.
151-
TEST(DefaultDataViewerTests, EnableRemoteViewer_InvalidEndpoint_ThrowsInvalidArgument)
151+
TEST(DefaultDataViewerTests, IsValidRemoteEndpoint_InvalidEndpoint_ReturnsFalse)
152152
{
153153
auto mockHttpClient = std::make_shared<MockHttpClient>();
154154
MockDefaultDataViewer viewer(mockHttpClient, "Test");
155-
CheckForExceptionOrAbort<std::invalid_argument>([&viewer]() { viewer.EnableRemoteViewer(""); });
156-
CheckForExceptionOrAbort<std::invalid_argument>([&viewer]() { viewer.EnableRemoteViewer(" "); });
157-
CheckForExceptionOrAbort<std::invalid_argument>([&viewer]() { viewer.EnableRemoteViewer("TestEndpoint"); });
158-
CheckForExceptionOrAbort<std::invalid_argument>([&viewer]() { viewer.EnableRemoteViewer("https://TestEndpoint"); });
159-
CheckForExceptionOrAbort<std::invalid_argument>([&viewer]() { viewer.EnableRemoteViewer("HTTps://TestEndpoint"); });
155+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint(""));
156+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint(""));
157+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint(" "));
158+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint("TestEndpoint"));
159+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint("https://10.0.0.1"));
160+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint("HTTps://10.0.0.1"));
161+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint("http://14.0.0.1"));
162+
ASSERT_FALSE(viewer.IsValidRemoteEndpoint("http://192.168.999.999"));
160163
}
161164

162-
TEST(DefaultDataViewerTests, EnableRemoteViewer_InvalidEndpoint_TransmissionNotEnabled)
165+
TEST(DefaultDataViewerTests, EnableRemoteViewer_NonRespondingEndpoint_TransmissionNotEnabled)
163166
{
164167
auto mockHttpClient = std::make_shared<MockHttpClient>();
165168
mockHttpClient->funcSendRequestAsync = [](MAT::IHttpRequest*, MAT::IHttpResponseCallback* callback)
@@ -171,7 +174,7 @@ TEST(DefaultDataViewerTests, EnableRemoteViewer_InvalidEndpoint_TransmissionNotE
171174
};
172175

173176
MockDefaultDataViewer viewer(mockHttpClient, "Test");
174-
viewer.EnableRemoteViewer("http://TestEndpoint");
177+
viewer.EnableRemoteViewer("http://10.0.0.1");
175178

176179
ASSERT_FALSE(viewer.IsTransmissionEnabled());
177180
}
@@ -378,7 +381,7 @@ TEST(DefaultDataViewerTests, EnableRemoteViewer_ReceiveData_DataReceivedCorrectl
378381
};
379382

380383
MockDefaultDataViewer viewer(mockHttpClient, "Test");
381-
viewer.EnableRemoteViewer("http://TestEndpoint");
384+
viewer.EnableRemoteViewer("http://10.0.0.1");
382385
ASSERT_TRUE(viewer.IsTransmissionEnabled());
383386
viewer.ReceiveData(std::vector<uint8_t>{1, 2, 3});
384387
ASSERT_TRUE(viewer.IsTransmissionEnabled());
@@ -405,7 +408,7 @@ TEST(DefaultDataViewerTests, EnableRemoteViewer_SendRequestTimeout_TransmissionE
405408
};
406409

407410
MockDefaultDataViewer viewer(mockHttpClient, "Test");
408-
viewer.EnableRemoteViewer("http://TestEndpoint");
411+
viewer.EnableRemoteViewer("http://10.0.0.1");
409412
ASSERT_FALSE(viewer.IsTransmissionEnabled());
410413

411414
// This sleep is for test only as we are mocking out the HttpClient
@@ -422,7 +425,7 @@ TEST(DefaultDataViewerTests, EnableRemoteViewer_SendRequestTimeout_TransmissionE
422425
callback->OnHttpResponse(response.get());
423426
});
424427
};
425-
viewer.EnableRemoteViewer("http://TestEndpoint");
428+
viewer.EnableRemoteViewer("http://10.0.0.1");
426429
ASSERT_TRUE(viewer.IsTransmissionEnabled());
427430
}
428431

@@ -440,7 +443,7 @@ TEST(DefaultDataViewerTests, EnableRemoteViewer_SendRequestTakes20Seconds_Transm
440443
};
441444

442445
MockDefaultDataViewer viewer(mockHttpClient, "Test");
443-
viewer.EnableRemoteViewer("http://TestEndpoint");
446+
viewer.EnableRemoteViewer("http://10.0.0.1");
444447
ASSERT_TRUE(viewer.IsTransmissionEnabled());
445448
}
446449
#endif

0 commit comments

Comments
 (0)