void CDispToDispProtoSerializerTest::testDispToDispAuthorizeCommandIsValidFailedOnEmptyPackage() { AUTHORIZE_CMD_PARAMS_DECLARE SmartPtr<CVmEvent> _pkg( new CVmEvent ); CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::ParseCommand(DispToDispAuthorizeCmd, _pkg->toString()); QVERIFY(!pCmd->IsValid()); CHECK_AUTHORIZE_CMD_NOT_FAILED_ON_GETTING_NON_PRESENTS_PARAMS }
void CDispToDispProtoSerializerTest::testParseDispToDispAuthorizeCommand() { AUTHORIZE_CMD_PARAMS_DECLARE SmartPtr<CVmEvent> _pkg( new CVmEvent ); _pkg->addEventParameter(new CVmEventParameter(PVE::String, sUserSessionUuid, EVT_PARAM_DISP_TO_DISP_AUTHORIZE_CMD_USER_SESSION_UUID)); CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::ParseCommand(DispToDispAuthorizeCmd, _pkg->toString()); QVERIFY(pCmd->IsValid()); CDispToDispAuthorizeCommand *pDispToDispAuthorizeCmd = CDispToDispProtoSerializer::CastToDispToDispCommand<CDispToDispAuthorizeCommand>(pCmd); QCOMPARE(sUserSessionUuid, pDispToDispAuthorizeCmd->GetUserSessionUuid()); }
void CDispToDispProtoSerializerTest::testDispToDispResponseCommandIsValidFailedOnListOfParamsAbsent() { RESPONSE_CMD_PARAMS_DECLARE SmartPtr<CVmEvent> _pkg( new CVmEvent ); _pkg->addEventParameter(new CVmEventParameter(PVE::String, pErrorEvent->toString(), EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_ERROR_INFO)); _pkg->addEventParameter(new CVmEventParameter(PVE::UnsignedInt, QString("%1").arg(nRequestCmdId), EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_REQUEST_ID)); CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::ParseCommand(DispToDispResponseCmd, _pkg->toString()); QVERIFY(!pCmd->IsValid()); CHECK_RESPONSE_CMD_NOT_FAILED_ON_GETTING_NON_PRESENTS_PARAMS }
void Task_MigrateCtTarget::handleStartPackage( const SmartPtr<CDspDispConnection> &pDispConnection, const QString &sVmUuid, const SmartPtr<IOPackage> &p) { // ??? LOCK // #439777 to protect call handler for destroying object WaiterTillHandlerUsingObject::AutoUnlock lock( m_waiter ); if( !lock.isLocked() ) return; if (operationIsCancelled()) return; /* this function will handle StartMigrateCommand with _original_ Vm uuid */ if (m_sOriginVmUuid != sVmUuid) return; CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::ParseCommand(p); if ( !pCmd->IsValid() ) { WRITE_TRACE(DBG_FATAL, "Wrong start migration package was received: [%s]", p->buffers[0].getImpl()); QThread::exit(PRL_ERR_FAILURE); } CVmMigrateStartCommand *pStartCmd = CDispToDispProtoSerializer::CastToDispToDispCommand<CVmMigrateStartCommand>(pCmd); if ( NULL == pStartCmd ) { WRITE_TRACE(DBG_FATAL, "Wrong start migration package was received: [%s]", p->buffers[0].getImpl()); QThread::exit(PRL_ERR_FAILURE); } m_nMigrationFlags = pStartCmd->GetMigrationFlags(); m_nReservedFlags = pStartCmd->GetReservedFlags(); m_nBundlePermissions = pStartCmd->GetBundlePermissions(); m_nConfigPermissions = pStartCmd->GetConfigPermissions(); /* reassign task to new connection and package and return to main thread */ SmartPtr<CDspClient> pClient = pDispConnection->getUserSession(); reassignTask( pClient, p ); m_pStartDispConnection = pDispConnection; /* attn: do not use getRequestPackage() after this - reassignTask() changed type of new package */ m_pStartPackage = IOPackage::duplicateInstance(p); QThread::exit(0); }
void CDispToDispProtoSerializerTest::testParseDispToDispResponseCommand() { RESPONSE_CMD_PARAMS_DECLARE SmartPtr<CVmEvent> _pkg( new CVmEvent ); _pkg->setEventCode(nRetCode); _pkg->addEventParameter(new CVmEventParameter(PVE::String, pErrorEvent->toString(), EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_ERROR_INFO)); _pkg->addEventParameter(new CVmEventParameter(PVE::UnsignedInt, QString("%1").arg(nRequestCmdId), EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_REQUEST_ID)); _pkg->addEventParameter(new CVmEventParameterList(PVE::String, QStringList(), EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_PARAMS_LIST)); CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::ParseCommand(DispToDispResponseCmd, _pkg->toString()); QVERIFY(pCmd->IsValid()); CDispToDispResponseCommand *pDispToDispResponseCmd = CDispToDispProtoSerializer::CastToDispToDispCommand<CDispToDispResponseCommand>(pCmd); QCOMPARE(pErrorEvent->toString(), pDispToDispResponseCmd->GetErrorInfo()->toString()); QCOMPARE((quint32)nRequestCmdId, (quint32)pDispToDispResponseCmd->GetRequestCommandId()); QCOMPARE((quint32)nRetCode, (quint32)pDispToDispResponseCmd->GetRetCode()); }
void CDispToDispProtoSerializerTest::testDispToDispResponseCommandProcessingListOfParams2() { RESPONSE_CMD_PARAMS_DECLARE QStringList lstParams; lstParams.append(pErrorEvent->toString()); lstParams.append(pErrorEvent->toString()); lstParams.append(pErrorEvent->toString()); CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::CreateDispToDispResponseCommand( nRequestCmdId, nRetCode, pErrorEvent.getImpl(), lstParams ); QVERIFY(pCmd->IsValid()); pCmd = CDispToDispProtoSerializer::ParseCommand(DispToDispResponseCmd, pCmd->GetCommand()->toString()); CDispToDispResponseCommand *pResponseCmd = CDispToDispProtoSerializer::CastToDispToDispCommand<CDispToDispResponseCommand>(pCmd); lstParams = pResponseCmd->GetParams(); QCOMPARE(quint32(lstParams.size()), quint32(3)); foreach(QString sParam, lstParams) QCOMPARE(pErrorEvent->toString(), sParam); }
void CDispToDispProtoSerializerTest::testCreateDispToDispLogoffCommand() { CDispToDispCommandPtr pCmd = CDispToDispProtoSerializer::CreateDispToDispCommandWithoutParams(DispToDispLogoffCmd); QVERIFY(pCmd->IsValid()); }