Exemplo n.º 1
0
 def test_serverFiveOrLessClient(self):
     global sharedListData
     # Create stop event
     stopEvent = Event()
     # Create server barrier
     sBarrier = Barrier(2)
     # Create server
     bs = BufferServer(13001, 5, stopEvent, sBarrier, 5, 5, "http://localhost:8000", "quiltro", "perroCallejero")
     streamingList = ObjectList()
     streamingList.append(Streaming(randomStreaming(1)))
     bs.communicator.service.postStreamings(streamingList)
     searchList = ObjectList()
     searchList.append(Search(randomSearch(1)))
     bs.communicator.service.postSearches(searchList)
     bs.start()
     # Create barrier for N clients
     randomClients = randomInteger(3) + 2
     cBarrier = Barrier(randomClients + 1)
     # Create N clients
     for i in range(0, randomClients):
         thread.start_new_thread(oneThread, (cBarrier, fakeClient, 
             bs.getHostName(), 13001, ))
     cBarrier.wait()
     time.sleep(5)
     # stop server
     stopEvent.set()
     # Wait for server
     sBarrier.wait()
     time.sleep(5)
     # Get data and compare
     numberTweets = len(bs.globalBuffer.localBuffer.tweetList.list)
     numberUsers = len(bs.globalBuffer.localBuffer.userList.list)
     numberTweetStreaming = len(bs.globalBuffer.localBuffer.tweetStreamingList.list)
     numberTweetSearch = len(bs.globalBuffer.localBuffer.tweetSearchList.list)
     self.assertEqual(numberTweets, 0)
     self.assertEqual(numberUsers, 0)
     self.assertEqual(numberTweetStreaming, 0)
     self.assertEqual(numberTweetSearch, 0)
     # count originals
     originalNumberTweets = 0
     originalNumberUsers = 0
     originalNumberTweetStreaming = 0
     originalNumberTweetSearch = 0
     lb = LocalBuffer()
     for i in range(0, randomClients):
         lb = countData(lb, sharedListData[i*4 + 0], sharedListData[i*4 + 1],
             sharedListData[i*4 + 2], sharedListData[i*4 + 3])
     originalNumberTweets += len(lb.tweetList.list)
     originalNumberUsers += len(lb.userList.list)
     originalNumberTweetStreaming += len(lb.tweetStreamingList.list)
     originalNumberTweetSearch += len(lb.tweetSearchList.list)
     self.assertEqual(originalNumberTweets, bs.communicator.sentTweets)
     self.assertEqual(originalNumberUsers, bs.communicator.sentUsers)
     self.assertEqual(originalNumberTweetStreaming, bs.communicator.sentTweetStreamings)
     self.assertEqual(originalNumberTweetSearch, bs.communicator.sentTweetSearches)
Exemplo n.º 2
0
def startBuffer(config):
    stopEvent = Event()
    barrier = Barrier(3)#Three threads. Main, Server, Signal
    finalise = True
    setGlobalVariable(stopEvent, barrier, finalise)
    # Call server function
    bs = BufferServer(config.socket_port, config.max_connection, 
            stopEvent, barrier, config.timeout, config.timer_seconds, 
            config.urldatabase, config.user, config.password)
    bs.start()
    barrier.wait()