Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion PgpCore.Tests/PgpCore.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net472;net8.0</TargetFrameworks>
<TargetFramework>net10.0</TargetFramework>

<IsPackable>false</IsPackable>
</PropertyGroup>
Expand Down
206 changes: 127 additions & 79 deletions PgpCore.Tests/TestFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public class TestFactory
private string _uniqueIdentifier;
private string _userName;
private string _password;
private byte[] _symmetricKey;

public TestFactory()
{
Expand Down Expand Up @@ -79,46 +80,68 @@ public TestFactory(string uniqueIdentifier)
public string UserName => _userName != null ? _userName : $"{_uniqueIdentifier}@email.com" ;

public string Password => _password != null ? _password : _uniqueIdentifier;

public byte[] SymmetricKey => _symmetricKey;

public void Arrange(KeyType keyType)
{
Arrange();
PGP pgp = new PGP();

// Create keys
if (keyType == KeyType.Generated)
switch (keyType)
{
pgp.GenerateKey(PublicKeyFileInfo, PrivateKeyFileInfo, UserName, Password);
}
else if (keyType == KeyType.Known)
{
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PUBLICKEY1);
}
// Create keys
case KeyType.Generated:
pgp.GenerateKey(PublicKeyFileInfo, PrivateKeyFileInfo, UserName, Password);
break;
case KeyType.Symmetric:
_symmetricKey = Encoding.UTF8.GetBytes(Constants.PASSWORD1);

using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PUBLICKEY1);
}

using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PRIVATEKEY1);
}
using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PRIVATEKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
}
else if (keyType == KeyType.KnownGpg)
{
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
break;
case KeyType.Known:
{
streamWriter.WriteLine(Constants.PUBLICGPGKEY1);
}
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PUBLICKEY1);
}

using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PRIVATEGPGKEY1);
using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PRIVATEKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
break;
}
case KeyType.KnownGpg:
{
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PUBLICGPGKEY1);
}

using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
streamWriter.WriteLine(Constants.PRIVATEGPGKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
break;
}
}
}

Expand All @@ -127,84 +150,108 @@ public async Task ArrangeAsync(KeyType keyType)
Arrange();
PGP pgp = new PGP();

// Create keys
if (keyType == KeyType.Generated)
{
pgp.GenerateKey(PublicKeyFileInfo, PrivateKeyFileInfo, UserName, Password);
}
else if (keyType == KeyType.Known)
switch (keyType)
{
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PUBLICKEY1);
}
// Create keys
case KeyType.Generated:
await pgp.GenerateKeyAsync(PublicKeyFileInfo, PrivateKeyFileInfo, UserName, Password);
break;
case KeyType.Symmetric:
_symmetricKey = Encoding.UTF8.GetBytes(Constants.PASSWORD1);

await using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PUBLICKEY1);
}

using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PRIVATEKEY1);
}
await using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PRIVATEKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
}
else if (keyType == KeyType.KnownGpg)
{
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
break;
case KeyType.Known:
{
await streamWriter.WriteLineAsync(Constants.PUBLICGPGKEY1);
}
await using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PUBLICKEY1);
}

using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PRIVATEGPGKEY1);
await using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PRIVATEKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
break;
}
case KeyType.KnownGpg:
{
using (StreamWriter streamWriter = PublicKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PUBLICGPGKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
using (StreamWriter streamWriter = PrivateKeyFileInfo.CreateText())
{
await streamWriter.WriteLineAsync(Constants.PRIVATEGPGKEY1);
}

_userName = Constants.USERNAME1;
_password = Constants.PASSWORD1;
break;
}
}
}

public void Arrange(FileType fileType)
{
Arrange();

// Create content file
if (fileType == FileType.Known)
switch (fileType)
{
using (StreamWriter streamWriter = ContentFileInfo.CreateText())
// Create content file
case FileType.Known:
{
streamWriter.Write(Constants.CONTENT);
using (StreamWriter streamWriter = ContentFileInfo.CreateText())
{
streamWriter.Write(Constants.CONTENT);
}
break;
}
}
else if (fileType == FileType.GeneratedMedium)
{
CreateRandomFile(ContentFilePath, 300);
}
else if (fileType == FileType.GeneratedLarge)
{
CreateRandomFile(ContentFilePath, 5000);
case FileType.GeneratedMedium:
CreateRandomFile(ContentFilePath, 300);
break;
case FileType.GeneratedLarge:
CreateRandomFile(ContentFilePath, 5000);
break;
}
}

public async Task ArrangeAsync(FileType fileType)
{
Arrange();

// Create content file
if (fileType == FileType.Known)
switch (fileType)
{
using (StreamWriter streamWriter = ContentFileInfo.CreateText())
// Create content file
case FileType.Known:
{
await streamWriter.WriteAsync(Constants.CONTENT);
using (StreamWriter streamWriter = ContentFileInfo.CreateText())
{
await streamWriter.WriteAsync(Constants.CONTENT);
}
break;
}
}
else if (fileType == FileType.GeneratedMedium)
{
await CreateRandomFileAsync(ContentFilePath, 300);
}
else if (fileType == FileType.GeneratedLarge)
{
await CreateRandomFileAsync(ContentFilePath, 5000);
case FileType.GeneratedMedium:
await CreateRandomFileAsync(ContentFilePath, 300);
break;
case FileType.GeneratedLarge:
await CreateRandomFileAsync(ContentFilePath, 5000);
break;
}
}

Expand Down Expand Up @@ -308,7 +355,8 @@ public enum KeyType
{
Generated,
Known,
KnownGpg
KnownGpg,
Symmetric
}

public enum FileType
Expand Down
Loading