def test_set_default_str(self, create_mock):
     create_mock.return_value = 'hello'
     field = ChallengeField('md5', default='default', key='test')
     cfg = BaseConfig(BaseSchema())
     field.__setdefault__(cfg)
     create_mock.assert_called_with('default', hashlib.md5)
     assert cfg._data['test'] == 'hello'
Exemple #2
0
 def test_to_basic(self):
     field = ChallengeField('md5')
     assert field.to_basic(
         MockConfig(), DigestValue(b'salt', b'digest', hashlib.md5)) == {
             'salt': base64.b64encode(b'salt').decode(),
             'digest': base64.b64encode(b'digest').decode(),
         }
Exemple #3
0
 def test_to_python_invalid_salt(self):
     field = ChallengeField('md5')
     with pytest.raises(ValueError):
         field.to_python(MockConfig(), {
             'salt': '==Zaa',
             'digest': base64.b64encode(b'digest').decode()
         })
 def test_to_python_invalid_digest(self):
     field = ChallengeField('md5')
     with pytest.raises(ValueError):
         field.to_python(None, {
             'salt': base64.b64encode(b'salt').decode(),
             'digest': '==Za'
         })
Exemple #5
0
 def test_to_python_dict(self):
     field = ChallengeField('md5')
     salt = base64.b64encode(b'salt').decode()
     digest = base64.b64encode(b'digest').decode()
     val = field.to_python(MockConfig(), {'salt': salt, 'digest': digest})
     assert val.salt == b'salt'
     assert val.digest == b'digest'
     assert val.algorithm is hashlib.md5
 def test_validate_tuple(self):
     val = DigestValue(b'salt', b'digest', hashlib.md5)
     field = ChallengeField('md5')
     assert field._validate(None, val) is val
 def test_validate_str(self):
     field = ChallengeField('md5')
     val = field._validate(None, b'digest')
     assert val.digest == hashlib.md5(val.salt + b'digest').digest()
 def test_invalid_algorithm(self):
     with pytest.raises(TypeError):
         ChallengeField('asdf')
 def test_valid_default(self):
     val = ChallengeField('md5', default=DigestValue.create('digest', hashlib.md5))
 def test_to_python_none(self):
     field = ChallengeField('md5', key='test')
     assert field.to_python(None, None) is None
 def test_set_default_none(self):
     cfg = BaseConfig(BaseSchema())
     field = ChallengeField('md5', key='test')
     field.__setdefault__(cfg)
     assert cfg._data['test'] is None
 def test_set_default_error(self):
     field = ChallengeField('md5', default=100)
     with pytest.raises(TypeError):
         field.__setdefault__({})
Exemple #13
0
 def test_to_basic_none(self):
     field = ChallengeField('md5')
     assert field.to_basic(MockConfig(), None) is None
 def test_validate_error(self):
     field = ChallengeField('md5', name='asdf')
     with pytest.raises(TypeError):
         field._validate(None, 100)
 def test_to_python_error(self):
     field = ChallengeField('md5')
     with pytest.raises(ValueError):
         field.to_python(None, 100)
 def test_to_python_str(self):
     field = ChallengeField('md5')
     field._hash = MagicMock()
     field.to_python(None, 'message')
     field._hash.assert_called_with('message')
 def test_to_basic_none(self):
     field = ChallengeField('md5')
     assert field.to_basic(None, None) is None
Exemple #18
0
 def test_validate_error(self):
     field = ChallengeField('md5', name='asdf')
     with pytest.raises(ValueError):
         field._validate(MockConfig(), 100)
 def test_hash(self, create_mock):
     field = ChallengeField('md5')
     field._hash('message', b'salt')
     create_mock.assert_called_with('message', hashlib.md5, salt=b'salt')
 def test_set_default_tuple(self):
     sdt = DigestValue.create('hello', hashlib.md5)
     field = ChallengeField('md5', key='test', default=sdt)
     cfg = BaseConfig(BaseSchema())
     field.__setdefault__(cfg)
     assert cfg._data['test'] is sdt