bitwarden-android/test/App.Test/CryptoServiceTests.cs

39 lines
1.2 KiB
C#
Raw Normal View History

2016-05-02 09:52:09 +03:00
using System;
using Bit.App.Abstractions;
using Bit.App.Services;
using NSubstitute;
using Xunit;
namespace Bit.App.Test
{
public class CryptoServiceTests
{
[Fact]
public void EncryptDecrypt()
{
var value = "hi";
Assert.Equal(EncryptDecryptValue(value), value);
}
[Fact]
public void EncryptDecryptLongValue()
{
var value = "This is a really long value that should encrypt and decrypt just fine too.";
Assert.Equal(EncryptDecryptValue(value), value);
}
private string EncryptDecryptValue(string value)
{
var storageService = Substitute.For<ISecureStorageService>();
var keyService = Substitute.For<IKeyDerivationService>();
2017-04-20 22:53:17 +03:00
storageService.Contains("key").Returns(true);
storageService.Retrieve("key").Returns(
Convert.FromBase64String("QpSYI5k0bLQXEygUEHn4wMII3ERatuWDFBszk7JAhbQ="));
2016-05-02 09:52:09 +03:00
var service = new CryptoService(storageService, keyService);
2017-04-20 22:53:17 +03:00
var encryptedValue = service.Encrypt(value);
return service.Decrypt(encryptedValue);
2016-05-02 09:52:09 +03:00
}
}
}