def setUp(self): self.dbm = get_db_manager(database='mangrove-test') self._create_entities() self.player = SMSPlayer(self.dbm, SubmissionHandler(self.dbm)) self.transport = TransportInfo(transport="sms", source="1234", destination="5678") initializer.run(self.dbm)
def submit_to_player(incoming_request): try: dbm = incoming_request['dbm'] post_sms_parser_processors = [PostSMSProcessorLanguageActivator(dbm, incoming_request), PostSMSProcessorNumberOfAnswersValidators(dbm, incoming_request)] sms_player = SMSPlayer(dbm, LocationBridge(get_location_tree(),get_loc_hierarchy=get_location_hierarchy), post_sms_parser_processors=post_sms_parser_processors) mangrove_request = Request(message=incoming_request['incoming_message'], transportInfo=incoming_request['transport_info']) response = sms_player.accept(mangrove_request, logger=incoming_request.get("logger")) message = SMSResponse(response).text(dbm) send_message(incoming_request, response) except DataObjectAlreadyExists as e: message = ugettext("%s with %s = %s already exists.") % (ugettext(e.data[2]), ugettext(e.data[0]), e.data[1]) except Exception as exception: message = handle(exception, incoming_request) incoming_request['outgoing_message'] = message return incoming_request
def setUp(self): loc_tree = Mock() loc_tree.get_hierarchy_path.return_value = None self.dbm = Mock(spec=DatabaseManager) self.submission_handler_mock = Mock(spec=SubmissionHandler) self.reporter_patcher = patch( 'mangrove.transport.player.player.reporter') self.reporter_module = self.reporter_patcher.start() self._mock_reporter() self.transport = TransportInfo(transport="sms", source="1234", destination="5678") self.request = Request(transportInfo=self.transport, message="FORM_CODE +ID 1 +M hello world") self.sms_player = SMSPlayer(self.dbm, self.submission_handler_mock, loc_tree) self.generate_code_patcher = patch( "mangrove.transport.player.player.Player._handle_registration_form" ) self.generate_code_patcher.start()
def sms(request): _message = request.POST["message"] _from, _to = _get_from_and_to_numbers(request) try: dbm = get_db_manager_for(_to) sms_player = SMSPlayer(dbm, SubmissionHandler(dbm)) transportInfo = TransportInfo(transport=SMS, source=_from, destination=_to) response = sms_player.accept( Request(transportInfo=transportInfo, message=_message)) message = SMSResponse(response).text() except ( SubmissionParseException, FormModelDoesNotExistsException, ) as exception: message = get_exception_message_for(exception=exception, channel=SMS) log = DatawinnerLog(message=_message, from_number=_from, to_number=_to, form_code=exception.data[0], error=message) log.save() except NumberNotRegisteredException as exception: message = get_exception_message_for(exception=exception, channel=SMS) log = DatawinnerLog(message=_message, from_number=_from, to_number=_to, form_code=None, error=message) log.save() except MangroveException as exception: message = get_exception_message_for(exception=exception, channel=SMS) except Exception as exception: logger.exception('SMS Processing failure: message') message = get_exception_message_for(exception=exception, channel=SMS) return HttpResponse(message)
def setUpClass(cls): cls.dbm = create_db(uniq('mangrove-test')) initializer.initial_data_setup(cls.dbm) cls.entity_type = ["healthfacility", "clinic"] safe_define_type(cls.dbm, cls.entity_type) cls.entity_short_code = "cli" + str(int(random.random() * 10000)) cls.entity = create_entity( cls.dbm, entity_type=cls.entity_type, location=["India", "Pune"], aggregation_paths=None, short_code=cls.entity_short_code, ) cls.entity.save() cls.reporter_id = "rep" + str(int(random.random() * 10000)) cls.reporter = create_contact(cls.dbm, location=["India", "Pune"], aggregation_paths=None, short_code=cls.reporter_id) cls.reporter.save() cls.phone_number = str(int(random.random() * 10000000)) cls.reporter.add_data(data=[(MOBILE_NUMBER_FIELD, cls.phone_number), (NAME_FIELD, "Test_reporter")], submission=dict(submission_id="2")) question1 = ShortCodeField( name="entity_question", code="EID", label="What is associated entity", constraints=[TextLengthConstraint(min=1, max=20)]) question2 = TextField(name="Name", code="NAME", label="Clinic Name", defaultValue="some default value", constraints=[TextLengthConstraint(4, 15)], required=False) question3 = IntegerField( name="Arv stock", code="ARV", label="ARV Stock", constraints=[NumericRangeConstraint(min=15, max=120)], required=False) question4 = SelectField(name="Color", code="COL", label="Color", options=[("RED", 'a'), ("YELLOW", 'a')], required=False) try: cls.form_model = get_form_model_by_code(cls.dbm, "clinic") except FormModelDoesNotExistsException: cls.form_model = EntityFormModel( cls.dbm, entity_type=cls.entity_type, name="aids", label="Aids form_model", form_code="clinic", fields=[question1, question2, question3], is_registration_model=True) cls.form_model.add_field(question4) cls.form_model.save() cls.sms_player = SMSPlayer(cls.dbm, LocationTree()) cls.sms_ordered_message_player = SMSPlayer(cls.dbm, LocationTree())
def submit_to_player(incoming_request): sent_via_sms_test_questionnaire = incoming_request.get( 'test_sms_questionnaire', False) organization = incoming_request.get('organization') organization = organization try: dbm = incoming_request['dbm'] post_sms_parser_processors = [ PostSMSProcessorLanguageActivator(dbm, incoming_request), PostSMSProcessorNumberOfAnswersValidators(dbm, incoming_request) ] sms_player = SMSPlayer( dbm, LocationBridge(get_location_tree(), get_loc_hierarchy=get_location_hierarchy), post_sms_parser_processors=post_sms_parser_processors, feeds_dbm=incoming_request['feeds_dbm']) mangrove_request = Request( message=incoming_request['incoming_message'], transportInfo=incoming_request['transport_info']) response = sms_player.accept(mangrove_request, logger=incoming_request.get("logger")) if response.is_registration and not sent_via_sms_test_questionnaire: organization.increment_message_count_for(sms_registration_count=1) if not response.is_registration and sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) mail_feed_errors(response, dbm.database_name) message = SMSResponse(response).text(dbm) send_message(incoming_request, response) except DataObjectAlreadyExists as e: message = ugettext("The Unique ID Number %s is already used for the %s %s. Register your %s with a different ID.") % \ (e.data[1], e.data[2], e.data[3], e.data[2]) if not sent_via_sms_test_questionnaire: organization.increment_message_count_for(sms_registration_count=1) except DataObjectNotFound as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = handle(exception, incoming_request) except FormModelDoesNotExistsException as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = handle(exception, incoming_request) except Exception as exception: message = handle(exception, incoming_request) incoming_request['outgoing_message'] = message if not sent_via_sms_test_questionnaire: SMS(message=message, message_id=incoming_request['message_id'], organization=incoming_request['organization'], msg_from=mangrove_request.transport.source, msg_to=mangrove_request.transport.destination, msg_type=MSG_TYPE_SUBMISSION_REPLY, status="Submitted").save() return incoming_request
from mangrove.transport.player.player import SMSPlayer from mangrove.transport.contract.submission import Submission #submission date, source, destination, messages, #2012-11-24 13:48:22 24535435348 26134535750 009 MCHTDV07 22.11.2012 ABE0000369 72.15 0 0 0 0 data_folder = "/Users/twer/Downloads/lost_data_folder/*.xlsx" db_server = "localhost" db_name = "hni_crs-stock_jhw14178" db_credentials = settings.COUCHDBMAIN_CREDENTIALS dbm = get_db_manager(server="http://%s:5984" % db_server, database=db_name, credentials=db_credentials) sms_player = SMSPlayer(dbm) def update_submission_date(response, submission_date): submission = Submission.get(dbm, response.submission_id) submission._doc.submitted_on = submission_date submission._doc.created = submission_date submission._doc.event_time = submission_date submission.save() pprint(submission.values) def send_sms(source, destination, text): print text transport_info = TransportInfo(transport="sms", source=source,
def setUp(self): MangroveTestCase.setUp(self) self._create_entities() self.player = SMSPlayer(self.manager, location_tree=LocationBridge(get_location_tree(), get_loc_hierarchy=get_location_hierarchy)) self.transport = TransportInfo(transport="sms", source="1234", destination="5678") initializer.run(self.manager)
def submit_to_player(incoming_request): sent_via_sms_test_questionnaire = incoming_request.get('test_sms_questionnaire', False) organization = incoming_request.get('organization') organization = organization should_increment_incoming_sms_count = True if not sent_via_sms_test_questionnaire else False response =None try: dbm = incoming_request['dbm'] mangrove_request = Request(message=incoming_request['incoming_message'], transportInfo=incoming_request['transport_info']) post_sms_parser_processors = [PostSMSProcessorLanguageActivator(dbm, incoming_request), PostSMSProcessorCheckDSIsRegistered(dbm, incoming_request)] if organization.in_trial_mode: post_sms_parser_processors.append(PostSMSProcessorCheckLimits(dbm, incoming_request)) post_sms_parser_processors.extend([PostSMSProcessorNumberOfAnswersValidators(dbm, incoming_request), PostSMSProcessorCheckDSIsLinkedToProject(dbm, incoming_request)]) sms_player = SMSPlayer(dbm, LocationBridge(get_location_tree(), get_loc_hierarchy=get_location_hierarchy), post_sms_parser_processors=post_sms_parser_processors, feeds_dbm=incoming_request['feeds_dbm']) response = sms_player.accept(mangrove_request, logger=incoming_request.get("logger"), translation_processor=TranslationProcessor) if response.is_registration: incoming_request['is_registration'] = True if not sent_via_sms_test_questionnaire: organization.increment_message_count_for(sms_registration_count=1) else: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) check_quotas_and_update_users(organization, sms_channel=True) mail_feed_errors(response, dbm.database_name) message = SMSResponse(response, incoming_request).text(dbm) send_message(incoming_request, response) except DataObjectAlreadyExists as e: message = identification_number_already_exists_handler(dbm, e.data[1], e.data[2]) if not sent_via_sms_test_questionnaire: organization.increment_message_count_for(sms_registration_count=1) except DataObjectNotFound as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = handle(exception, incoming_request) except FormModelDoesNotExistsException as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = incorrect_questionnaire_code_handler(dbm, exception.data[0], incoming_request) except SMSParserWrongNumberOfAnswersException: form_model = sms_player.get_form_model(mangrove_request) if not form_model.is_entity_registration_form(): if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = incorrect_number_of_answers_for_submission_handler(dbm, form_model.form_code, incoming_request) elif form_model.is_entity_registration_form(): message = incorrect_number_of_answers_for_uid_registration_handler(dbm, form_model.form_code, incoming_request) except (ExceedSubmissionLimitException, ExceedSMSLimitException) as exception: should_increment_incoming_sms_count = False message = handle(exception, incoming_request) except Exception as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = handle(exception, incoming_request) if should_increment_incoming_sms_count: organization.increment_incoming_message_count() if response and not response.is_registration: check_quotas_and_update_users(organization, ) return post_player_handler(incoming_request, message)
def submit_to_player(incoming_request): sent_via_sms_test_questionnaire = incoming_request.get( 'test_sms_questionnaire', False) organization = incoming_request.get('organization') organization = organization try: dbm = incoming_request['dbm'] mangrove_request = Request( message=incoming_request['incoming_message'], transportInfo=incoming_request['transport_info']) response = _is_datasender_registered(dbm, incoming_request) if not response: post_sms_parser_processors = [ PostSMSProcessorLanguageActivator(dbm, incoming_request) ] if organization.in_trial_mode: post_sms_parser_processors.append( PostSMSProcessorCheckLimits(dbm, incoming_request)) post_sms_parser_processors.extend([ PostSMSProcessorNumberOfAnswersValidators( dbm, incoming_request), PostSMSProcessorCheckDSIsLinkedToProject( dbm, incoming_request) ]) sms_player = SMSPlayer( dbm, LocationBridge(get_location_tree(), get_loc_hierarchy=get_location_hierarchy), post_sms_parser_processors=post_sms_parser_processors, feeds_dbm=incoming_request['feeds_dbm']) response = sms_player.accept( mangrove_request, logger=incoming_request.get("logger"), translation_processor=TranslationProcessor) if response.is_registration: incoming_request['is_registration'] = True if not sent_via_sms_test_questionnaire: organization.increment_message_count_for( sms_registration_count=1) if not response.is_registration: if sent_via_sms_test_questionnaire: organization.increment_message_count_for( incoming_web_count=1) check_quotas_and_update_users(organization, sms_channel=True) mail_feed_errors(response, dbm.database_name) message = SMSResponse(response, incoming_request).text(dbm) send_message(incoming_request, response) except DataObjectAlreadyExists as e: message = identification_number_already_exists_handler( dbm, e.data[1], e.data[2]) if not sent_via_sms_test_questionnaire: organization.increment_message_count_for(sms_registration_count=1) except DataObjectNotFound as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = handle(exception, incoming_request) except FormModelDoesNotExistsException as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = incorrect_questionnaire_code_handler(dbm, exception.data[0]) except SMSParserWrongNumberOfAnswersException as exception: form_model = sms_player.get_form_model(mangrove_request) if not form_model.is_entity_registration_form(): organization.increment_message_count_for( incoming_web_count=1 ) if sent_via_sms_test_questionnaire else organization.increment_message_count_for( incoming_sms_count=1) message = incorrect_number_of_answers_for_submission_handler( dbm, form_model.form_code, incoming_request) elif form_model.is_entity_registration_form(): message = incorrect_number_of_answers_for_uid_registration_handler( dbm, form_model.form_code, incoming_request) elif not sent_via_sms_test_questionnaire: organization.increment_message_count_for(sms_registration_count=1) except Exception as exception: if sent_via_sms_test_questionnaire: organization.increment_message_count_for(incoming_web_count=1) message = handle(exception, incoming_request) message = incoming_request.get('error_message', message) incoming_request['outgoing_message'] = message if incoming_request.get( 'is_outgoing_reply_sms_enabled', True) else "" if not sent_via_sms_test_questionnaire: if incoming_request.get('is_outgoing_reply_sms_enabled', True): organization.increment_message_count_for(outgoing_sms_count=1) SMS(message=message, message_id=incoming_request['message_id'], organization=incoming_request['organization'], msg_from=mangrove_request.transport.source, msg_to=mangrove_request.transport.destination, msg_type=MSG_TYPE_SUBMISSION_REPLY, status="Submitted").save() return incoming_request
def setUp(self): MangroveTestCase.setUp(self) initializer.run(self.manager) define_type(self.manager, ["dog"]) self.entity_type = ["clinic"] define_type(self.manager, self.entity_type) self.entity = create_entity( self.manager, entity_type=self.entity_type, location=["India", "Pune"], aggregation_paths=None, short_code="cli1", ) self.data_record_id = self.entity.add_data( data=[("Name", "Ruby")], submission=dict(submission_id="1")) self.reporter = create_entity( self.manager, entity_type=["reporter"], location=["India", "Pune"], aggregation_paths=None, short_code="rep1", ) self.reporter.add_data(data=[(MOBILE_NUMBER_FIELD, '1234'), (NAME_FIELD, "Test_reporter")], submission=dict(submission_id="2")) question1 = UniqueIdField('clinic', name="entity_question", code="EID", label="What is associated entity") question2 = TextField(name="Name", code="NAME", label="Clinic Name", defaultValue="some default value", constraints=[TextLengthConstraint(4, 15)], required=False) question3 = IntegerField( name="Arv stock", code="ARV", label="ARV Stock", constraints=[NumericRangeConstraint(min=15, max=120)], required=False) question4 = SelectField(name="Color", code="COL", label="Color", options=[("RED", 1), ("YELLOW", 2)], required=False) self.form_model = FormModel(self.manager, name="aids", label="Aids form_model", form_code="clinic", fields=[question1, question2, question3]) self.form_model.add_field(question4) self.form_model_id = self.form_model.save() self.submission_handler = None self.sms_player = SMSPlayer(self.manager, LocationTree()) self.sms_player_v2 = SMSPlayerV2(self.manager, [])
def setUp(self): self.dbm = get_db_manager(database='mangrove-test') initializer.run(self.dbm) define_type(self.dbm, ["dog"]) self.entity_type = ["healthfacility", "clinic"] define_type(self.dbm, self.entity_type) self.name_type = DataDictType(self.dbm, name='Name', slug='name', primitive_type='string') self.telephone_number_type = DataDictType(self.dbm, name='telephone_number', slug='telephone_number', primitive_type='string') self.entity_id_type = DataDictType(self.dbm, name='Entity Id Type', slug='entity_id', primitive_type='string') self.stock_type = DataDictType(self.dbm, name='Stock Type', slug='stock', primitive_type='integer') self.color_type = DataDictType(self.dbm, name='Color Type', slug='color', primitive_type='string') self.name_type.save() self.telephone_number_type.save() self.stock_type.save() self.color_type.save() self.entity = create_entity( self.dbm, entity_type=self.entity_type, location=["India", "Pune"], aggregation_paths=None, short_code="cli1", ) self.data_record_id = self.entity.add_data( data=[("Name", "Ruby", self.name_type)], submission=dict(submission_id="1")) self.reporter = create_entity( self.dbm, entity_type=["reporter"], location=["India", "Pune"], aggregation_paths=None, short_code="rep1", ) self.reporter.add_data(data=[ (MOBILE_NUMBER_FIELD, '1234', self.telephone_number_type), (NAME_FIELD, "Test_reporter", self.name_type) ], submission=dict(submission_id="2")) question1 = TextField(name="entity_question", code="EID", label="What is associated entity", language="eng", entity_question_flag=True, ddtype=self.entity_id_type) question2 = TextField(name="Name", code="NAME", label="Clinic Name", defaultValue="some default value", language="eng", length=TextConstraint(4, 15), ddtype=self.name_type) question3 = IntegerField(name="Arv stock", code="ARV", label="ARV Stock", range=NumericConstraint(min=15, max=120), ddtype=self.stock_type) question4 = SelectField(name="Color", code="COL", label="Color", options=[("RED", 1), ("YELLOW", 2)], ddtype=self.color_type) self.form_model = FormModel(self.dbm, entity_type=self.entity_type, name="aids", label="Aids form_model", form_code="clinic", type='survey', fields=[question1, question2, question3]) self.form_model.add_field(question4) self.form_model__id = self.form_model.save() self.submission_handler = SubmissionHandler(self.dbm) self.sms_player = SMSPlayer(self.dbm, self.submission_handler, LocationTree())
def load_sms_data_for_cli001(manager): FEB = datetime(2011, 02, 28, hour=12, minute=00, second=00, tzinfo=UTC) MARCH = datetime(2011, 03, 01, tzinfo=UTC) DEC_2010 = datetime(2010, 12, 28, hour=00, minute=00, second=59, tzinfo=UTC) NOV_2010 = datetime(2010, 11, 26, hour=23, minute=59, second=59, tzinfo=UTC) today = datetime.today() THIS_MONTH = datetime(today.year, today.month, 5, 12, 45, 58) PREV_MONTH = THIS_MONTH - timedelta(days=8) tree = get_location_tree() sms_player = SMSPlayer(manager, SubmissionHandler(manager), location_tree=tree) FROM_NUMBER = '1234567890' TO_NUMBER = '261333782943' transport = TransportInfo(SMS, FROM_NUMBER, TO_NUMBER) message1 = "reg +t clinic +n Clinic in Analalava +l Analalava +g -14.6333 47.7667 +d This is a Clinic in Analalava +m 987654321" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Andapa +l Andapa +g -14.65 49.6167 +d This is a Clinic in Andapa +m 87654322" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Antalaha +l Antalaha +g -14.8833 50.25 +d This is a Clinic in Antalaha +m 87654323" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in ANALAMANGA +l ANALAMANGA +g -18.8 47.4833 +d This is a Clinic in Antananarivo +m 87654324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in TSIMANARIRAZANA +l TSIMANARIRAZANA +g -12.35 49.3 +d This is a Clinic in Diégo–Suarez +m 87654325" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Antsirabe +l Antsirabe +g -19.8167 47.0667 +d This is a Clinic in Antsirabe +m 87654326" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Besalampy +l Besalampy +g -16.75 44.5 +d This is a Clinic in Besalampy +m 87654327" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n clinique à Farafangana +l Farafangana +g -22.8 47.8333 +d This is a Clinic in Farafangana +m 87654328" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Fianarantsoa I +l Fianarantsoa I +g -21.45 47.1 +d C'est une clinique à Fianarantsoa +m 87654329" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Sainte Marie +l Sainte Marie +g -17.0833 49.8167 +d This is a Clinic in Île Sainte–Marie +m 87654330" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "reg +t clinic +n Clinic in Mahajanga +l Mahajanga +g -15.6667 46.35 +d This is a Clinic in Mahajanga +m 87654331" response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker = DateTimeMocker() datetime_mocker.set_date_time_now(FEB) # Total number of identical records = 3 message1 = "cli001 +EID cid001 +NA Mr. Tessy +FA 58 +RD 28.02.2011 +BG c +SY ade +GPS 79.2 20.34567" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid002 +NA Mr. Adam +FA 62 +RD 15.02.2011 +BG a +SY ab +GPS 74.2678 23.3567" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid003 +NA Ms. Beth +FA 75 +RD 09.02.2011 +BG b +SY bc +GPS 18.245 29.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker.set_date_time_now(MARCH) # Total number of identical records = 4 message1 = "cli001 +EID cid004 +NA Jannita +FA 90 +RD 07.03.2011 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid005 +NA Aanda +RD 12.03.2011 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cid001 +NA Ianda (",) +FA 34 +RD 27.03.2011 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid001 +NA ànita +FA 45 +RD 07.03.2011 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid004 +NA Amanda +RD 12.03.2011 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cid005 +NA Vanda (",) +FA 34 +RD 27.03.2011 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid003 +NA ànnita +FA 80 +RD 07.03.2011 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid002 +NA Amanda +RD 12.03.2011 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cid004 +NA Panda (",) +FA 34 +RD 27.03.2011 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid005 +NA ànnita +FA 50 +RD 07.03.2011 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid003 +NA Jimanda +RD 12.03.2011 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cli10 +NA Kanda (",) +FA 64 +RD 27.03.2011 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid004 +NA ànnita +FA 30 +RD 07.03.2011 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid005 +NA Qamanda +RD 12.03.2011 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cid001 +NA Huanda (*_*) +FA 74 +RD 27.03.2011 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker.set_date_time_now(DEC_2010) # Total number of identical records = 4 message1 = "cli001 +EID cli12 +FA 47 +RD 15.12.2010 +BG d +SY ace +GPS -58.3452 19.3345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli11 +NA De'melo +FA 38 +RD 27.12.2010 +BG c +SY ba +GPS 81.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli13 +NA Dono`mova +FA 24 +RD 06.12.2010 +BG b +SY cd +GPS 65.23452 -28.3456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli15 +NA Aàntra +FA 89 +RD 11.12.2010 +BG a +SY bd +GPS 45.234 89.32345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker.set_date_time_now(NOV_2010) # Total number of identical records = 3 message1 = "cli001 +EID cli12 +NA ànnita +FA 90 +RD 07.11.2010 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli14 +NA Amanda +RD 12.11.2010 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cli8 +NA Kanda (",) +FA 34 +RD 27.11.2010 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli9 +NA ànnita +FA 90 +RD 17.11.2010 +BG b +SY bbe +GPS 45.233 28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cid007 +NA Amanda +RD 12.11.2010 +BG c +SY bd +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = 'cli001 +EID cli8 +NA Kanda (",) +FA 34 +RD 27.11.2010 +BG d +SY be +GPS 38.3452 15.3345' response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker.set_date_time_now(PREV_MONTH) # Total number of identical records = 4 message1 = "cli001 +EID cli9 +NA Demelo +FA 38 +RD 17.05.2011 +BG c +SY ba +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli10 +NA Zorro +FA 48 +RD 05.05.2011 +BG b +SY cd +GPS 23.23452 -28.3456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli11 +NA Aàntra +FA 98 +RD 12.05.2011 +BG a +GPS -45.234 89.32345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli12 +NA ànnita +FA 37 +RD 05.05.2011 +BG d +SY cbe +GPS -78.233 -28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli9 +NA Demelo +FA 38 +RD 17.05.2011 +BG c +SY ba +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli10 +NA Zorro +FA 48 +RD 02.05.2011 +BG b +SY cd +GPS 23.23452 -28.3456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli11 +NA Aàntra +FA 95 +RD 12.05.2011 +BG a +GPS -45.234 89.32345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli12 +NA ànnita +FA 35 +RD 09.05.2010 +BG d +SY cbe +GPS -78.233 -28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli9 +NA Demelo +FA 32 +RD 27.05.2011 +BG c +SY ba +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli10 +NA Zorro +FA 43 +RD 05.05.2011 +BG b +SY cd +GPS 23.23452 -28.3456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli11 +NA Aàntra +FA 91 +RD 12.05.2011 +BG a +GPS -45.234 89.32345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli12 +NA ànnita +FA 45 +RD 15.05.2010 +BG d +SY cbe +GPS -78.233 -28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker.set_date_time_now(THIS_MONTH) # Total number of identical records = 4 message1 = "cli001 +EID cli13 +NA Dmanda +FA 69 +RD 05.06.2011 +BG c +SY ce +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli14 +NA Vamand +FA 36 +RD 03.06.2011 +BG a +SY ace +GPS 58.3452 115.3345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli15 +NA M!lo +FA 88 +RD 02.06.2011 +SY ba +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli16 +NA K!llo +FA 88 +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli13 +NA Dmanda +FA 89 +RD 04.06.2011 +BG c +SY ce +GPS 40.2 69.3123" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli14 +NA Vamand +FA 56 +RD 01.06.2011 +BG a +SY ace +GPS 58.3452 115.3345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli15 +NA M!lo +FA 45 +RD 07.06.2011 +SY ba +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli16 +NA K!llo +FA 28 +GPS 19.672 92.33456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) datetime_mocker.end_mock() # Total number of identical records = 3 message1 = "cli001 +EID cli17 +NA Catty +FA 78 +RD 15.06.2011 +BG b +SY dce +GPS 33.23452 -68.3456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli18 +NA àntra +FA 28 +RD 12.06.2011 +BG a +SY adb +GPS -45.234 169.32345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli9 +NA Tinnita +FA 37 +BG d +SY ace +GPS -78.233 -28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli17 +NA Catty +FA 98 +RD 25.06.2011 +BG b +SY dce +GPS 33.23452 -68.3456" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli18 +NA àntra +FA 58 +RD 22.06.2011 +BG a +SY adb +GPS -45.234 169.32345" response = sms_player.accept( Request(transportInfo=transport, message=message1)) message1 = "cli001 +EID cli9 +NA Tinnita +FA 27 +BG d +SY ace +GPS -78.233 -28.3324" response = sms_player.accept( Request(transportInfo=transport, message=message1))