def test_validation_line_driver(dm_data, sheet_data, dm_index, dm_data_type,
                                passes, value, wanted, got):
    # we use the fixture but change it for this test
    dm_data[dm_index]["data_type"] = dm_data_type
    v_out = validate_line(dm_data[dm_index], sheet_data)
    assert v_out.validation_check.passes == passes
    assert v_out.validation_check.value == value
    assert v_out.validation_check.wanted == wanted
    assert v_out.validation_check.got == got
Esempio n. 2
0
 def test_validation_simple_untyped(self):
     dm_line = {
         "cellref": "A1",
         "data_type": "",
         "filename": "datamap.csv",
         "key": "Text Key",
         "sheet": "Sheet A",
     }
     sheet_data = {
         "A1": {
             "cellref": "A1",
             "data_type": "NUMBER",
             "file_name": "chutney.xlsx",
             "key": "Text Key",
             "sheet": "Sheet A",
             "value": 10,
         }
     }
     v = validate_line(dm_line, sheet_data)
     assert v.validation_check.passes == "UNTYPED"
     assert v.validation_check.filename == "chutney.xlsx"
     assert v.validation_check.wanted == "NA"
     assert v.validation_check.got == "NUMBER"
Esempio n. 3
0
 def test_validation_simple_pass(self, data_type):
     dm_line = {
         "cellref": "A1",
         "data_type": data_type,
         "filename": "datamap.csv",
         "key": "Text Key",
         "sheet": "Sheet A",
     }
     sheet_data = {
         "A1": {
             "cellref": "A1",
             "data_type": data_type,
             "file_name": "chutney.xlsx",
             "key": "Text Key",
             "sheet": "Sheet A",
             "value": "Text Key Value",
         }
     }
     v = validate_line(dm_line, sheet_data)
     assert v.validation_check.passes == "PASS"
     assert v.validation_check.filename == "chutney.xlsx"
     assert v.validation_check.wanted == data_type
     assert v.validation_check.got == data_type
Esempio n. 4
0
 def test_validation_simple_fail_using_disallowed_types(self, data_type):
     dm_line = {
         "cellref": "A1",
         "data_type": data_type,
         "filename": "datamap.csv",
         "key": "Text Key",
         "sheet": "Sheet A",
     }
     sheet_data = {
         "A1": {
             "cellref": "A1",
             "data_type": "TEXT",
             "file_name": "chutney.xlsx",
             "key": "Text Key",
             "sheet": "Sheet A",
             "value": 10,
         }
     }
     v = validate_line(dm_line, sheet_data)
     assert v.validation_check.passes == "UNTYPED"
     assert v.validation_check.filename == "chutney.xlsx"
     assert v.validation_check.wanted == data_type
     assert v.validation_check.got == "TEXT"
Esempio n. 5
0
 def test_validation_untyped_and_empty_in_template(self):
     dm_line = {
         "cellref": "A1",
         "data_type": "",
         "filename": "datamap.csv",
         "key": "Text Key",
         "sheet": "Sheet A",
     }
     sheet_data = {
         "NOEXIST": {  # simulates this line not being present in data sent validation
             "cellref": "A1",
             "data_type": "",
             "file_name": "chutney.xlsx",
             "key": "Text Key",
             "sheet": "Sheet A",
             "value": "",
         }
     }
     v = validate_line(dm_line, sheet_data)
     assert v.validation_check.passes == "FAIL"
     assert v.validation_check.filename == "chutney.xlsx"
     assert v.validation_check.wanted == "NA"
     assert v.validation_check.got == "EMPTY"
Esempio n. 6
0
 def test_validation_simple_fails(self, wanted, got, val):
     dm_line = {
         "cellref": "A1",
         "data_type": wanted,
         "filename": "datamap.csv",
         "key": "Text Key",
         "sheet": "Sheet A",
     }
     sheet_data = {
         "A1": {
             "cellref": "A1",
             "data_type": got,
             "file_name": "chutney.xlsx",
             "key": "Text Key",
             "sheet": "Sheet A",
             "value": val,
         }
     }
     v = validate_line(dm_line, sheet_data)
     assert v.validation_check.passes == "FAIL"
     assert v.validation_check.filename == "chutney.xlsx"
     assert v.validation_check.wanted == wanted
     assert v.validation_check.got == got
     assert v.validation_check.value == val