def process_view(self, request, view_func, view_args, view_kwargs):
     # If user is authenticated then it's an admin user
     if request.user.is_authenticated():
         return
     if request.path is '/v1/messages':
         message = None
         phone_number = None
         if request.POST.get('text'):
             message = request.POST.get('text')
             phone_number = request.POST.get('phoneNumber')
         else:
             # Putting a random phone, will change once we get correct format of message
             phone_number = '+91 7834671232'
             message = request.body
         message_args = sms_parser.sms_parser(message=message)
         auth_rule = message_args['auth_rule']
         if 'open' in auth_rule:
             request.user['role'] = 'Customer'
             request.user['phone_number'] = phone_number
             return
         elif 'sa' in auth_rule:
             try:
                 common.ServiceAdvisor.objects.get(phone_number=phone_number)
                 request.user['role'] = 'SA'
                 request.user['phone_number'] = phone_number
             except common.ServiceAdvisor.DoesNotExist:
                 raise HttpResponseBadRequest()
         elif 'customer' in auth_rule:
             try:
                 object = common.UserProfile.objects.get(phone_number=phone_number)
                 request.user['role'] = 'Customer'
                 request.user['phone_number'] = phone_number
             except common.UserProfile.DoesNotExist:
                 raise HttpResponseBadRequest()
     return
 def test_invalid_keyword_2(self):
     with self.assertRaises(sms_parser.InvalidMessage):
         mock_client_sms = ""
         sms_parser.sms_parser(message=mock_client_sms)
 def test_invalid_message_format(self):
     with self.assertRaises(sms_parser.InvalidFormat):
         mock_client_sms = "GCP_REG [email protected]"
         sms_parser.sms_parser(message=mock_client_sms)
 def test_invalid_keyword(self):
     with self.assertRaises(sms_parser.InvalidKeyWord):
         mock_client_sms = "ANNONYM [email protected] Test User"
         sms_parser.sms_parser(message=mock_client_sms)
 def test_sms_parse(self):
     mock_client_sms = "GCP_REG [email protected] Test User"
     test_args = sms_parser.sms_parser(message=mock_client_sms)
     self.assertEqual(test_args['keyword'], 'gcp_reg')
     self.assertEqual(test_args['email_id'], '*****@*****.**')
     self.assertEqual(test_args['name'], 'Test User')