예제 #1
0
 def test_guardar_transaccion_sin_autorizacion_chofer(self):
     """Prueba guardar una transaccion sin autorizacion de un chofer"""
     self.mockeamos_login_correcto()
     payload = "{\r\n  \"username\": \"Khaleesi\",\r\n  \"password\": \"Dragones3\",\r\n  \"fb\": {\r\n    \"userId\": \"MadreDragones\",\r\n    \"authToken\": \"fb_auth_token\"\r\n  },\r\n  \"firstName\": \"Daenerys\",\r\n  \"lastName\": \"Targaryen\",\r\n  \"country\": \"Valyria\",\r\n  \"email\": \"[email protected]\",\r\n  \"birthdate\": \"01/01/1990\",\r\n  \"images\": [\r\n    \"https://typeset-beta.imgix.net/rehost%2F2016%2F9%2F13%2F7c8791ae-a840-4637-9d89-256db36e8174.jpg\"\r\n  ]\r\n}"
     headers = {
         'content-type': "application/json",
         'cache-control': "no-cache",
         'postman-token': "1795714f-644d-3186-bb79-f6bb4ba39f00"
     }
     response_mock = ResponseMock()
     response_shared = json.dumps({
         'code': 2,
         'message': 'No esta autorizado'
     })
     response_mock.set_response(response_shared)
     response_mock.set_code(401)
     #Mockeamos la llamada
     self.mockeamos_login_correcto()
     SharedServer.post_transactions = MagicMock(return_value=response_mock)
     response = self.app.post('/api/v1/driver/8/transactions',
                              data=payload,
                              headers=headers)
     #Adentro del loads hay que pegar el json que devuelve la url
     assert_res = json.loads("""{
         "code": 2,
         "message": "No esta autorizado"
     }""")
     self.assertEqual(response.status_code, 401)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)
예제 #2
0
 def test_guardar_transaccion_chofer(self):
     """Prueba guardar una transaccion de un chofer"""
     self.mockeamos_login_correcto()
     payload = "{\r\n  \"username\": \"Khaleesi\",\r\n  \"password\": \"Dragones3\",\r\n  \"fb\": {\r\n    \"userId\": \"MadreDragones\",\r\n    \"authToken\": \"fb_auth_token\"\r\n  },\r\n  \"firstName\": \"Daenerys\",\r\n  \"lastName\": \"Targaryen\",\r\n  \"country\": \"Valyria\",\r\n  \"email\": \"[email protected]\",\r\n  \"birthdate\": \"01/01/1990\",\r\n  \"images\": [\r\n    \"https://typeset-beta.imgix.net/rehost%2F2016%2F9%2F13%2F7c8791ae-a840-4637-9d89-256db36e8174.jpg\"\r\n  ]\r\n}"
     headers = {
         'content-type': "application/json",
         'cache-control': "no-cache",
         'postman-token': "1795714f-644d-3186-bb79-f6bb4ba39f00"
     }
     response_mock = ResponseMock()
     response_shared = json.dumps({
         'metadata': {
             'version': 'XX'
         },
         'transaction': {
             'id': 'claudia',
             'trip': '1',
             'timestamp': 123333000,
             'cost': {
                 'currency': 'pesos',
                 'value': 65
             },
             'description': 'Algo...no se',
             'data': {}
         }
     })
     response_mock.set_response(response_shared)
     response_mock.set_code(200)
     #Mockeamos la llamada
     self.mockeamos_login_correcto()
     SharedServer.post_transactions = MagicMock(return_value=response_mock)
     response = self.app.post('/api/v1/driver/23/transactions',
                              data=payload,
                              headers=headers)
     #Adentro del loads hay que pegar el json que devuelve la url
     assert_res = json.loads("""{
         "id": "claudia",
         "trip": "1",
         "timestamp": 123333000,
         "cost": {
             "currency": "pesos",
             "value": 65
         },
         "description": "Algo...no se",
         "data": {}
     }""")
     self.assertEqual(response.status_code, 200)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)
예제 #3
0
 def test_obtener_metodos_pago(self):
     """Prueba que al obtener los metodos de pagos que acepta el sistema"""
     #Mockeamos la llamada
     self.mockeamos_login_correcto()
     response_mock = ResponseMock()
     response_shared = json.dumps({
         'metadata': {
             'count': 0,
             'total': 0,
             'next': 'string',
             'prev': 'string',
             'first': 'string',
             'last': 'string',
             'version': 'string'
         },
         'paymethods': [{
             'name': 'tarjeta',
             'parameters': [{
                 'type': 'habitual'
             }]
         }]
     })
     response_mock.set_response(response_shared)
     response_mock.set_code(200)
     SharedServer.get_payment_methods = MagicMock(
         return_value=response_mock)
     #Hacemos la llamada normal
     response = self.app.get('/api/v1/paymentmethods')
     print(response)
     assert_res = json.loads("""
     [
         {
             "name": "tarjeta",
             "parameters": [
                 {"type": "habitual"}
             ]
         }
     ]""")
     self.assertEqual(response.status_code, 200)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)
예제 #4
0
 def test_obtener_transacciones_cliente_sin_autorizacion(self):
     """Prueba que al obtener la informacion de las transacciones de un cliente sin autorizacion"""
     #Mockeamos la llamada
     self.mockeamos_login_correcto()
     response_mock = ResponseMock()
     response_shared = json.dumps({
         'code': '0',
         'message': 'Ups...no tiene autorizacion'
     })
     response_mock.set_response(response_shared)
     response_mock.set_code(401)
     SharedServer.get_transactions = MagicMock(return_value=response_mock)
     #Hacemos la llamada normal
     response = self.app.get('/api/v1/client/8/transactions')
     assert_res = json.loads("""
     {
         "code": "0",
         "message": "Ups...no tiene autorizacion"
     }""")
     self.assertEqual(response.status_code, 401)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)
예제 #5
0
 def test_obtener_metodos_pago_sin_autorizacion(self):
     """Prueba que al obtener los metodos de pagos que acepta el sistema sin autorizacion"""
     #Mockeamos la llamada
     self.mockeamos_login_correcto()
     response_mock = ResponseMock()
     response_shared = json.dumps({
         'code': '0',
         'message': 'Ups...no tiene autorizacion'
     })
     response_mock.set_response(response_shared)
     response_mock.set_code(401)
     SharedServer.get_payment_methods = MagicMock(
         return_value=response_mock)
     #Hacemos la llamada normal
     response = self.app.get('/api/v1/paymentmethods')
     print(response)
     assert_res = json.loads("""
     {
         "code": "0",
         "message": "Ups...no tiene autorizacion"
     }""")
     self.assertEqual(response.status_code, 401)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)
 def test_obtener_clima_londres_cinco_dias(self):
     """ Prueba obtener el forecast para 5 dias de londres, parseando bien la respuesta de la API"""
     response_mock = ResponseMock()
     # response_mock.set_response("http://demo4909478.mockable.io/api/v1/forecast/1")
     # response_mock.set_code(200)
     response = self.app.get('/api/v1/forecast/testUrl')
     assert_res = json.loads("""
     {
         "code": 200, 
         "forecast": [
             {
             "day": {
                 "temp": -11.7, 
                 "weather": "02d"
             }, 
             "night": {
                 "temp": -11.74, 
                 "weather": "01n"
             }
             }, 
             {
             "day": {
                 "temp": -9.42, 
                 "weather": "13d"
             }, 
             "night": {
                 "temp": -10.74, 
                 "weather": "13n"
             }
             }, 
             {
             "day": {
                 "temp": -3.23, 
                 "weather": "13d"
             }, 
             "night": {
                 "temp": -5.86, 
                 "weather": "13n"
             }
             }, 
             {
             "day": {
                 "temp": -12.56, 
                 "weather": "01d"
             }, 
             "night": {
                 "temp": -11.49, 
                 "weather": "13n"
             }
             }, 
             {
             "day": {
                 "temp": -11.24, 
                 "weather": "04d"
             }, 
             "night": {
                 "temp": -15.2, 
                 "weather": "03n"
             }
             }
         ]
     }""")
     self.assertEqual(response.status_code, 200)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)
예제 #7
0
 def test_informacion_transacciones_cliente(self):
     """Prueba que al obtener las transacciones de un cliente"""
     #Mockeamos la llamada
     self.mockeamos_login_correcto()
     response_mock = ResponseMock()
     response_shared = json.dumps({
         'metadata': {
             'count': 2,
             'total': 2,
             'next': 'string',
             'prev': 'string',
             'first': 'string',
             'last': 'string',
             'version': 'xx'
         },
         'transactions': [{
             'id': '1',
             'trip': '1',
             'timestamp': 0,
             'cost': {
                 'currency': 'pesos',
                 'value': 100
             },
             'description': 'Es que me hizo esperar mucho',
             'data': {}
         }, {
             'id': '1',
             'trip': '1',
             'timestamp': 0,
             'cost': {
                 'currency': 'pesos',
                 'value': 48
             },
             'description': 'Nada para acotar',
             'data': {}
         }]
     })
     response_mock.set_response(response_shared)
     response_mock.set_code(200)
     SharedServer.get_transactions = MagicMock(return_value=response_mock)
     #Hacemos la llamada normal
     response = self.app.get('/api/v1/client/23/transactions')
     assert_res = json.loads("""
     [
         {
         "id": "1",
         "trip": "1",
         "timestamp": 0,
         "cost": {
             "currency": "pesos",
             "value": 100
         },
         "description": "Es que me hizo esperar mucho",
         "data": {}
         },
         {
         "id": "1",
         "trip": "1",
         "timestamp": 0,
         "cost": {
             "currency": "pesos",
             "value": 48
         },
         "description": "Nada para acotar",
         "data": {}
         }
     ]""")
     self.assertEqual(response.status_code, 200)
     cmp_response = json.loads(response.data.decode('utf-8'))
     self.assertEqual(assert_res, cmp_response)