def test_is_logged_in_bool_true():
with app.app_context():
with app.test_request_context():
views.session.clear()
views.session.update({'logged_in': True, 'username': 'hummus'})
assert (views.is_logged_in_bool() is True)
python类app_context()的实例源码
def test_unauthorized():
with app.app_context():
with app.test_request_context():
assert (views.unauthorized().status_code is views.STATUS_CODE['UNAUTHORIZED'])
def test_make_new_reservation():
with app.app_context():
with app.test_request_context(method='POST'):
assert (views.make_new_reservation() is not None)
def test_login_get():
with app.app_context():
with app.test_request_context():
assert (views.login() is not None)
def test_invalid_validate_make_new_reservation_times_more_than_3_hours_long():
with app.app_context():
with app.test_request_context():
data = {
'roomId': '1',
'username': 'mr',
'timeslot': {
'startTime': '1',
'endTime': '23',
'date': '3000/03/19'
},
'equipment': {
'laptop': 1,
'projector': 1,
'board': 1
},
'description': 'cool meeting'
}
assert (views.validate_reservation_payload_format(data).status_code is views.STATUS_CODE[
'UNPROCESSABLE'])
data['timeslot']['startTime'] = '5'
data['timeslot']['startTime'] = '1'
assert (views.validate_reservation_payload_format(data).status_code is views.STATUS_CODE[
'UNPROCESSABLE'])
data['timeslot']['startTime'] = '23'
data['timeslot']['startTime'] = '4'
assert (views.validate_reservation_payload_format(data).status_code is views.STATUS_CODE[
'UNPROCESSABLE'])
def test_invalid_get_all_rooms_without_login(monkeypatch):
with app.app_context():
with app.test_request_context():
def rooms_found():
return [Room(1), Room(2), Room(3)]
monkeypatch.setattr(RoomMapper, 'findAll', rooms_found)
views.session.clear()
response = views.get_all_rooms()
assert (response.status_code == views.STATUS_CODE['UNAUTHORIZED'])
def test_invalid_make_new_reservation_without_login(monkeypatch):
with app.app_context():
with app.test_request_context():
def empty_return():
return
def room_find(_):
return Room(1)
def user_find(_):
return User('buddy', 'boy')
def reservation_create(*args, **kwargs):
room = Room(1)
user = User('buddy', 'boy')
time = Timeslot(1, 2, datetime(2020, 01, 01), 1, "userID_tyvub", "timeslotID_ugvhbjk")
return Reservation(room, user, time, 'description', Equipment("equipmentID_yvhjb"),
"reservationID_vghjbk")
def timeslot_create(_):
return Timeslot(1, 2, datetime(2020, 01, 01), 1, "userID_vhbj", "timeslotID_iubno")
monkeypatch.setattr(TimeslotMapper, 'makeNew', empty_return)
monkeypatch.setattr(ReservationMapper, 'makeNew', reservation_create)
monkeypatch.setattr(TimeslotMapper, 'done', empty_return)
monkeypatch.setattr(RoomMapper, 'find', room_find)
monkeypatch.setattr(UserMapper, 'find', user_find)
views.session.clear()
response = views.make_new_reservation()
assert (response.status_code == views.STATUS_CODE['UNAUTHORIZED'])
def test_invalid_get_reservations_by_user_without_login(monkeypatch):
with app.app_context():
with app.test_request_context():
views.session.clear()
response = views.get_reservations_by_user()
assert (response.status_code == views.STATUS_CODE['UNAUTHORIZED'])
def test_invalid_get_reservations_by_room_without_login(monkeypatch):
with app.app_context():
with app.test_request_context():
views.session.clear()
response = views.get_reservations_by_room()
assert (response.status_code == views.STATUS_CODE['UNAUTHORIZED'])
def test_invalid_delete_reservation_no_login():
with app.app_context():
with app.test_request_context(method='DELETE'):
views.session.clear()
response = views.delete_reservation('test')
assert (response.status_code == views.STATUS_CODE['UNAUTHORIZED'])
def test_invalid_delete_reservation_wrong_id(monkeypatch):
with app.app_context():
with app.test_request_context(method='DELETE'):
def reservation_not_found(_):
return
monkeypatch.setattr(ReservationMapper, 'find', reservation_not_found)
views.session.clear()
views.session.update({'logged_in': True, 'username': 'pasta'})
response = views.delete_reservation('test')
assert (response.status_code == views.STATUS_CODE['NOT_FOUND'])
def test_valid_delete_reservation(monkeypatch):
with app.app_context():
with app.test_request_context(method='DELETE'):
def reservation_not_found(_):
room = Room(1)
user = User('buddy', 'boy')
time = Timeslot(1, 2, datetime(2020, 01, 01), '', 1, 1)
equipment = Equipment("EquipmentID_iionask")
return Reservation(room, user, time, 'description', equipment,'test')
def empty_return(*args, **kwargs):
return
monkeypatch.setattr(ReservationMapper, 'find', reservation_not_found)
monkeypatch.setattr(ReservationMapper, 'delete', empty_return)
monkeypatch.setattr(ReservationMapper, 'done', empty_return)
monkeypatch.setattr(WaitingMapper, 'find', reservation_not_found)
monkeypatch.setattr(WaitingMapper, 'delete', empty_return)
monkeypatch.setattr(WaitingMapper, 'done', empty_return)
monkeypatch.setattr(TimeslotMapper, 'delete', empty_return)
monkeypatch.setattr(TimeslotMapper, 'done', empty_return)
monkeypatch.setattr(EquipmentMapper, 'delete', empty_return)
monkeypatch.setattr(EquipmentMapper, 'done', empty_return)
views.session.clear()
views.session.update({'logged_in': True, 'username': 'pasta'})
response = views.delete_reservation('test')
assert (response.status_code == views.STATUS_CODE['OK'])
response_data = json.loads(response.get_data())
assert (isinstance(response_data, dict))
assert ('reservationId' in response_data or 'waitingId' in response_data)
def get_api_token():
with app.app_context():
token = mongo.db.conf.find_one({'token': {'$exists': 1}}).get('token')
return token
def setUp(self):
self.db_fd, app.config['DATABASE'] = tempfile.mkstemp()
app.config[
'SQLALCHEMY_DATABASE_URI'] = 'sqlite:///%s \
' % app.config['DATABASE']
app.testing = True
self.app = app.test_client()
with app.app_context():
db.create_all()
populate_db._run()
def setUp(self):
self.ctx = app.app_context()
self.ctx.push()
db.drop_all() # just in case
db.create_all()
self.client = app.test_client()
def send_async(app, message):
''' Send the mail asynchronously. '''
with app.app_context():
mail.send(message)