def test_auth_user_validates(): longer_than_255 = "a" * 256 exactly_255 = "a" * 255 case = [ ({'emailAddress': '*****@*****.**', 'password': exactly_255}, True, "valid"), ({'emailAddress': 'thisthat.com', 'password': exactly_255}, False, "invalid email thisthat.com"), ({'emailAddress': 'this@that', 'password': exactly_255}, False, "invalid email this@that"), ({'emailAddress': 'this@[email protected]', 'password': exactly_255}, False, "invalid email this@[email protected]"), ({'emailAddress': '', 'password': exactly_255}, False, "Missing email"), ({'emailAddress': '*****@*****.**', 'name': exactly_255}, False, "missing password"), ({'emailAddress': '*****@*****.**', 'password': longer_than_255}, False, "too long password"), ({'emailAddress': '*****@*****.**', 'password': longer_than_255}, False, "too short password"), ({'emailAddress': '*****@*****.**', 'password': ''}, False, "too short password") ] for example, expected, message in case: result = validates_against_schema('users-auth', example) assert_equal(result, expected, message)
def test_updater_json_validates_correctly(): """ This schema currently allows extra fields as part of a 2 stage migration of API validatiopn rules. This test will change back to not allowing the invalid fields when the utils is updated. :return: """ invalid_updater_no_fields = {} invalid_updater_extra_fields = {'updated_by': 'this', 'invalid': 'this'} invalid_updater_only_invalid_fields = {'invalid': 'this'} valid_updater = {'updated_by': 'this'} assert validates_against_schema('services-update', invalid_updater_no_fields) is False assert validates_against_schema('services-update', invalid_updater_extra_fields) is True assert validates_against_schema('services-update', invalid_updater_only_invalid_fields) is False assert validates_against_schema('services-update', valid_updater) is True
def test_auth_user_validates(): longer_than_255 = "a" * 256 exactly_255 = "a" * 255 case = [ ({'emailAddress': '*****@*****.**', 'password': exactly_255}, True, "valid"), ({'emailAddress': 'thisthat.com', 'password': exactly_255}, False, "invalid email thisthat.com"), ({'emailAddress': 'this@that', 'password': exactly_255}, False, "invalid email this@that"), ({'emailAddress': 'this@[email protected]', 'password': exactly_255}, False, "invalid email this@[email protected]"), ({'emailAddress': '', 'password': exactly_255}, False, "Missing email"), ({'emailAddress': '*****@*****.**', 'name': exactly_255}, False, "missing password"), ({'emailAddress': '*****@*****.**', 'password': longer_than_255}, False, "too long password"), ({'emailAddress': '*****@*****.**', 'password': longer_than_255}, False, "too short password"), ({'emailAddress': '*****@*****.**', 'password': ''}, False, "too short password") ] for example, expected, message in case: result = validates_against_schema('users-auth', example) yield assert_equal, result, expected, message
def test_updater_json_validates_correctly(): """ This schema currently allows extra fields as part of a 2 stage migration of API validatiopn rules. This test will change back to not allowing the invalid fields when the utils is updated. :return: """ invalid_updater_no_fields = {} invalid_updater_extra_fields = {'updated_by': 'this', 'invalid': 'this'} invalid_updater_only_invalid_fields = {'invalid': 'this'} valid_updater = {'updated_by': 'this'} assert validates_against_schema('services-update', invalid_updater_no_fields) is False assert validates_against_schema('services-update', invalid_updater_extra_fields) is True assert validates_against_schema('services-update', invalid_updater_only_invalid_fields) is False assert validates_against_schema('services-update', valid_updater) is True
def test_user_creation_validates(): longer_than_255 = "a" * 256 exactly_255 = "a" * 255 case = [({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255 }, True, "valid"), ({ 'emailAddress': 'thisthat.com', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255 }, False, "invalid email thisthat.com"), ({ 'emailAddress': 'this@that', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255 }, False, "invalid email this@that"), ({ 'emailAddress': 'this@[email protected]', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255 }, False, "invalid email this@[email protected]"), ({ 'emailAddress': '', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255 }, False, "Missing email"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'password': exactly_255 }, False, "missing name"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255 }, False, "missing password"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': longer_than_255 }, False, "too long password"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': longer_than_255 }, False, "too short password"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': '' }, False, "too short password"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': '', 'password': exactly_255 }, False, "too short name"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255, 'hashpw': True }, True, "valid with hashpw"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255, 'hashpw': False }, True, "valid with dont hashpw"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255, 'hashpw': 'dewdew' }, False, "invalid hashpw"), ({ 'emailAddress': '*****@*****.**', 'role': 'invalid', 'name': exactly_255, 'password': exactly_255 }, False, "invalid role"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'supplierCode': 123, 'password': exactly_255 }, True, "valid supplier id"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'supplierCode': '', 'password': exactly_255 }, False, "invalid supplier id (to short)"), ({ 'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'supplierCode': longer_than_255, 'password': exactly_255 }, False, "invalid supplier id (to long)")] for example, expected, message in case: result = validates_against_schema('users', example) assert_equal(result, expected, message)
def test_user_creation_validates(): longer_than_255 = "a" * 256 exactly_255 = "a" * 255 case = [ ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255}, True, "valid"), ({'emailAddress': 'thisthat.com', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255}, False, "invalid email thisthat.com"), ({'emailAddress': 'this@that', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255}, False, "invalid email this@that"), ({'emailAddress': 'this@[email protected]', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255}, False, "invalid email this@[email protected]"), ({'emailAddress': '', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255}, False, "Missing email"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'password': exactly_255}, False, "missing name"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255}, False, "missing password"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': longer_than_255}, False, "too long password"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': longer_than_255}, False, "too short password"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': ''}, False, "too short password"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': '', 'password': exactly_255}, False, "too short name"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255, 'hashpw': True}, True, "valid with hashpw"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255, 'hashpw': False}, True, "valid with dont hashpw"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'password': exactly_255, 'hashpw': 'dewdew'}, False, "invalid hashpw"), ({'emailAddress': '*****@*****.**', 'role': 'invalid', 'name': exactly_255, 'password': exactly_255}, False, "invalid role"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'supplierCode': 123, 'password': exactly_255}, True, "valid supplier id"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'supplierCode': '', 'password': exactly_255}, False, "invalid supplier id (to short)"), ({'emailAddress': '*****@*****.**', 'role': 'buyer', 'name': exactly_255, 'supplierCode': longer_than_255, 'password': exactly_255}, False, "invalid supplier id (to long)") ] for example, expected, message in case: result = validates_against_schema('users', example) assert_equal(result, expected, message)