Beispiel #1
0
 async def process():
     logger_client = Logger()
     x = await asyncio.gather(logger_client.start(1, 1),
                              logger_client.poll(),
                              logger_client.start(2, 3),
                              logger_client.end(2),
                              logger_client.poll(),
                              logger_client.end(1))
     return x
 def test_happy_case_end(self):
     logger_client = Logger()
     tasks=[logger_client.start(1, 1),logger_client.start(2, 2),logger_client.end(1),logger_client.poll()]
     loop = asyncio.get_event_loop()
     loop.run_until_complete(asyncio.gather(*tasks))
     self.assertEqual(len(logger_client._Logger__process_lookup.keys()), 1)
     self.assertEqual(len(logger_client._Logger__heap), 1)
Beispiel #3
0
    def test_automated(self):
        tasks_list = []
        end_tasks_list = []
        n = 2
        for i in range(n):
            tasks_list.append("start " + str(i))
            end_tasks_list.append("end " + str(i))
            end_tasks_list.append("poll")

        random.shuffle(end_tasks_list)

        tasks_list = tasks_list + end_tasks_list

        result = []
        class_tasks = []
        logger_client = Logger()
        index = 0
        for i in range(len(tasks_list)):
            if tasks_list[i] == "poll":
                result.append(str(index))
                index += 1
                class_tasks.append(logger_client.poll())
            elif 'end' in tasks_list[i]:
                result.append(None)
                id = tasks_list[i].split(" ")[1]
                class_tasks.append(logger_client.end(id))
            else:
                id = tasks_list[i].split(" ")[1]
                result.append(None)
                class_tasks.append(logger_client.start(id, int(id)))

        loop = asyncio.get_event_loop()
        x = loop.run_until_complete(asyncio.gather(*class_tasks))
        self.assertListEqual(x, result)
 def test_happy_case_poll(self):
     logger_client = Logger()
     tasks = [logger_client.start(1, 1), logger_client.start(2, 2), logger_client.end(1), logger_client.poll()]
     loop = asyncio.get_event_loop()
     result=loop.run_until_complete(asyncio.gather(*tasks))
     self.assertEqual(result[3], 1)