def test_decrypt_incorrect_params(self): enc = { 'cipher': 'hope', 'mode': 'niave', } with self.assertRaises(ValueError): service.decrypt_attr_value(enc, self.key)
def test_decrypt_only_legacy(self): enc = service.encrypt_attr_value(self.data, self.key, True) del enc['header'] del enc['ciphertext'] del enc['tag'] decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_string_encryption(self): key = service.create_aes_key() data = 'Hello, Im Data' edata = service.encrypt_attr_value(data, key) self.assertEqual( utils.to_string(service.decrypt_attr_value(edata, key)), data )
def test_decrypt_wrong_type(self): with self.assertRaises(ValueError): service.decrypt_attr_value(None, self.key) with self.assertRaises(ValueError): service.decrypt_attr_value("foo", self.key) with self.assertRaises(ValueError): service.decrypt_attr_value(b"foo", self.key) with self.assertRaises(ValueError): service.decrypt_attr_value(["foo"], self.key)
def test_decrypt_bytes(self): data = utils.to_bytes(self.data) enc = service.encrypt_attr_value(data, self.key) decrypted = service.decrypt_attr_value(enc, self.key) self.assertEqual(decrypted, data)
def test_decrypt_without_legacy_follow_standard_encoding(self): enc = service.encrypt_attr_value(self.data, self.key, False) enc['iv'] = base64.b64encode(utils.base64url_decode(enc['iv'])) decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_decrypt_without_legacy(self): enc = service.encrypt_attr_value(self.data, self.key, False) decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_bytes_encryption(self): key = service.create_aes_key() data = b'Hello, Im Data' edata = service.encrypt_attr_value(data, key) self.assertEqual(service.decrypt_attr_value(edata, key), data)
def test_decrypt_bytes(self): data = utils.to_bytes(self.data) enc = service.encrypt_attr_value(data, self.key) service.decrypt_attr_value(enc, self.key).should.equal(data)
def test_decrypt(self): enc = service.encrypt_attr_value(self.data, self.key) decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_string_encryption(self): key = service.create_aes_key() data = 'Hello, Im Data' edata = service.encrypt_attr_value(data, key) self.assertEqual( utils.to_string(service.decrypt_attr_value(edata, key)), data)
def test_decrypt_invalid_tag_size(self): enc = service.encrypt_attr_value(self.data, self.key, False) enc['tag'] = enc['tag'][:12] with self.assertRaises(ValueError): service.decrypt_attr_value(enc, self.key)
def test_decrypt(self): enc = service.encrypt_attr_value(self.data, self.key) utils.to_string(service.decrypt_attr_value(enc, self.key)).should.equal(self.data)