def random_student(): first_name = f.first_name() last_name = f.last_name() s = Student() s.number = f.random_int(10000000000, 19999999999) s.deleted = f.random_element(False, False, False, False, False, False, True) s.archived = f.random_element(False, False, False, False, False, False, True) s.bio = '\n'.join(f.paragraphs()) s.name = first_name s.surname = last_name s.pno = str(f.random_int(10000000000, 19999999999)) s.join_date = f.date_time_between('-2000d', '-180d').strftime(DATE_FORMAT) ai = s.AuthInfo() ai.email = f.email() ai.password = f.sha256() ai.username = f.simple_profile()['username'] return s
def test_model_to_json_expanded(): d = data s = Student() s.number = d['number'] s.deleted = d['deleted'] s.archived = d['archived'] # s.timestamp = d['timestamp'] s.bio = d['bio'] s.name = d['name'] s.surname = d['surname'] s.pno = d['pno'] s.join_date = data['join_date'] d = data['auth_info'] ai = s.AuthInfo() ai.email = d['email'] ai.password = d['password'] ai.username = d['username'] for ld in data['lectures']: lecture = s.Lectures() lecture.code = ld['code'] lecture.credit = ld['credit'] lecture.name = ld['name'] milm = lecture.NodeInListNode() milm.foo = ld['node_in_list_node']['foo'] for atd in ld['attendance']: attendance = lecture.Attendance() attendance.attended = atd['attended'] attendance.date = atd['date'] attendance.hour = atd['hour'] for exam in ld['exams']: exm = lecture.Exams() exm.date = exam['date'] exm.point = exam['point'] exm.type = exam['type'] clean_value = s.clean_value() clean_data['timestamp'] = clean_value['timestamp'] assert clean_data == clean_value