@@ -24,10 +24,14 @@ extern std::list<uint32_t> eventFlagsStubNextRetval;
24
24
// InternetSocket is an abstract class, so we have to test it via its child.
25
25
class stubInternetSocket : public InternetSocket {
26
26
protected:
27
- nsapi_error_t return_value = 0 ;
27
+ nsapi_error_t return_value;
28
28
public:
29
+ stubInternetSocket () {
30
+ return_value = 0 ;
31
+ }
29
32
virtual nsapi_error_t connect (const SocketAddress &address)
30
33
{
34
+ _remote_peer = address;
31
35
return return_value;
32
36
}
33
37
virtual nsapi_size_or_error_t send (const void *data, nsapi_size_t size)
@@ -227,3 +231,25 @@ TEST_F(TestInternetSocket, sigio)
227
231
socket->close (); // Trigger event;
228
232
EXPECT_EQ (callback_is_called, true );
229
233
}
234
+
235
+ TEST_F (TestInternetSocket, getpeername)
236
+ {
237
+ SocketAddress peer;
238
+ SocketAddress zero;
239
+
240
+ stack.return_value = NSAPI_ERROR_OK;
241
+
242
+ EXPECT_EQ (socket->getpeername (&peer), NSAPI_ERROR_NO_SOCKET);
243
+
244
+ socket->open ((NetworkStack *)&stack);
245
+ socket->connect (zero);
246
+
247
+ EXPECT_EQ (socket->getpeername (&peer), NSAPI_ERROR_NO_CONNECTION);
248
+
249
+ const nsapi_addr_t saddr = {NSAPI_IPv4, {192 , 168 , 0 , 1 } };
250
+ const SocketAddress remote (saddr, 1024 );
251
+ socket->connect (remote);
252
+
253
+ EXPECT_EQ (socket->getpeername (&peer), NSAPI_ERROR_OK);
254
+ EXPECT_EQ (remote, peer);
255
+ }
0 commit comments