def test_create_query_delete_user(db): ok = graphql.execute(''' mutation { createUser(userData: {email: "*****@*****.**", name: "123", password: "******", role: "Nurse"}){ ok } }''').data['createUser']['ok'] assert ok == True name = graphql.execute(''' query { user(email: "*****@*****.**") { name } } ''').data["user"]["name"] assert name == "123" ok = graphql.execute(''' mutation { deleteUser(email: "*****@*****.**"){ ok } } ''').data['deleteUser']['ok'] assert ok == True
def change_password(): form = json.loads(list(request.form.keys())[0]) old_password = form.get('old_password') password = form.get('password') if password == None or old_password == None: return make_response(jsonify({'ok': False}), 400) ok = graphql.execute(''' query { login(email: "%s", password: "******"){ ok } } ''' % (current_user.get_email(), old_password)).data['login']['ok'] if ok is False: return make_response(jsonify({'ok': False}), 400) ok = graphql.execute(''' mutation { mutateUser(userData: {id: "%s", password: "******"}){ ok } } ''' % (current_user.get_id(), password)).data['mutateUser']['ok'] return make_response(jsonify({'ok': ok}), 200 if ok else 400)
def test_delete_user_by_id(db_user): id = graphql.execute(''' query { user(email: "*****@*****.**"){ id } }''').data['user']['id'] ok = graphql.execute(''' mutation { deleteUser(id: "%s"){ ok } }''' % id).data['deleteUser']['ok'] assert ok == True user = graphql.execute(''' query { user(email: "*****@*****.**"){ id } }''').data['user'] assert user == None
def get_all(): offset = request.args.get('offset', default=0, type=int) count = request.args.get('count', default=20, type=int) patient_id = request.args.get('patientId', default=None, type=int) result = None if patient_id == None: result = graphql.execute( ''' query { healthRecords(offset: %s, count: %s){ total entry{ id patientId code medication date identifier name } offset count } } ''' % (offset, count) ).data['healthRecords'] else: result = graphql.execute( ''' query { healthRecords(offset: %s, count: %s, patientId: %s){ total entry{ id patientId code medication date identifier name } offset count } } ''' % (offset, count, patient_id) ).data['healthRecords'] return make_response(jsonify({'ok': True, 'healthrecords': result}), 200)
def get(invoice_id): isId = True try: int(invoice_id) except Exception: isId = False invoice = None if isId: invoice = graphql.execute(''' query { invoice(id: %s) { id date patientId name identifier text } } ''' % invoice_id).data['invoice'] return make_response( jsonify({ 'ok': True if invoice != None else False, 'invoice': invoice }), 200 if invoice != None else 400)
def test_create_failed(db): ok = graphql.execute(''' mutation { createUser(userData: {email: "*****@*****.**", name: "123", password: "******", role: "Nurse"}){ ok } }''').data['createUser']['ok'] assert ok == True ok = graphql.execute(''' mutation { createUser(userData: {email: "*****@*****.**", name: "123", password: "******", role: "Nurse"}){ ok } }''').data['createUser']['ok'] assert ok == False
def create(): form = json.loads(list(request.form.keys())[0]) patient_id = form.get('patientId') code = form.get('code') medication = form.get('medication') identifier = form.get('identifier') name = form.get('name') date = datetime.today().strftime('%Y-%m-%d') if patient_id is None or code is None or medication is None or identifier is None or name is None: return make_response(jsonify({'ok': False}), 400) result = graphql.execute( ''' mutation { createHealthRecord(healthRecordData: {patientId: %s, code: "%s", medication: "%s", date: "%s", identifier: "%s", name: "%s"}) { ok healthRecord { id code medication patientId date identifier name } } }''' % (patient_id, code, medication, date, identifier, name) ).data['createHealthRecord'] ok = result['ok'] hr = result['healthRecord'] return make_response(jsonify({'ok': ok, 'healthRecord': hr}), 200 if ok else 400)
def change(healthrecord_id): form = json.loads(list(request.form.keys())[0]) code = form.get('code') medication = form.get('medication') identifier = form.get('identifier') name = form.get('name') if code is None or medication is None or identifier is None or name is None: return make_response(jsonify({'ok': False}), 400) result = graphql.execute( ''' mutation { mutateHealthRecord(id: %s,healthRecordData: {code: "%s", medication: "%s", identifier: "%s", name: "%s"}) { ok healthRecord { id code medication patientId date identifier name } } }''' % (healthrecord_id, code, medication, identifier, name) ).data['mutateHealthRecord'] ok = result['ok'] hr = result['healthRecord'] return make_response(jsonify({'ok': ok, 'healthRecord': hr}), 200 if ok else 400)
def change_announcement(announcement_id): form = json.loads(list(request.form.keys())[0]) title = form.get('title') context = form.get('context') author = form.get('author') date = form.get('date') result = graphql.execute(''' mutation { mutateAnnouncement(announcementData: { title: "%s" context: "%s" author: "%s" date: "%s"}, id:"%s"){ announcement { id title context author date } ok } } ''' % (title, context, author, date, announcement_id)).data['mutateAnnouncement'] ok = result['ok'] return make_response( jsonify({ 'ok': ok, 'announcement': result['announcement'] }), 200 if ok else 400)
def delete(medication_id): ok = graphql.execute(''' mutation { deleteMedication(id: %s) { ok } }''' % medication_id).data['deleteMedication']['ok'] return make_response(jsonify({'ok': ok}), 200 if ok else 400)
def test_query_user_by_id(db_user): id = graphql.execute(''' query { user(email: "*****@*****.**"){ id } }''').data['user']['id'] user = graphql.execute(''' query { user(id: "%s") { name } } ''' % id).data['user'] assert user == {"name": "User1"}
def get(patient_id): isId = True try: int(patient_id) except Exception: isId = False patient = None if isId: patient = graphql.execute(''' query { patient(id: %s) { id identifier address gender family given phone birthDate maritalStatus } } ''' % patient_id).data['patient'] else: patient = graphql.execute(''' query { patient(identifier: "%s") { id identifier address gender family given phone birthDate maritalStatus } } ''' % patient_id).data['patient'] return make_response( jsonify({ 'ok': True if patient != None else False, 'patient': patient }), 200 if patient != None else 400)
def test_query_user(db_user): user = graphql.execute(''' query { user(email: "*****@*****.**") { name } } ''').data['user'] assert user == {"name": "User1"}
def test_query_login(db_user): ok = graphql.execute(''' query { login(email: "*****@*****.**", password: "******"){ ok } } ''').data['login']['ok'] assert ok == True
def test_query_user_not_found(db_user): user = graphql.execute(''' query { user(email: "") { name } } ''').data['user'] assert user == None user = graphql.execute(''' query { user { name } } ''').data['user'] assert user == None
def test_list_user(db_user): users = graphql.execute(''' query { users { name } } ''').data['users'] assert users == [{"name": "User1"}, {"name": "User2"}]
def test_delete_empty_user(db_user): ok = graphql.execute(''' mutation { deleteUser { ok } } ''').data['deleteUser']['ok'] assert ok == False
def test_mutate_user_password(db_user): result = graphql.execute(''' mutation { mutateUser(userData: {email: "*****@*****.**", password:"******"}){ ok } }''').data['mutateUser'] ok = result['ok'] assert ok == True
def test_failed_query_login(db_user): ok = graphql.execute(''' query { login(email: "test@gmail", password: "******"){ ok } } ''').data['login']['ok'] assert ok == False
def delete_announcement(announcement_id): ok = graphql.execute(''' mutation { deleteAnnouncement(id:"%s"){ ok } } ''' % announcement_id).data['deleteAnnouncement']['ok'] return make_response(jsonify({'ok': ok}), 200 if ok else 400)
def delete(user_id): ok = graphql.execute(''' mutation { deleteUser(id: "%s"){ ok } } ''' % user_id).data['deleteUser']['ok'] return make_response(jsonify({'ok': ok}), 200 if ok else 400)
def delete(healthrecord_id): ok = graphql.execute( ''' mutation { deleteHealthRecord(id: %s) { ok } }''' % healthrecord_id ).data['deleteHealthRecord']['ok'] return make_response(jsonify({'ok': ok}), 200 if ok else 400)
def change(): form = json.loads(list(request.form.keys())[0]) images = form.get('images') URLs = form.get('URLs') title = form.get('title') time = form.get('time') description = form.get('description') our_services = form.get('ourServices') doctor_description = form.get('doctorDescription') clinic_address = form.get('clinicAddress') if images is None or URLs is None or title is None or time is None or description is None or our_services is None or doctor_description is None or clinic_address is None: return make_response( jsonify({ 'ok': False, 'result': "Loss some management data" }, 400)) result = graphql.execute(''' mutation{ mutateManagement(managementData:{ images: %s, URLs: %s, title: "%s", time: "%s", description: "%s", ourServices: "%s", doctorDescription: "%s", clinicAddress: "%s" }){ ok management{ images URLs title time description ourServices doctorDescription clinicAddress } } } ''' % (str(images).replace('\'', "\""), str(URLs).replace( '\'', "\""), title, time, description, our_services, doctor_description, clinic_address)).data['mutateManagement'] ok = result['ok'] management = result['management'] return make_response(jsonify({ 'ok': ok, 'management': management }), 200 if ok else 400)
def test_failed_mutate_user_role(db_user): result = graphql.execute(''' mutation { mutateUser(userData: {email: "*****@*****.**", role:"test"}){ user { role } ok } }''').data['mutateUser'] ok = result['ok'] assert ok == False
def change(patient_id): form = json.loads(list(request.form.keys())[0]) identifier = form.get('identifier') address = form.get('address') gender = form.get('gender') family = form.get('family') given = form.get('given') phone = form.get('phone') birth_date = form.get('birthDate') marital_status = form.get('maritalStatus') if identifier is None or address is None or gender is None or family is None or given is None or marital_status is None or birth_date is None or phone is None: return make_response( jsonify({ 'ok': False, 'result': "Loss some patient data" }, 400)) result = graphql.execute(''' mutation { mutatePatient(id: %s, patientData:{ identifier: "%s", address: "%s", gender: "%s", family: "%s", given: "%s", phone: "%s", birthDate: "%s", maritalStatus: "%s" }) { ok patient{ id identifier address gender family given phone birthDate maritalStatus } } } ''' % (patient_id, identifier, address, gender, family, given, phone, birth_date, marital_status)).data['mutatePatient'] ok = result['ok'] patient = result['patient'] return make_response(jsonify({ 'ok': ok, 'patient': patient }), 200 if ok else 400)
def login_index(): form = json.loads(list(request.form.keys())[0]) email = form.get('email') password = form.get('password') if email is None or password is None: return make_response( jsonify({ 'ok': False, 'message': "email or password should not be None" }), 401) ok = graphql.execute(''' query { login(email: "%s", password:"******"){ ok } } ''' % (email, password)).data['login']['ok'] if ok != True: return make_response(jsonify({ 'ok': ok, 'message': "vlidate failed." }), 401) user = User(email=email) login_user(user) rep_user = graphql.execute(''' query { user(id: "%s") { email name role image introduction } } ''' % user.get_id()).data['user'] return make_response(jsonify({'ok': ok, 'user': rep_user}), 200)
def get_all_users(): users = graphql.execute(''' query { users { id name email image introduction role } } ''').data['users'] return make_response(jsonify({'ok': True, 'users': users}), 200)
def test_mutate_user(db_user): result = graphql.execute(''' mutation { mutateUser(userData: {email: "*****@*****.**", name: "123"}){ user { name } ok } }''').data['mutateUser'] ok = result['ok'] assert ok == True name = result['user']['name'] assert name == '123'
def test_mutate_user_role(db_user): result = graphql.execute(''' mutation { mutateUser(userData: {email: "*****@*****.**", role:"Nurse"}){ user { role } ok } }''').data['mutateUser'] ok = result['ok'] assert ok == True role = result['user']['role'] assert role == 'Nurse'
def delete(patient_id): isId = True try: int(patient_id) except Exception: isId = False ok = False if isId: ok = graphql.execute(''' mutation { deletePatient(id: %s) { ok } }''' % patient_id).data['deletePatient']['ok'] else: ok = graphql.execute(''' mutation { deletePatient(identifier: "%s") { ok } }''' % patient_id).data['deletePatient']['ok'] return make_response(jsonify({'ok': ok}), 200 if ok else 400)