Commit 5dd9b736 authored by Scott Vokes's avatar Scott Vokes
Browse files

Update kinetic_session unit tests; include opaque types while building tests.

The opaque types need to be included so that CMock can determine their sizes.
parent f4f504d3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -267,4 +267,8 @@ KineticStatus KineticClient_SetClusterVersion(KineticSession handle,
                                              int64_t clusterVersion,
                                              int64_t newClusterVersion);

#if TEST
#include "kinetic_types_internal.h"
#endif

#endif // _KINETIC_CLIENT_H
+3 −0
Original line number Diff line number Diff line
@@ -237,5 +237,8 @@ typedef enum {
    BUS_RESPONSE_FAILURE_HUP,
} bus_status_res_t;

#ifdef TEST
#include "bus_internal_types.h"
#endif

#endif
+4 −0
Original line number Diff line number Diff line
@@ -39,6 +39,10 @@ KineticStatus KineticSession_Create(KineticSession * const session, KineticClien
        return KINETIC_STATUS_SESSION_EMPTY;
    }

    if (client == NULL) {
        return KINETIC_STATUS_SESSION_EMPTY;
    }

    session->connection = KineticAllocator_NewConnection();
    if (session->connection == NULL) {
        return KINETIC_STATUS_MEMORY_ERROR;
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ struct _KineticConnection {

#define KINETIC_CONNECTION_INIT(_con) { (*_con) = (KineticConnection) { \
        .connected = false, \
        .socket = -1,       \
    }; \
}

+16 −6
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@
#include "mock_kinetic_pdu.h"
#include "mock_kinetic_operation.h"
#include "mock_kinetic_allocator.h"
#include "mock_kinetic_client.h"

#include "mock_bus.h"
#include "byte_array.h"
#include <string.h>
#include <sys/time.h>
@@ -40,17 +43,18 @@ static KineticSession Session;
static KineticPDU Request, Response;
static int OperationCompleteCallbackCount;
static KineticStatus LastStatus;
static struct _KineticClient Client;

void setUp(void)
{
    KineticLogger_Init("stdout", 3);
    Session.config = (KineticSessionConfig) {
        .host = "somehost.com",
        .port = 17,
    };
    KINETIC_CONNECTION_INIT(&Connection);
    KineticAllocator_NewConnection_ExpectAndReturn(&Connection);
    KineticStatus status = KineticSession_Create(&Session);
    
    KineticStatus status = KineticSession_Create(&Session, &Client);
    TEST_ASSERT_EQUAL_KineticStatus(KINETIC_STATUS_SUCCESS, status);
    TEST_ASSERT_NOT_NULL(Session.connection);
    TEST_ASSERT_FALSE(Session.connection->connected);
@@ -70,7 +74,13 @@ void tearDown(void)
void test_KineticSession_Create_should_return_KINETIC_STATUS_SESSION_EMPTY_upon_NULL_session(void)
{
    LOG_LOCATION;
    TEST_ASSERT_EQUAL(KINETIC_STATUS_SESSION_EMPTY, KineticSession_Create(NULL));
    TEST_ASSERT_EQUAL(KINETIC_STATUS_SESSION_EMPTY, KineticSession_Create(NULL, NULL));
}

void test_KineticSession_Create_should_return_KINETIC_STATUS_SESSION_EMPTY_upon_NULL_client(void)
{
    LOG_LOCATION;
    TEST_ASSERT_EQUAL(KINETIC_STATUS_SESSION_EMPTY, KineticSession_Create(&Session, NULL));
}

void test_KineticSession_Create_should_allocate_and_destroy_KineticConnections(void)
@@ -79,7 +89,7 @@ void test_KineticSession_Create_should_allocate_and_destroy_KineticConnections(v
    KineticSession session;
    KineticConnection connection;
    KineticAllocator_NewConnection_ExpectAndReturn(&connection);
    KineticStatus status = KineticSession_Create(&session);
    KineticStatus status = KineticSession_Create(&session, &Client);
    TEST_ASSERT_EQUAL_KineticStatus(KINETIC_STATUS_SUCCESS, status);
    TEST_ASSERT_EQUAL_PTR(&connection, session.connection);
    TEST_ASSERT_FALSE(session.connection->connected);
@@ -188,7 +198,8 @@ void test_KineticSession_Connect_should_connect_to_specified_host(void)
        hmacKey, expected.config.hmacKey.len);

    KineticSocket_Connect_ExpectAndReturn(expected.config.host, expected.config.port, expected.connection->socket);
    KineticController_Init_ExpectAndReturn(&session, KINETIC_STATUS_SUCCESS);
    bus_register_socket_ExpectAndReturn(NULL, BUS_SOCKET_PLAIN,
        expectedConnection.socket, &actualConnection, true);

    // Setup mock expectations for worker thread
    KineticSocket_WaitUntilDataAvailable_IgnoreAndReturn(KINETIC_WAIT_STATUS_TIMED_OUT);
@@ -206,7 +217,6 @@ void test_KineticSession_Connect_should_connect_to_specified_host(void)
    TEST_ASSERT_EQUAL_ByteArray(expected.config.hmacKey, session.config.hmacKey);
}


void test_KineticSession_IncrementSequence_should_increment_the_sequence_count(void)
{
    LOG_LOCATION;