"""Test Identity schema.""" import pytest from users.validation.schemas import logout_mobile @pytest.mark.parametrize( ('payload', 'expected_errors'), [ # no errors ( { 'identity_id': 'abc', 'refresh_token': 'foobar1234', 'device_id': 'test', }, {}, ), # missing required fields ( { 'identity_id': 'abc', 'refresh_token': 'foobar1234', }, {'device_id': ['Missing data for required field.']}, ), ( { 'identity_id': 'abc', 'device_id': 'test', }, {'refresh_token': ['Missing data for required field.']}, ), # invalid types ( { 'identity_id': 'abc', 'refresh_token': 123, 'device_id': 233, }, {'device_id': ['Not a valid string.'], 'refresh_token': ['Not a valid string.']}, ), ], ) def test_validate_identity_schema(payload, expected_errors): """Test validate Identity schema.""" schema = logout_mobile.LogoutMobile() errors = schema.validate(payload) assert errors == expected_errors