def testLinkJobOutput2Data( self ): Transaction.create( self.sessionPath , False , True ) transaction = Transaction( self.sessionPath , Transaction.WRITE ) sendData = self.datas[0] transaction.createData( sendData[ 'dataName' ] , sendData[ 'userName' ] , sendData[ 'size' ] , sendData[ 'Type' ] , sendData[ 'dataBegin' ] , sendData[ 'inputModes' ] , producedBy = [] , usedBy = [] ) sendJob = self.jobs[ 0 ] transaction.createJob( sendJob['jobID'] , sendJob['userName'] , sendJob['programName'] , sendJob['status'] , sendJob['date'] , [] , [] ) transaction.commit() transaction = Transaction( self.sessionPath , Transaction.WRITE ) transaction.linkJobOutput2Data( [ sendData[ 'dataName' ] ] , [ sendJob['jobID'] ]) transaction.commit() transaction = Transaction( self.sessionPath , Transaction.READ ) data = transaction.getData( sendData[ 'dataName' ] ) job = transaction.getJob( sendJob['jobID']) transaction.commit() self.assertEqual( data[ 'producedBy' ][0] , sendJob[ 'jobID' ] ) self.assertEqual( job[ 'dataProduced' ][0] , sendData[ 'dataName' ] )
def testRenameData( self ): shutil.copy( self.xmlSourcePath , self.sessionPath) newUserName = '******' transaction = Transaction( self.sessionPath , Transaction.WRITE ) transaction.renameData( self.dataID[0] , newUserName ) transaction.commit() transaction = Transaction( self.sessionPath , Transaction.READ ) data = transaction.getData( self.dataID[0] ) transaction.commit() self.assertTrue( newUserName == data[ 'userName' ] )
def testAddInputModes(self ): shutil.copy( self.xmlSourcePath , self.sessionPath ) transaction = Transaction( self.sessionPath , Transaction.WRITE ) transaction.addInputModes( self.dataID[0] , [ 'paste' , 'db' ] ) transaction.commit() transaction = Transaction( self.sessionPath , Transaction.READ ) data = transaction.getData( self.dataID[0] ) transaction.commit() result = ['paste' , 'db' , 'result'] result.sort() data[ 'inputModes' ].sort() self.assertEqual( data[ 'inputModes' ] , result ) #an inputMode must not be twice in the xml transaction = Transaction( self.sessionPath , Transaction.WRITE ) transaction.addInputModes( self.dataID[0] , [ 'paste' ] ) transaction.commit() transaction = Transaction( self.sessionPath , Transaction.READ ) data = transaction.getData( self.dataID[0] ) transaction.commit() data[ 'inputModes' ].sort() self.assertEqual( data[ 'inputModes' ] , result )
def testCreateAndGetData( self ): Transaction.create( self.sessionPath , True , True , activatingKey = 'uneJolieCle' , userEmail = self.email , passwd = self.passwd ) transaction = Transaction( self.sessionPath , Transaction.WRITE ) sendData = self.datas[0] transaction.createData( sendData[ 'dataName' ] , sendData[ 'userName' ] , sendData[ 'size' ] , sendData[ 'Type' ] , sendData[ 'dataBegin' ] , sendData[ 'inputModes' ] , producedBy = sendData[ 'producedBy' ] , usedBy = sendData[ 'usedBy' ] ) transaction.commit() transaction = Transaction( self.sessionPath , Transaction.READ ) receivedData = transaction.getData( sendData[ 'dataName' ] ) transaction.commit() self.assertTrue( receivedData == sendData )