Example #1
0
def create_car():
    user = User.get(User.username == auth.username())

    required_fields = ('license_plate', 'latitude', 'longitude')
    validate_json_request(request, required_fields=required_fields)

    try:
        location = Location.create_from_string(request.json['latitude'],
                                               request.json['longitude'])
    except ValueError as e:
        raise BadApiRequest(str(e))

    try:
        car = Car.create_with_user(user, request.json['license_plate'],
                                   location)
    except IntegrityError:
        raise BadApiRequest('Car already exists')
    except ValueError as e:
        raise BadApiRequest(str(e))

    return json_response(model_to_dict(car, recurse=False))
Example #2
0
 def test_create_duplicate_plates(self, default_user, default_car,
                                  default_location):
     with pytest.raises(IntegrityError):
         Car.create_with_user(default_user, default_car.license_plate,
                              default_location)
Example #3
0
 def test_create_invalid_plates(self, default_user, default_location):
     with pytest.raises(ValueError):
         Car.create_with_user(default_user, '     ', default_location)
Example #4
0
 def test_create(self, mutable_user, default_location):
     car = Car.create_with_user(mutable_user, 'TEST123', default_location)
     assert car.id is not None