Пример #1
0
    def __init__(self):
        self.module_name = 'travel_requests_simulator_tester'
        self.log_type = 'INFO'
        self.log_message = 'initialize_travel_requests_simulator: starting'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator = TravelRequestsSimulator()
        self.travel_requests_generator_process = None
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'initialize_travel_requests_simulator: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)
Пример #2
0
    def __init__(self):
        self.module_name = 'travel_requests_simulator_tester'
        self.log_type = 'INFO'
        self.log_message = 'initialize_travel_requests_simulator: starting'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator = TravelRequestsSimulator()
        self.travel_requests_generator_process = None
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'initialize_travel_requests_simulator: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)
Пример #3
0
class TravelRequestsSimulatorTester(object):
    def __init__(self):
        self.module_name = 'travel_requests_simulator_tester'
        self.log_type = 'INFO'
        self.log_message = 'initialize_travel_requests_simulator: starting'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator = TravelRequestsSimulator()
        self.travel_requests_generator_process = None
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'initialize_travel_requests_simulator: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def start_travel_requests_generator_process(
            self, initial_datetime, min_number_of_travel_request_documents,
            max_number_of_travel_request_documents):
        """
        :param initial_datetime: datetime
        :param min_number_of_travel_request_documents: int
        :param max_number_of_travel_request_documents: int
        :return: None
        """
        if self.travel_requests_generator_process is None:
            self.travel_requests_generator_process = Process(
                target=self.test_travel_requests_generator_process,
                args=(initial_datetime, min_number_of_travel_request_documents,
                      max_number_of_travel_request_documents))
            self.travel_requests_generator_process.start()
            self.log_message = 'travel_requests_generator_process: starting'
        else:
            self.log_message = 'travel_requests_generator_process: already started'

        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def terminate_travel_requests_generator_process(self):
        if self.travel_requests_generator_process is not None:
            self.travel_requests_generator_process.terminate()
            self.travel_requests_generator_process.join()
            self.travel_requests_generator_process = None
            self.log_message = 'travel_requests_generator_process: terminated'
        else:
            self.log_message = 'travel_requests_generator_process: None'

        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def test_clear_travel_requests_collection(self):
        self.log_message = 'test_clear_travel_requests_collection: starting'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.clear_travel_requests_collection()
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_clear_travel_requests_collection: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def test_delete_travel_request_documents(self,
                                             object_ids=None,
                                             client_ids=None,
                                             bus_line_ids=None,
                                             min_departure_datetime=None,
                                             max_departure_datetime=None):
        """
        Delete multiple travel_request_documents.

        :param object_ids: [ObjectId]
        :param client_ids: [int]
        :param bus_line_ids: [int]
        :param min_departure_datetime: datetime
        :param max_departure_datetime
        :return: None
        """
        self.log_message = 'test_delete_travel_request_documents: starting'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.delete_travel_request_documents(
            object_ids=object_ids,
            client_ids=client_ids,
            bus_line_ids=bus_line_ids,
            min_departure_datetime=min_departure_datetime,
            max_departure_datetime=max_departure_datetime)
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_delete_travel_request_documents: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def test_generate_random_travel_request_documents(
            self, initial_datetime, min_number_of_travel_request_documents,
            max_number_of_travel_request_documents):
        """
        Generate random number of travel_request_documents for each bus_line,
        for a 24hour period starting from a selected datetime, and store them at the
        corresponding collection of the System Database.

        :param initial_datetime: datetime
        :param min_number_of_travel_request_documents: int
        :param max_number_of_travel_request_documents: int
        :return: None
        """
        self.log_message = 'test_generate_random_travel_request_documents: starting'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.generate_random_travel_request_documents(
            initial_datetime=initial_datetime,
            min_number_of_travel_request_documents=
            min_number_of_travel_request_documents,
            max_number_of_travel_request_documents=
            max_number_of_travel_request_documents)
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_generate_random_travel_request_documents: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def test_generate_travel_request_documents(
            self,
            initial_datetime,
            number_of_travel_request_documents,
            bus_line=None,
            bus_line_id=None):
        """
        Generate a specific number of travel_request_documents, for the selected bus_line,
        for a 24hour period starting from a selected datetime, and store them at the
        corresponding collection of the System Database.

        :param initial_datetime: datetime
        :param number_of_travel_request_documents: int
        :param bus_line: bus_line_document
        :param bus_line_id: int
        :return: None
        """
        self.log_message = 'test_generate_travel_request_documents: starting'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.generate_travel_request_documents(
            initial_datetime=initial_datetime,
            number_of_travel_request_documents=
            number_of_travel_request_documents,
            bus_line=bus_line,
            bus_line_id=bus_line_id)
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_generate_travel_request_documents: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name,
            log_type=self.log_type,
            log_message=self.log_message)

    def test_travel_requests_generator_process(
            self, initial_datetime, min_number_of_travel_request_documents,
            max_number_of_travel_request_documents):
        """
        :param initial_datetime: datetime
        :param min_number_of_travel_request_documents: int
        :param max_number_of_travel_request_documents: int
        :return: None
        """
        time_difference = 0
        initial_time = time.time()

        while time_difference < travel_requests_simulator_max_operation_timeout:
            self.test_generate_random_travel_request_documents(
                initial_datetime=initial_datetime,
                min_number_of_travel_request_documents=
                min_number_of_travel_request_documents,
                max_number_of_travel_request_documents=
                max_number_of_travel_request_documents)
            time.sleep(travel_requests_simulator_timeout)
            time_difference = time.time() - initial_time
Пример #4
0
class TravelRequestsSimulatorTester(object):
    def __init__(self):
        self.module_name = 'travel_requests_simulator_tester'
        self.log_type = 'INFO'
        self.log_message = 'initialize_travel_requests_simulator: starting'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator = TravelRequestsSimulator()
        self.travel_requests_generator_process = None
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'initialize_travel_requests_simulator: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def start_travel_requests_generator_process(self, initial_datetime, min_number_of_travel_request_documents,
                                                max_number_of_travel_request_documents):
        """
        :param initial_datetime: datetime
        :param min_number_of_travel_request_documents: int
        :param max_number_of_travel_request_documents: int
        :return: None
        """
        if self.travel_requests_generator_process is None:
            self.travel_requests_generator_process = Process(
                target=self.test_travel_requests_generator_process,
                args=(initial_datetime, min_number_of_travel_request_documents, max_number_of_travel_request_documents)
            )
            self.travel_requests_generator_process.start()
            self.log_message = 'travel_requests_generator_process: starting'
        else:
            self.log_message = 'travel_requests_generator_process: already started'

        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def terminate_travel_requests_generator_process(self):
        if self.travel_requests_generator_process is not None:
            self.travel_requests_generator_process.terminate()
            self.travel_requests_generator_process.join()
            self.travel_requests_generator_process = None
            self.log_message = 'travel_requests_generator_process: terminated'
        else:
            self.log_message = 'travel_requests_generator_process: None'

        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def test_clear_travel_requests_collection(self):
        self.log_message = 'test_clear_travel_requests_collection: starting'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.clear_travel_requests_collection()
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_clear_travel_requests_collection: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def test_delete_travel_request_documents(self, object_ids=None, client_ids=None, line_ids=None,
                                             min_departure_datetime=None, max_departure_datetime=None):
        """
        Delete multiple travel_request_documents.

        travel_request_document: {
            '_id', 'client_id', 'line_id',
            'starting_bus_stop': {'_id', 'osm_id', 'name', 'point': {'longitude', 'latitude'}},
            'ending_bus_stop': {'_id', 'osm_id', 'name', 'point': {'longitude', 'latitude'}},
            'departure_datetime', 'arrival_datetime',
            'starting_timetable_entry_index', 'ending_timetable_entry_index'
        }
        :param object_ids: [ObjectId]
        :param client_ids: [int]
        :param line_ids: [int]
        :param min_departure_datetime: datetime
        :param max_departure_datetime
        :return: None
        """
        self.log_message = 'test_delete_travel_request_documents: starting'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.delete_travel_request_documents(
            object_ids=object_ids,
            client_ids=client_ids,
            line_ids=line_ids,
            min_departure_datetime=min_departure_datetime,
            max_departure_datetime=max_departure_datetime
        )
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_delete_travel_request_documents: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def test_generate_random_travel_request_documents(self, initial_datetime, min_number_of_travel_request_documents,
                                                      max_number_of_travel_request_documents):
        """
        Generate random number of travel_request_documents for each bus_line,
        for a 24hour period starting from a selected datetime, and store them at the
        corresponding collection of the System Database.

        :param initial_datetime: datetime
        :param min_number_of_travel_request_documents: int
        :param max_number_of_travel_request_documents: int
        :return: None
        """
        self.log_message = 'test_generate_random_travel_request_documents: starting'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.generate_random_travel_request_documents(
            initial_datetime=initial_datetime,
            min_number_of_travel_request_documents=min_number_of_travel_request_documents,
            max_number_of_travel_request_documents=max_number_of_travel_request_documents
        )
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_generate_random_travel_request_documents: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def test_generate_travel_request_documents(self, initial_datetime, number_of_travel_request_documents,
                                               bus_line=None, line_id=None):
        """
        Generate a specific number of travel_request_documents, for the selected bus_line,
        for a 24hour period starting from a selected datetime, and store them at the
        corresponding collection of the System Database.

        bus_line_document: {
            '_id', 'line_id', 'bus_stops': [{'_id', 'osm_id', 'name', 'point': {'longitude', 'latitude'}}]
        }
        :param initial_datetime: datetime
        :param number_of_travel_request_documents: int
        :param bus_line: bus_line_document
        :param line_id: int
        :return: None
        """
        self.log_message = 'test_generate_travel_request_documents: starting'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

        self.start_time = time.time()
        self.travel_requests_simulator.generate_travel_request_documents(
            initial_datetime=initial_datetime,
            number_of_travel_request_documents=number_of_travel_request_documents,
            bus_line=bus_line,
            line_id=line_id
        )
        self.elapsed_time = time.time() - self.start_time

        self.log_message = 'test_generate_travel_request_documents: finished - elapsed_time = ' \
                           + str(self.elapsed_time) + ' sec'
        log(module_name=self.module_name, log_type=self.log_type, log_message=self.log_message)

    def test_travel_requests_generator_process(self, initial_datetime, min_number_of_travel_request_documents,
                                               max_number_of_travel_request_documents):
        """
        :param initial_datetime: datetime
        :param min_number_of_travel_request_documents: int
        :param max_number_of_travel_request_documents: int
        :return: None
        """
        time_difference = 0
        initial_time = time.time()

        while time_difference < travel_requests_generator_max_operation_timeout:
            self.test_generate_random_travel_request_documents(
                initial_datetime=initial_datetime,
                min_number_of_travel_request_documents=min_number_of_travel_request_documents,
                max_number_of_travel_request_documents=max_number_of_travel_request_documents
            )
            time.sleep(travel_requests_generator_timeout)
            time_difference = time.time() - initial_time