Removed useless Bouncy Castle package and test

Migrated to Nunit
Refactor
This commit is contained in:
Geoffroy BONNEVILLE
2019-07-29 17:30:15 +02:00
parent 26e8e5c223
commit c4de2dd594
23 changed files with 381 additions and 423 deletions

View File

@@ -1,13 +1,14 @@
using ModernKeePassLib.Cryptography.KeyDerivation;
using ModernKeePassLib.Keys;
using ModernKeePassLib.Utility;
using Xunit;
using NUnit.Framework;
namespace ModernKeePassLib.Test.Keys
{
[TestFixture]
public class CompositeKeyTests
{
[Fact]
[Test]
public void TestGenerateKey32()
{
var originalKey = new byte[32];
@@ -21,14 +22,14 @@ namespace ModernKeePassLib.Test.Keys
const ulong rounds = 1;
var composite = new CompositeKey();
AesKdf kdf = new AesKdf();
KdfParameters p = kdf.GetDefaultParameters();
var kdf = new AesKdf();
var p = kdf.GetDefaultParameters();
p.SetUInt64(AesKdf.ParamRounds, rounds);
p.SetByteArray(AesKdf.ParamSeed, originalKey);
var key = composite.GenerateKey32(p);
Assert.NotNull(key);
Assert.That(key, Is.Not.Null);
var keyData = key.ReadData();
Assert.True(MemUtil.ArraysEqual(keyData, expectedKey));
Assert.That(MemUtil.ArraysEqual(keyData, expectedKey), Is.True);
}
}
}

View File

@@ -1,17 +1,18 @@
using ModernKeePassLib.Keys;
using ModernKeePassLib.Utility;
using Xunit;
using NUnit.Framework;
namespace ModernKeePassLib.Test.Keys
{
[TestFixture]
public class KcpCustomKeyTests
{
static readonly byte[] testData =
private static readonly byte[] TestData =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
[Fact]
[Test]
public void TestConstruct()
{
var expectedHash = new byte[32]
@@ -22,13 +23,13 @@ namespace ModernKeePassLib.Test.Keys
0xE5, 0xB2, 0x32, 0x8D, 0xE0, 0xE8, 0x3D, 0xFC
};
var key = new KcpCustomKey("test1", testData, false);
var key = new KcpCustomKey("test1", TestData, false);
var keyData = key.KeyData.ReadData();
Assert.True(MemUtil.ArraysEqual(keyData, testData));
Assert.That(MemUtil.ArraysEqual(keyData, TestData), Is.True);
key = new KcpCustomKey("test2", testData, true);
key = new KcpCustomKey("test2", TestData, true);
keyData = key.KeyData.ReadData();
Assert.True(MemUtil.ArraysEqual(keyData, expectedHash));
Assert.That(MemUtil.ArraysEqual(keyData, expectedHash), Is.True);
}
}
}

View File

@@ -4,12 +4,14 @@ using System.Threading.Tasks;
using ModernKeePassLib.Keys;
using ModernKeePassLib.Utility;
using Windows.Storage;
using Xunit;
using NUnit.Framework;
namespace ModernKeePassLib.Test.Keys
{
[TestFixture]
public class KcpKeyFileTests
{
private StorageFile _file;
private const string TestCreateFile = "TestCreate.xml";
private const string TestKey = "0123456789";
@@ -24,7 +26,20 @@ namespace ModernKeePassLib.Test.Keys
private const string ExpectedFileEnd = "</Data>\r\n\t</Key>\r\n</KeyFile>";
[Fact]
[SetUp]
public async Task SetUp()
{
var folder = await StorageFolder.GetFolderFromPathAsync(Path.GetTempPath());
_file = await folder.CreateFileAsync(TestCreateFile, CreationCollisionOption.ReplaceExisting);
}
[TearDown]
public async Task TearDown()
{
await _file.DeleteAsync();
}
[Test]
public async Task TestConstruct()
{
var expectedKeyData = new byte[]
@@ -35,9 +50,7 @@ namespace ModernKeePassLib.Test.Keys
0x45, 0xfc, 0xc8, 0x92, 0xbd, 0xeb, 0xaf, 0xc3
};
var folder = await StorageFolder.GetFolderFromPathAsync(Path.GetTempPath());
var file = await folder.CreateFileAsync(TestCreateFile, CreationCollisionOption.ReplaceExisting);
await using (var fs = await file.OpenStreamForWriteAsync())
await using (var fs = await _file.OpenStreamForWriteAsync())
{
await using var sw = new StreamWriter(fs);
sw.Write(ExpectedFileStart);
@@ -45,36 +58,20 @@ namespace ModernKeePassLib.Test.Keys
sw.Write(ExpectedFileEnd);
}
try
{
var keyFile = new KcpKeyFile(file);
var keyData = keyFile.KeyData.ReadData();
Assert.True(MemUtil.ArraysEqual(keyData, expectedKeyData));
}
finally
{
await file.DeleteAsync();
}
var keyFile = new KcpKeyFile(_file);
var keyData = keyFile.KeyData.ReadData();
Assert.That(MemUtil.ArraysEqual(keyData, expectedKeyData), Is.True);
}
[Fact]
[Test]
public async Task TestCreate()
{
var folder = await StorageFolder.GetFolderFromPathAsync(Path.GetTempPath());
var file = await folder.CreateFileAsync(TestCreateFile, CreationCollisionOption.ReplaceExisting);
KcpKeyFile.Create(file, null);
try
{
var fileContents = await FileIO.ReadTextAsync(file);
KcpKeyFile.Create(_file, null);
var fileContents = await FileIO.ReadTextAsync(_file);
Assert.Equal(185, fileContents.Length);
Assert.StartsWith(ExpectedFileStart, fileContents);
Assert.EndsWith(ExpectedFileEnd, fileContents);
}
finally
{
await file.DeleteAsync();
}
Assert.That(fileContents.Length, Is.EqualTo(185));
Assert.That(fileContents.StartsWith(ExpectedFileStart), Is.True);
Assert.That(fileContents.EndsWith(ExpectedFileEnd), Is.True);
}
}
}

View File

@@ -1,14 +1,15 @@
using ModernKeePassLib.Keys;
using ModernKeePassLib.Utility;
using Xunit;
using NUnit.Framework;
namespace ModernKeePassLib.Test.Keys
{
[TestFixture]
public class KcpPasswordTests
{
const string testPassword = "password";
private const string TestPassword = "password";
[Fact]
[Test]
public void TestConstruct()
{
var expectedHash = new byte[32]
@@ -19,9 +20,9 @@ namespace ModernKeePassLib.Test.Keys
0x2A, 0x11, 0xEF, 0x72, 0x1D, 0x15, 0x42, 0xD8
};
var key = new KcpPassword(testPassword);
var key = new KcpPassword(TestPassword);
var keyData = key.KeyData.ReadData();
Assert.True(MemUtil.ArraysEqual(keyData, expectedHash));
Assert.That(MemUtil.ArraysEqual(keyData, expectedHash), Is.True);
}
}
}