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