Projet

Général

Profil

juste-pour-info-le-patch-du-patch.patch

Thomas Noël, 03 octobre 2016 12:52

Télécharger (5,89 ko)

Voir les différences:


  

tests/test_workflows.py
927 927
    item.url = 'http://remote.example.net/json-err1'
928 928
    item.post = False
929 929
    item.action_on_app_error = ':stop'
930
    item.action_on_4xx = ':pass'
931
    item.action_on_5xx = ':pass'
932
    item.action_on_network_errors = ':pass'
930 933
    with pytest.raises(AbortActionException):
931 934
        item.perform(formdata)
932 935

  
......
934 937
    item.url = 'http://remote.example.net/json-errheader1'
935 938
    item.post = False
936 939
    item.action_on_app_error = ':stop'
940
    item.action_on_4xx = ':pass'
941
    item.action_on_5xx = ':pass'
942
    item.action_on_network_errors = ':pass'
943
    with pytest.raises(AbortActionException):
944
        item.perform(formdata)
945

  
946
    item = WebserviceCallStatusItem()
947
    item.url = 'http://remote.example.net/json-errheaderstr'
948
    item.post = False
949
    item.action_on_app_error = ':stop'
950
    item.action_on_4xx = ':pass'
951
    item.action_on_5xx = ':pass'
952
    item.action_on_network_errors = ':pass'
937 953
    with pytest.raises(AbortActionException):
938 954
        item.perform(formdata)
939 955

  
......
972 988
    formdata.workflow_data = None
973 989

  
974 990
    item = WebserviceCallStatusItem()
991
    item.url = 'http://remote.example.net/json-errstr'
992
    item.post = False
993
    item.varname = 'xxx'
994
    item.perform(formdata)
995
    assert formdata.workflow_data['xxx_status'] == 200
996
    assert formdata.workflow_data['xxx_app_error_code'] == 'bug'
997
    assert 'xxx_response' not in formdata.workflow_data
998
    assert formdata.workflow_data.get('xxx_time')
999
    formdata.workflow_data = None
1000

  
1001
    item = WebserviceCallStatusItem()
975 1002
    item.url = 'http://remote.example.net/json-err1'
976 1003
    item.post = False
977 1004
    item.varname = 'xxx'
......
1011 1038
    formdata.workflow_data = None
1012 1039

  
1013 1040
    item = WebserviceCallStatusItem()
1041
    item.url = 'http://remote.example.net/json-errheaderstr'
1042
    item.post = False
1043
    item.varname = 'xxx'
1044
    item.perform(formdata)
1045
    assert formdata.workflow_data['xxx_status'] == 200
1046
    assert formdata.workflow_data['xxx_app_error_code'] == 'bug'
1047
    assert formdata.workflow_data['xxx_app_error_header'] == 'bug'
1048
    assert formdata.workflow_data['xxx_error_response'] == {'foo': 'bar'}
1049
    assert 'xxx_response' not in formdata.workflow_data
1050
    assert formdata.workflow_data.get('xxx_time')
1051
    formdata.workflow_data = None
1052

  
1053
    item = WebserviceCallStatusItem()
1014 1054
    item.url = 'http://remote.example.net/json-errheader1'
1015 1055
    item.post = False
1016 1056
    item.varname = 'xxx'
......
1036 1076
    assert formdata.workflow_data.get('xxx_app_error_code') == 1
1037 1077
    assert formdata.workflow_data.get('xxx_app_error_header') == '1'
1038 1078
    assert 'xxx_response' not in formdata.workflow_data
1079
    formdata.workflow_data = None
1039 1080

  
1040 1081
    item = WebserviceCallStatusItem()
1041 1082
    item.url = 'http://remote.example.net/xml-errheader'
......
1050 1091
    assert formdata.workflow_data.get('xxx_app_error_code') == 1
1051 1092
    assert formdata.workflow_data.get('xxx_app_error_header') == '1'
1052 1093
    assert 'xxx_response' not in formdata.workflow_data
1094
    formdata.workflow_data = None
1095

  
1096
    item = WebserviceCallStatusItem()
1097
    item.url = 'http://remote.example.net/xml-errheader'
1098
    item.post = False
1099
    item.varname = 'xxx'
1100
    item.response_type = 'json' # wait for json but receive xml
1101
    item.record_errors = True
1102
    item.perform(formdata)
1103
    assert formdata.workflow_data.get('xxx_status') == 200
1104
    assert formdata.workflow_data.get('xxx_app_error_code') == 1
1105
    assert formdata.workflow_data.get('xxx_app_error_header') == '1'
1106
    assert 'xxx_response' not in formdata.workflow_data
1107
    formdata.workflow_data = None
1108

  
1109
    item = WebserviceCallStatusItem()
1110
    item.url = 'http://remote.example.net/json-err1'
1111
    item.post = False
1112
    item.action_on_app_error = ':stop'
1113
    item.response_type = 'attachment' # err value is not an error
1114
    item.perform(formdata)            # so, everything is "ok" here
1115
    formdata.workflow_data = None
1116

  
1117
    item = WebserviceCallStatusItem()
1118
    item.url = 'http://remote.example.net/json-errheaderstr'
1119
    item.post = False
1120
    item.action_on_app_error = ':stop'
1121
    item.response_type = 'attachment'
1122
    with pytest.raises(AbortActionException):
1123
        item.perform(formdata)
1124
    formdata.workflow_data = None
1053 1125

  
1054 1126
def test_timeout(pub):
1055 1127
    workflow = Workflow(name='timeout')
tests/utilities.py
252 252
            'http://remote.example.net/json': (200, '{"foo": "bar"}', None),
253 253
            'http://remote.example.net/json-err0': (200, '{"data": "foo", "err": 0}', None),
254 254
            'http://remote.example.net/json-err1': (200, '{"data": "", "err": 1}', None),
255
            'http://remote.example.net/json-errstr': (200, '{"data": "", "err": "bug"}', None),
255 256
            'http://remote.example.net/json-errheader0': (200, '{"foo": "bar"}',
256 257
                                              {'x-error-code': '0'}),
257 258
            'http://remote.example.net/json-errheader1': (200, '{"foo": "bar"}',
258 259
                                              {'x-error-code': '1'}),
260
            'http://remote.example.net/json-errheaderstr': (200, '{"foo": "bar"}',
261
                                              {'x-error-code': 'bug'}),
259 262
            'http://remote.example.net/xml': (200, '<?xml version="1.0"><foo/>',
260 263
                                              {'content-type': 'text/xml'}),
261 264
            'http://remote.example.net/xml-errheader': (200, '<?xml version="1.0"><foo/>',