import pytest

from util.config.validators import ConfigValidationException
from util.config.validators.validate_signer import SignerValidator

@pytest.mark.parametrize('unvalidated_config,expected', [
  ({}, None),
  ({'SIGNING_ENGINE': 'foobar'}, ConfigValidationException),
  ({'SIGNING_ENGINE': 'gpg2'}, Exception),
])
def test_validate_signer(unvalidated_config,expected):
  validator = SignerValidator()
  if expected is not None:
    with pytest.raises(expected):
      validator.validate(unvalidated_config, None, None)
  else:
    validator.validate(unvalidated_config, None, None)