Example #1
0
KineticStatus KineticAdminClient_SetClusterVersion(KineticSession * const session,
    int64_t version)
{
    KINETIC_ASSERT(session != NULL);

    KineticOperation* operation = KineticAllocator_NewOperation(session);
    if (operation == NULL) {return KINETIC_STATUS_MEMORY_ERROR;}

    KineticBuilder_BuildSetClusterVersion(operation, version);
    return KineticController_ExecuteOperation(operation, NULL);
}
void test_KineticBuilder_BuildSetClusterVersion_should_build_a_SET_CLUSTER_VERSION_operation_with_PIN_auth(void)
{
    KineticOperation_ValidateOperation_Expect(&Operation);

    KineticBuilder_BuildSetClusterVersion(&Operation, 1776);

    TEST_ASSERT_FALSE(Request.pinAuth);
    TEST_ASSERT_NULL(Operation.response);
    TEST_ASSERT_EQUAL(0, Operation.timeoutSeconds);
    TEST_ASSERT_TRUE(Request.message.command.header->has_messagetype);
    TEST_ASSERT_EQUAL(COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__SETUP,
        Request.message.command.header->messagetype);
    TEST_ASSERT_EQUAL_PTR(&Request.message.body, Request.command->body);

    TEST_ASSERT_EQUAL_PTR(&Request.message.setup, Request.command->body->setup);
    TEST_ASSERT_EQUAL_INT64(1776, Request.message.setup.newclusterversion);
    TEST_ASSERT_EQUAL_INT64(1776, Operation.pendingClusterVersion);
    TEST_ASSERT_TRUE(Request.message.setup.has_newclusterversion);
    TEST_ASSERT_FALSE(Request.message.setup.has_firmwaredownload);
    TEST_ASSERT_EQUAL_PTR(&KineticCallbacks_SetClusterVersion, Operation.opCallback);
}