in platform/posix/transport/utest/openssl_utest.c [450:520]
void test_Openssl_Connect_Invalid_Params( void )
{
OpensslStatus_t returnStatus, expectedStatus;
SocketStatus_t socketError;
returnStatus = Openssl_Connect( NULL,
&serverInfo,
&opensslCredentials,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( OPENSSL_INVALID_PARAMETER, returnStatus );
networkContext.pParams = NULL;
returnStatus = Openssl_Connect( &networkContext,
&serverInfo,
&opensslCredentials,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( OPENSSL_INVALID_PARAMETER, returnStatus );
networkContext.pParams = &opensslParams;
/* Fail Sockets_Connect(...) */
/* NULL serverInfo is handled by Sockets_Connect, so we appropriately
* return SOCKETS_INVALID_PARAMETER. */
socketError = SOCKETS_INVALID_PARAMETER;
expectedStatus = failFunctionFrom_Openssl_Connect( Sockets_Connect_fn, &socketError );
returnStatus = Openssl_Connect( &networkContext,
NULL,
&opensslCredentials,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( expectedStatus, returnStatus );
/* Mock a DNS failure from the call to the sockets connect wrapper. */
socketError = SOCKETS_DNS_FAILURE;
expectedStatus = failFunctionFrom_Openssl_Connect( Sockets_Connect_fn, &socketError );
returnStatus = Openssl_Connect( &networkContext,
&serverInfo,
&opensslCredentials,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( expectedStatus, returnStatus );
/* Mock a connection failure from the call to the sockets connect wrapper. */
socketError = SOCKETS_CONNECT_FAILURE;
expectedStatus = failFunctionFrom_Openssl_Connect( Sockets_Connect_fn, &socketError );
returnStatus = Openssl_Connect( &networkContext,
NULL,
&opensslCredentials,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( expectedStatus, returnStatus );
/* Mock an unknown SOCKETS error for the default case in the switch. */
socketError = SOCKETS_INSUFFICIENT_MEMORY;
expectedStatus = failFunctionFrom_Openssl_Connect( Sockets_Connect_fn, &socketError );
returnStatus = Openssl_Connect( &networkContext,
NULL,
&opensslCredentials,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( expectedStatus, returnStatus );
returnStatus = Openssl_Connect( &networkContext,
&serverInfo,
NULL,
SEND_RECV_TIMEOUT,
SEND_RECV_TIMEOUT );
TEST_ASSERT_EQUAL( OPENSSL_INVALID_PARAMETER, returnStatus );
}