コード例 #1
0
def test_getting_error_message_when_response_is_not_ok(mock_post,
                                                       mock_validate_token):
    input = {
        'ccvv': '274827484',
        'expiration_month': '12',
        'expiration_year': '1738',
        'method': 'card',
        'number': '27484277',
        'type': 'visa'
    }
    header = {'token': '838298'}

    error_msg = [{'message': "Parámetros incorrectos", 'status': 400}]

    mock_validate_token.return_value = True

    mock_response = Mock()
    http_error = requests.exceptions.HTTPError()
    mock_response.raise_for_status.side_effect = http_error
    mock_response.status_code = 400

    mock_post.return_value = mock_response

    app2 = app.test_client()
    response = app2.post('/passengers/84748/card',
                         data=json.dumps(input),
                         headers=header,
                         content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], error_msg)
コード例 #2
0
def test_getting_user_card_when_response_is_ok(mock_get, mock_validate_token):
    card_data = {
        'metadata': {},
        'card': {
            'ccvv': '274827484',
            'expiration_month': '12',
            'expiration_year': '1738',
            'method': 'card',
            'number': '27484277',
            'type': 'visa'
        }
    }

    app_response = {
        'ccvv': '274827484',
        'expiration_month': '12',
        'expiration_year': '1738',
        'method': 'card',
        'number': '27484277',
        'type': 'visa'
    }
    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_get.return_value = Mock(ok=True)
    mock_get.return_value.json.return_value = card_data

    app2 = app.test_client()
    response = app2.get('/passengers/84748/card', headers=header)
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], [app_response])
コード例 #3
0
def test_getting_error_message_when_response_is_not_ok(mock_put, mock_get, mock_validate_token):
    args = {
            'username': '******',
            'password': '******',
            'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
            'firstname': 'SOFIA',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }

    user = {
            '_ref': 5678,
            'username': '******',
            'password': '******',
            'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
            'firstname': 'juan',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }
    header = {'token': '838298'}

    error_msg = [{
        'message': "Parámetros incorrectos",
        'status': 400
    }]

    mock_validate_token.return_value = True

    mock_get.return_value = Mock(ok=True)
    mock_get.return_value.json.return_value = user

    mock_response = Mock()
    http_error = requests.exceptions.HTTPError()
    mock_response.raise_for_status.side_effect = http_error
    mock_response.status_code = 400

    mock_put.return_value = mock_response

    app2 = app.test_client()
    response = app2.put('/passengers/84748', data=json.dumps(args), headers=header,
                        content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], error_msg)
コード例 #4
0
def test_posting_user_car_when_response_is_ok(mock_post, mock_validate_token):
    car_data = {
        'metadata': {},
        'car': {
            'brand': 'Fiat',
            'model': '7',
            'color': 'azul',
            'plate': '667 abc',
            'year': '1738',
            'status': 'new',
            'radio': 'yes',
            'airconditioner': True,
            '_ref': 'fjsisfjisjfsij'
        }
    }

    input = {
        'brand': 'Fiat',
        'model': '7',
        'color': 'azul',
        'plate': '667 abc',
        'year': '1738',
        'status': 'new',
        'radio': 'yes',
        'airconditioner': True
    }

    app_response = {
        'brand': 'Fiat',
        'model': '7',
        'color': 'azul',
        'plate': '667 abc',
        'year': '1738',
        'status': 'new',
        'radio': 'yes',
        'airconditioner': True
    }
    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_post.return_value = Mock(ok=True)
    mock_post.return_value.json.return_value = car_data

    app2 = app.test_client()
    response = app2.post('/drivers/84748/cars',
                         data=json.dumps(input),
                         headers=header,
                         content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], [app_response])
コード例 #5
0
ファイル: test_match.py プロジェクト: TallerDeProg2/AppServer
def test_starting_trip(mock_validate_token, mock_trips):
    args = {'paymethod': 'card'}

    trip = {
        "_id": 20,
        "passenger": 22,
        "driver": 4874,
        "start": {
            "street":
            "Av. Pres. Roque Sáenz Peña 999, C1035AAE CABA, Argentina",
            "location": {
                "lat": -34.6038333,
                "lon": -58.3815047
            }
        },
        "end": {
            "street":
            "Gral. Lucio Norberto Mansilla 3701-3721, C1425BPY CABA, Argentina",
            "location": {
                "lat": -34.5901404,
                "lon": -58.41590160000001
            }
        },
        "totalTime": 422796,
        "waitTime": "2017-12-02 11:40:43",
        "travelTime": 291963,
        "distance": 78393,
        "startTime": "2017-12-02 11:40:43",
        "status": "finished",
        "cost": {
            "currency": "ARS",
            "value": 2635760
        }
    }

    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_trips.find_one.return_value = trip
    mock_trips.update_one.return_value = None

    app2 = app.test_client()
    response = app2.post('/trips/20/start',
                         data=json.dumps(args),
                         headers=header,
                         content_type='application/json')
    # response_json = json.loads(response.get_data())

    assert_list_equal([response.status_code], [201])
コード例 #6
0
def test_save_passengers_location(mock_validate_token, mock_passengers):
    input = {'lat': 47.2737, 'lon': 28.284}

    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_passengers.update_one.return_value = None

    app2 = app.test_client()
    response = app2.put('/passengers/1/location',
                        data=json.dumps(input),
                        headers=header,
                        content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], [200])
コード例 #7
0
def test_getting_error_message_when_response_is_not_ok(mock_get,
                                                       mock_validate_token):
    header = {'token': '838298'}

    error_msg = [{'message': "Parámetros incorrectos", 'status': 400}]

    mock_validate_token.return_value = True

    mock_response = Mock()
    http_error = requests.exceptions.HTTPError()
    mock_response.raise_for_status.side_effect = http_error
    mock_response.status_code = 400

    mock_get.return_value = mock_response

    app2 = app.test_client()
    response = app2.get('/passengers/84748/card', headers=header)
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], error_msg)
コード例 #8
0
def test_getting_directions(mock_validate_token, mock_passengers,
                            mock_directions):
    input = {'lat': 47.2737, 'lon': 28.284}

    passenger = {"_id": 1, "lat": 1, "lon": 1}

    directions_response = {'directions': 'Lots of directions'}
    expected_response = {'routes': directions_response}

    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_passengers.find_one.return_value = passenger
    mock_directions.directions.return_value = directions_response

    app2 = app.test_client()
    response = app2.post('/passengers/1/directions',
                         data=json.dumps(input),
                         headers=header,
                         content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], [expected_response])
コード例 #9
0
def test_getting_user_when_response_is_ok(mock_put, mock_get, mock_validate_token):
    args = {
            'type': 'passenger',
            'username': '******',
            'password': '******',
            'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
            'firstname': 'SOFIA',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }

    user = {
        'user': {
            '_ref': 5678,
            'username': '******',
            'password': '******',
            'cars': {},
            'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
            'firstname': 'juan',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }
    }

    modified_user = {
        'user': {
            '_ref': 5678,
            'username': '******',
            'password': '******',
            'cars': {},
            'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
            'firstname': 'SOFIA',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }
    }
    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_get.return_value = Mock(ok=True)
    mock_get.return_value.json.return_value = user

    mock_put.return_value = Mock(ok=True)
    mock_put.return_value.json.return_value = modified_user

    app2 = app.test_client()
    response = app2.put('/passengers/84748', data=json.dumps(args), headers=header,
                        content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], [modified_user['user']])
コード例 #10
0
ファイル: test_match.py プロジェクト: TallerDeProg2/AppServer
def test_ending_trip_when_response_is_ok(mock_post, mock_get,
                                         mock_validate_token, mock_trips,
                                         mock_drivers, mock_push):
    args = {'paymethod': 'card'}

    trip = {
        "_id": 20,
        "passenger": 22,
        "driver": 4874,
        "start": {
            "street":
            "Av. Pres. Roque Sáenz Peña 999, C1035AAE CABA, Argentina",
            "location": {
                "lat": -34.6038333,
                "lon": -58.3815047
            }
        },
        "end": {
            "street":
            "Gral. Lucio Norberto Mansilla 3701-3721, C1425BPY CABA, Argentina",
            "location": {
                "lat": -34.5901404,
                "lon": -58.41590160000001
            }
        },
        "totalTime": 422796,
        "waitTime": 130833,
        "travelTime": 291963,
        "distance": 78393,
        "startTime": "2017-12-02 11:40:43",
        "status": "finished",
        "cost": {
            "currency": "ARS",
            "value": 2635760
        }
    }

    card = {
        'metadata': {
            'version': '1.0'
        },
        'card': {
            'ccvv': '11111',
            'type': 'Visa',
            'method': 'card',
            'number': '123456789123',
            'expiration_year': '20',
            'expiration_month': '12'
        }
    }

    cost = {
        'metadata': {
            'version': '1.0'
        },
        'cost': {
            'currency': 'ARS',
            'value': 3043890
        }
    }

    expected_response = {'cost': {'currency': 'ARS', 'value': 3043890}}

    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_trips.find_one.return_value = trip
    mock_trips.update_one.return_value = None
    mock_drivers.update_one.return_value = None

    mock_get.return_value = Mock(ok=True)
    mock_get.return_value.json.return_value = card

    mock_response = Mock()
    mock_response.status_code = 200

    mock_post.return_value = Mock(ok=True)
    mock_post.status_code = 200
    mock_post.return_value.json.return_value = cost

    app2 = app.test_client()
    response = app2.post('/trips/20/end',
                         data=json.dumps(args),
                         headers=header,
                         content_type='application/json')
    response_json = json.loads(response.get_data())

    assert_list_equal([response_json], [expected_response])
コード例 #11
0
ファイル: test_match.py プロジェクト: TallerDeProg2/AppServer
def test_confirming_trip(mock_get, mock_validate_token, mock_trips,
                         mock_drivers, mock_push):
    args = {'trip_id': 20}

    trip = {
        "_id": 20,
        "passenger": 22,
        "driver": 4874,
        "start": {
            "street":
            "Av. Pres. Roque Sáenz Peña 999, C1035AAE CABA, Argentina",
            "location": {
                "lat": -34.6038333,
                "lon": -58.3815047
            }
        },
        "end": {
            "street":
            "Gral. Lucio Norberto Mansilla 3701-3721, C1425BPY CABA, Argentina",
            "location": {
                "lat": -34.5901404,
                "lon": -58.41590160000001
            }
        },
        "totalTime": 422796,
        "waitTime": 130833,
        "travelTime": 291963,
        "distance": 78393,
        "startTime": "2017-12-02 11:40:43",
        "status": "finished",
        "cost": {
            "currency": "ARS",
            "value": 2635760
        }
    }

    user = {
        'metadata': {},
        'user': {
            '_ref': 5678,
            'username': '******',
            'password': '******',
            'cars': {},
            'fb': {
                'userId': 'pepefb',
                'authToken': '1234'
            },
            'firstname': 'juan',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }
    }

    header = {'token': '838298'}

    mock_validate_token.return_value = True

    mock_trips.find_one.return_value = trip
    mock_trips.update_one.return_value = None
    mock_drivers.update_one.return_value = None

    mock_get.return_value = Mock(ok=True)
    mock_get.return_value.json.return_value = user

    app2 = app.test_client()
    response = app2.post('/drivers/4874/trip/confirmation',
                         data=json.dumps(args),
                         headers=header,
                         content_type='application/json')

    assert_list_equal([response.status_code], [201])
コード例 #12
0
    def test_signing_user_up_when_response_is_ok(self, mock_post,
                                                 mock_encode_token,
                                                 mock_passengers):
        args = {
            'type': 'passenger',
            'username': '******',
            'password': '******',
            'fb': {
                'userId': 'pepefb',
                'authToken': '1234'
            },
            'firstname': 'SOFIA',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }

        user = {
            'user': {
                '_ref': 5678,
                'id': 27478,
                'username': '******',
                'password': '******',
                'cars': {},
                'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
                'firstname': 'juan',
                'lastname': 'argento',
                'country': 'argentina',
                'email': '*****@*****.**',
                'birthdate': '27484'
            }
        }

        expected_response = {
            'id': 27478,
            'username': '******',
            'password': '******',
            'fb': {
                'userId': 'pepefb',
                'authToken': '1234'
            },
            'firstname': 'juan',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }

        header = {'token': '838298'}

        mock_post.return_value = Mock(ok=True)
        mock_post.return_value.json.return_value = user

        app2 = app.test_client()
        response = app2.post('/users',
                             data=json.dumps(args),
                             headers=header,
                             content_type='application/json')
        response_json = json.loads(response.get_data())

        assert_list_equal([response_json], [expected_response])
コード例 #13
0
    def test_adding_token_to_response(self, mock_encode, mock_post):
        input = {
            'username': '******',
            'password': '******',
            'fb': {
                'userId': 'pepefb',
                'authToken': '1234'
            },
            'firstname': 'SOFIA',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484'
        }

        response_shared = {
            'user': {
                'username': '******',
                'password': '******',
                '_ref': '7284759248784',
                'cars': {},
                'fb': {
                    'userId': 'pepefb',
                    'authToken': '1234'
                },
                'firstname': 'SOFIA',
                'lastname': 'argento',
                'country': 'argentina',
                'email': '*****@*****.**',
                'birthdate': '27484',
                'id': '383948'
            }
        }

        output = [{
            'username': '******',
            'password': '******',
            'fb': {
                'userId': 'pepefb',
                'authToken': '1234'
            },
            'firstname': 'SOFIA',
            'lastname': 'argento',
            'country': 'argentina',
            'email': '*****@*****.**',
            'birthdate': '27484',
            'token': '74284297428',
            'id': '383948'
        }]

        mock_encode.return_value = '74284297428'

        mock_post.return_value = Mock(ok=True)
        mock_post.return_value.json.return_value = response_shared

        app2 = app.test_client()
        response = app2.post('/validate',
                             data=json.dumps(input),
                             content_type='application/json')
        response_json = json.loads(response.get_data())

        assert_list_equal([response_json], output)