def test_remove_service_whitelist_does_not_commit(notify_db, sample_service_whitelist): dao_remove_service_whitelist(sample_service_whitelist.service_id) # since dao_remove_service_whitelist doesn't commit, we can still rollback its changes notify_db.session.rollback() assert ServiceWhitelist.query.count() == 1
def test_remove_service_whitelist_does_not_commit(notify_db, sample_service_whitelist): dao_remove_service_whitelist(sample_service_whitelist.service_id) # since dao_remove_service_whitelist doesn't commit, we can still rollback its changes notify_db.session.rollback() assert ServiceWhitelist.query.count() == 1
def test_remove_service_whitelist_only_removes_for_my_service(notify_db, notify_db_session): service_1 = create_service(notify_db, notify_db_session, service_name="service 1") service_2 = create_service(notify_db, notify_db_session, service_name="service 2") dao_add_and_commit_whitelisted_contacts([ ServiceWhitelist.from_string(service_1.id, EMAIL_TYPE, '*****@*****.**'), ServiceWhitelist.from_string(service_2.id, EMAIL_TYPE, '*****@*****.**') ]) dao_remove_service_whitelist(service_1.id) assert service_1.whitelist == [] assert len(service_2.whitelist) == 1
def test_remove_service_whitelist_only_removes_for_my_service(notify_db, notify_db_session): service_1 = create_service(notify_db, notify_db_session, service_name="service 1") service_2 = create_service(notify_db, notify_db_session, service_name="service 2") dao_add_and_commit_whitelisted_contacts([ ServiceWhitelist.from_string(service_1.id, EMAIL_TYPE, '*****@*****.**'), ServiceWhitelist.from_string(service_2.id, EMAIL_TYPE, '*****@*****.**') ]) dao_remove_service_whitelist(service_1.id) assert service_1.whitelist == [] assert len(service_2.whitelist) == 1
def update_whitelist(service_id): # doesn't commit so if there are any errors, we preserve old values in db dao_remove_service_whitelist(service_id) try: whitelist_objs = get_whitelist_objects(service_id, request.get_json()) except ValueError as e: current_app.logger.exception(e) dao_rollback() msg = '{} is not a valid email address or phone number'.format(str(e)) raise InvalidRequest(msg, 400) else: dao_add_and_commit_whitelisted_contacts(whitelist_objs) return '', 204