59 |
59 |
IS_CHILD_EXISTS_FALSE = FakedResponse(
|
60 |
60 |
content=get_xml_file('R_is_child_exists.xml') % b'false', status_code=200
|
61 |
61 |
)
|
62 |
62 |
CREATE_FAMILY = FakedResponse(content=get_xml_file('R_create_family.xml'), status_code=200)
|
63 |
63 |
CREATE_FAMILY_ERR = FakedResponse(content=get_xml_file('R_create_family_error.xml'), status_code=200)
|
64 |
64 |
UPDATE_FAMILY = FakedResponse(content=get_xml_file('R_update_family.xml'), status_code=200)
|
65 |
65 |
UPDATE_FAMILY_ERR = FakedResponse(content=get_xml_file('R_update_family_error.xml'), status_code=200)
|
66 |
66 |
UPDATE_FAMILY_500 = FakedResponse(content=get_xml_file('R_update_family_soap_error.xml'), status_code=500)
|
|
67 |
UPDATE_DIETCODE = FakedResponse(content=get_xml_file('R_update_child_dietcode.xml'), status_code=200)
|
67 |
68 |
|
68 |
69 |
|
69 |
70 |
def assert_sent_payload(mocked_post, query_file):
|
70 |
71 |
soap_sent = etree.tostring(etree.fromstring(mocked_post.call_args.kwargs['data']), pretty_print=True)
|
71 |
72 |
expected = etree.tostring(etree.fromstring(get_xml_file(query_file)), pretty_print=True)
|
72 |
73 |
assert soap_sent.decode() == expected.decode()
|
73 |
74 |
|
74 |
75 |
|
... | ... | |
517 |
518 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
518 |
519 |
mocked_post.side_effect = [
|
519 |
520 |
READ_FAMILY,
|
520 |
521 |
READ_CATEGORIES,
|
521 |
522 |
READ_SITUATIONS,
|
522 |
523 |
READ_CIVILITIES,
|
523 |
524 |
READ_QUALITIES,
|
524 |
525 |
READ_CSP,
|
|
526 |
READ_DIETCODE,
|
525 |
527 |
]
|
526 |
528 |
url = get_endpoint('read-family')
|
527 |
529 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
528 |
530 |
|
529 |
531 |
resp = app.get(url + '?NameID=local')
|
530 |
532 |
assert resp.json['err'] == 0
|
531 |
533 |
data = resp.json['data']
|
532 |
534 |
del data['RL1']
|
... | ... | |
584 |
586 |
assert data == {
|
585 |
587 |
'num': '613880',
|
586 |
588 |
'lastname': 'DOE',
|
587 |
589 |
'firstname': 'JANNIS',
|
588 |
590 |
'sexe': 'F',
|
589 |
591 |
'sexe_text': 'Féminin',
|
590 |
592 |
'birth': {'dateBirth': '1943-01-19T00:00:00+01:00', 'place': None},
|
591 |
593 |
'dietcode': 'RSV',
|
|
594 |
'dietcode_text': '3- RÉGIME SANS VIANDE',
|
592 |
595 |
'bPhoto': False,
|
593 |
596 |
'bLeaveAlone': False,
|
594 |
597 |
'authorizedPersonList': [],
|
595 |
598 |
'indicatorList': [],
|
596 |
599 |
'subscribeSchoolList': [],
|
597 |
600 |
'mother': {'num': 613963, 'civility': 'MME', 'firstname': 'JANE', 'lastname': 'DOE'},
|
598 |
601 |
'father': {'num': 613878, 'civility': 'M.', 'firstname': 'JHON', 'lastname': 'DOE'},
|
599 |
602 |
'rl': None,
|
... | ... | |
679 |
682 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
680 |
683 |
mocked_post.side_effect = [
|
681 |
684 |
READ_FAMILY,
|
682 |
685 |
READ_CATEGORIES,
|
683 |
686 |
READ_SITUATIONS,
|
684 |
687 |
READ_CIVILITIES,
|
685 |
688 |
READ_QUALITIES,
|
686 |
689 |
READ_CSP,
|
|
690 |
READ_DIETCODE,
|
687 |
691 |
]
|
688 |
692 |
url = get_endpoint('read-rl')
|
689 |
693 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
690 |
694 |
|
691 |
695 |
resp = app.get(url + '?NameID=local&rl_id=613878')
|
692 |
696 |
assert resp.json['err'] == 0
|
693 |
697 |
assert resp.json['data']['firstname'] == 'JHON'
|
694 |
698 |
|
... | ... | |
699 |
703 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
700 |
704 |
mocked_post.side_effect = [
|
701 |
705 |
READ_FAMILY,
|
702 |
706 |
READ_CATEGORIES,
|
703 |
707 |
READ_SITUATIONS,
|
704 |
708 |
READ_CIVILITIES,
|
705 |
709 |
READ_QUALITIES,
|
706 |
710 |
READ_CSP,
|
|
711 |
READ_DIETCODE,
|
707 |
712 |
]
|
708 |
713 |
url = get_endpoint('read-rl')
|
709 |
714 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
710 |
715 |
|
711 |
716 |
resp = app.get(url + '?NameID=local&rl_id=613879')
|
712 |
717 |
assert resp.json['err'] == 0
|
713 |
718 |
assert resp.json['data'] == {
|
714 |
719 |
'num': '613879',
|
... | ... | |
762 |
767 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
763 |
768 |
mocked_post.side_effect = [
|
764 |
769 |
READ_FAMILY,
|
765 |
770 |
READ_CATEGORIES,
|
766 |
771 |
READ_SITUATIONS,
|
767 |
772 |
READ_CIVILITIES,
|
768 |
773 |
READ_QUALITIES,
|
769 |
774 |
READ_CSP,
|
|
775 |
READ_DIETCODE,
|
770 |
776 |
]
|
771 |
777 |
url = get_endpoint('read-rl')
|
772 |
778 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
773 |
779 |
|
774 |
780 |
resp = app.get(url + '?NameID=local&rl_id=000000')
|
775 |
781 |
assert resp.json['err'] == 'not-found'
|
776 |
782 |
assert resp.json['err_desc'] == "no '000000' RL on '1312' family"
|
777 |
783 |
|
... | ... | |
782 |
788 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
783 |
789 |
mocked_post.side_effect = [
|
784 |
790 |
READ_FAMILY,
|
785 |
791 |
READ_CATEGORIES,
|
786 |
792 |
READ_SITUATIONS,
|
787 |
793 |
READ_CIVILITIES,
|
788 |
794 |
READ_QUALITIES,
|
789 |
795 |
READ_CSP,
|
|
796 |
READ_DIETCODE,
|
790 |
797 |
]
|
791 |
798 |
url = get_endpoint('read-person')
|
792 |
799 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
793 |
800 |
|
794 |
801 |
resp = app.get(url + '?NameID=local&person_id=614059&kind=emergency')
|
795 |
802 |
assert resp.json['err'] == 0
|
796 |
803 |
assert resp.json['data']['firstname'] == 'KENY'
|
797 |
804 |
|
... | ... | |
818 |
825 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
819 |
826 |
mocked_post.side_effect = [
|
820 |
827 |
READ_FAMILY,
|
821 |
828 |
READ_CATEGORIES,
|
822 |
829 |
READ_SITUATIONS,
|
823 |
830 |
READ_CIVILITIES,
|
824 |
831 |
READ_QUALITIES,
|
825 |
832 |
READ_CSP,
|
|
833 |
READ_DIETCODE,
|
826 |
834 |
]
|
827 |
835 |
url = get_endpoint('read-person')
|
828 |
836 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
829 |
837 |
|
830 |
838 |
resp = app.get(url + '?NameID=local&person_id=000000&kind=emergency')
|
831 |
839 |
assert resp.json['err'] == 'not-found'
|
832 |
840 |
assert resp.json['err_desc'] == "no '000000' emergency person on '1312' family"
|
833 |
841 |
|
... | ... | |
838 |
846 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
839 |
847 |
mocked_post.side_effect = [
|
840 |
848 |
READ_FAMILY,
|
841 |
849 |
READ_CATEGORIES,
|
842 |
850 |
READ_SITUATIONS,
|
843 |
851 |
READ_CIVILITIES,
|
844 |
852 |
READ_QUALITIES,
|
845 |
853 |
READ_CSP,
|
|
854 |
READ_DIETCODE,
|
846 |
855 |
]
|
847 |
856 |
url = get_endpoint('read-child')
|
848 |
857 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
849 |
858 |
|
850 |
859 |
resp = app.get(url + '?NameID=local&child_id=613880')
|
851 |
860 |
assert resp.json['err'] == 0
|
852 |
861 |
assert resp.json['data']['firstname'] == 'JANNIS'
|
853 |
862 |
|
... | ... | |
866 |
875 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
867 |
876 |
mocked_post.side_effect = [
|
868 |
877 |
READ_FAMILY,
|
869 |
878 |
READ_CATEGORIES,
|
870 |
879 |
READ_SITUATIONS,
|
871 |
880 |
READ_CIVILITIES,
|
872 |
881 |
READ_QUALITIES,
|
873 |
882 |
READ_CSP,
|
|
883 |
READ_DIETCODE,
|
874 |
884 |
]
|
875 |
885 |
url = get_endpoint('read-child')
|
876 |
886 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
877 |
887 |
|
878 |
888 |
resp = app.get(url + '?NameID=local&child_id=000000')
|
879 |
889 |
assert resp.json['err'] == 'not-found'
|
880 |
890 |
assert resp.json['err_desc'] == "no '000000' child on '1312' family"
|
881 |
891 |
|
... | ... | |
1358 |
1368 |
'contact/mobile': '0623456789',
|
1359 |
1369 |
'contact/mail': None,
|
1360 |
1370 |
}
|
1361 |
1371 |
|
1362 |
1372 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
1363 |
1373 |
resp = app.post_json(url + '?NameID=local&person_id=000000&kind=emergency', params=params)
|
1364 |
1374 |
assert resp.json['err'] == 'not-found'
|
1365 |
1375 |
assert resp.json['err_desc'] == "no '000000' authorized person on '1312' family"
|
|
1376 |
|
|
1377 |
|
|
1378 |
@mock.patch('passerelle.utils.Request.get')
|
|
1379 |
@mock.patch('passerelle.utils.Request.post')
|
|
1380 |
def test_update_child_dietcode(mocked_post, mocked_get, con, app):
|
|
1381 |
mocked_get.return_value = FAMILY_SERVICE_WSDL
|
|
1382 |
mocked_post.return_value = UPDATE_DIETCODE
|
|
1383 |
url = get_endpoint('update-child-dietcode')
|
|
1384 |
|
|
1385 |
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
|
1386 |
resp = app.post_json(url + '?NameID=local&child_id=613878&dietcode=RSV')
|
|
1387 |
assert_sent_payload(mocked_post, 'Q_update_child_dietcode.xml')
|
|
1388 |
assert resp.json['err'] == 0
|
|
1389 |
assert resp.json['data'] == 'ok'
|
|
1390 |
|
|
1391 |
|
|
1392 |
def test_update_child_dietcode_not_linked_error(con, app):
|
|
1393 |
url = get_endpoint('update-child-dietcode')
|
|
1394 |
|
|
1395 |
resp = app.post_json(url + '?NameID=local&child_id=613878&dietcode=RVS')
|
|
1396 |
assert resp.json['err'] == 'not-linked'
|
|
1397 |
assert resp.json['err_desc'] == 'User not linked to family'
|
1366 |
|
-
|