diff --git a/test.py b/test.py index 43dd022..c562bdc 100644 --- a/test.py +++ b/test.py @@ -71,6 +71,20 @@ class TestValidation(tornado.testing.AsyncHTTPTestCase): self.assertIn('valid', validation_result, "Key 'valid' expected in validation result") self.assertTrue(validation_result['valid'], "Validation result is expected to be valid==true") + def test_invalid_entity(self): + entity_file = json.load(open('test_cases/invalid/invalid_iban.json','r')) + + response = self.fetch('/v0/validate', + method='POST', + body=json.dumps(entity_file)) + + self.assertEqual(200, response.code, "Validation must always return 200") + + validation_result = json.loads(response.body.decode()) + + self.assertIn('valid', validation_result, "Key 'valid' expected in validation result") + self.assertFalse(validation_result['valid'], "Validation result is expected to be valid==false") + if __name__ == "__main__": unittest.main() diff --git a/test_cases/invalid/invalid_iban.json b/test_cases/invalid/invalid_iban.json new file mode 100644 index 0000000..c1357ee --- /dev/null +++ b/test_cases/invalid/invalid_iban.json @@ -0,0 +1,36 @@ +{ + "finanzdaten": { + "bic": "PBNKDEFFXXX", + "holder": "", + "iban": "DX89370400440532013000", + "issuance": "2012-01-01", + "reference": "0042", + "scan-sepa-mandate": "" + }, + "mitgliederdaten": { + "bis": "", + "mitgliedsbeitrag": "30", + "scan-antrag": "", + "schliessberechtigung": "Ja", + "spendenbeitrag": "0", + "status": "V", + "von": "2012-01-01" + }, + "stammdaten": { + "address_code": "39104", + "address_country": "DE", + "address_label": "Max Hackerberg\nLeibnizstr. 32\n39104 Magdeburg", + "address_locality": "Magdeburg", + "address_region": "", + "address_street": "Leibnizstr. 32", + "birth_date": "1970-01-01", + "birth_location": "Hackstadt", + "email": "max.hackerberg@netz39.de", + "fullname": "Max Hackerberg", + "nickname": "maxH", + "pgp-key": "", + "ssh-key": "" + }, + "timestamp": "2020-03-25T23:58:11", + "id": "6af68" +} \ No newline at end of file