예제 #1
0
    def __init__(self):
        self.dataPort = 9988
        self.dataStoreClientList = []
        self.uniqueId = GUID()

        # Start transfer service
        self.dataTransferServer = GSIHTTPTransferServer(
            ('', int(self.dataPort)), numThreads=4, sslCompat=0)
        self.dataTransferServer.run()

        self.CreateDataStore()

        # Basic test
        d = DataStoreClient(self.dataStore, 0)
        d.StartDataOperations()

        # Thread test
        #self.StartDataStoreClients()

        self.ShutDown()
예제 #2
0
class StartTest:
    '''
    Creates a transfer engine and a datastore. Also, creates DataStoreClient that
    uses datastore method to test datastore.
    '''
    def __init__(self):
        self.dataPort = 9988
        self.dataStoreClientList = []
        self.uniqueId = GUID()

        # Start transfer service
        self.dataTransferServer = GSIHTTPTransferServer(
            ('', int(self.dataPort)), numThreads=4, sslCompat=0)
        self.dataTransferServer.run()

        self.CreateDataStore()

        # Basic test
        d = DataStoreClient(self.dataStore, 0)
        d.StartDataOperations()

        # Thread test
        #self.StartDataStoreClients()

        self.ShutDown()

    def CreateDataStore(self):
        self.dataStorePath = 'DataStoreTestDir'
        #self.dataStorePath = os.path.join(self.dataStoreLocation, str(self.uniqueId))
        if not os.path.exists(self.dataStorePath):
            try:
                os.mkdir(self.dataStorePath)
            except OSError:
                self.dataStorePath = None

        self.dataStore = DataStore.DataStore(self, self.dataStorePath,
                                             str(self.uniqueId),
                                             self.dataTransferServer)

    #def StartDataStoreClients(self):
    #    '''Creates several data store clients, and starts methods in threads to
    #    stress test datastore'''
    #
    # Create data store clients
    #    index = 1
    #    for client in range(nrOfClients):
    #        d = DataStoreClient(self.dataStore, index)
    #        self.dataStoreClientList.append(d)
    #        index = index + 1
    #
    #    self.threadList = []
    #    # Start data operations in threads
    #    for d in self.dataStoreClientList:
    #        thread = threading.Thread(target = d.StartDataStoreOperations)
    #        self.threadList.append(thread)
    #
    #    for thread in self.threadList:
    #        thread.start()
    #
    #    # Join threads
    #    for thread in self.threadList:
    #        thread.join()

    def ShutDown(self):
        '''Stop server and datastore'''
        self.dataTransferServer.stop()
        self.dataStore.Shutdown()

    def AddData(self, data):
        '''Callback for datastore'''
        pass

    def UpdateData(self, data):
        '''Callback for datastore'''
        pass

    def GetData(self):
        '''Callback for datastore'''
        return none