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); }