Exemple #1
0
KineticStatus KineticClient_DestroySession(KineticSession* const session)
{
    if (session == NULL) {
        LOG0("KineticSession is NULL!");
        return KINETIC_STATUS_SESSION_INVALID;
    }

    KineticStatus status = KineticSession_Disconnect(session);
    if (status != KINETIC_STATUS_SUCCESS) {LOG0("Disconnection failed!");}
    KineticSession_Destroy(session);

    return status;
}
void test_KineticSession_Create_should_allocate_and_destroy_KineticConnections(void)
{
    KineticSession session;
    memset(&session, 0, sizeof(session));

    KineticCountingSemaphore_Create_ExpectAndReturn(KINETIC_MAX_OUTSTANDING_OPERATIONS_PER_SESSION, &Semaphore);

    KineticStatus status = KineticSession_Create(&session, &Client);

    TEST_ASSERT_EQUAL_KineticStatus(KINETIC_STATUS_SUCCESS, status);
    TEST_ASSERT_FALSE(session.connected);
    TEST_ASSERT_EQUAL(-1, session.socket);
    TEST_ASSERT_EQUAL_INT64(0, session.sequence);
    TEST_ASSERT_EQUAL_INT64(0, session.connectionID);

    KineticCountingSemaphore_Destroy_Expect(&Semaphore);
    KineticAllocator_FreeSession_Expect(&session);

    status = KineticSession_Destroy(&session);

    TEST_ASSERT_EQUAL_KineticStatus(KINETIC_STATUS_SUCCESS, status);
}