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 __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)
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
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