Skip to content

Commit

Permalink
Added more test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
SommerEngineering committed Jan 5, 2020
1 parent 18da264 commit ed83878
Showing 1 changed file with 107 additions and 0 deletions.
107 changes: 107 additions & 0 deletions Encrypter Tests/EncrypterTests.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using Encrypter;
Expand All @@ -21,5 +22,111 @@ public async Task TestSimpleEnAndDecryption()
var decryptedMessage = await CryptoProcessor.DecryptString(encryptedData, password);
Assert.That(decryptedMessage, Is.EqualTo(message));
}

[Test]
public async Task TestEmptyMessage()
{
var message = string.Empty;
var password = "test password";

var encryptedData = await CryptoProcessor.EncryptString(message, password);
var decryptedMessage = await CryptoProcessor.DecryptString(encryptedData, password);
Assert.That(decryptedMessage, Is.EqualTo(message));
}

[Test]
public async Task TestNoMessage()
{
string message = null;
var password = "test password";

try
{
var encryptedData = await CryptoProcessor.EncryptString(message, password);
Assert.Fail("Should not be reached!");
}
catch(CryptographicException e)
{
Assert.That(true);
}
}

[Test]
public async Task TestTooShortPassword4Encryption()
{
var message = "This is a test with umlauts äüö.";
var password = "test";

try
{
var encryptedData = await CryptoProcessor.EncryptString(message, password);
Assert.Fail("Should not be reached!");
}
catch (CryptographicException e)
{
Assert.That(true);
}
}

[Test]
public async Task TestTooShortPassword4Decryption()
{
var message = "This is a test with umlauts äüö.";
var password = "test password";

var encryptedData = await CryptoProcessor.EncryptString(message, password);

try
{
var decryptedMessage = await CryptoProcessor.DecryptString(encryptedData, password[..4]);
Assert.Fail("Should not be reached!");
}
catch (CryptographicException e)
{
Assert.That(true);
}
}

[Test]
public async Task TestSimpleEnAndDecryptionWithASCII()
{
var message = Encoding.ASCII.GetString(Encoding.Convert(Encoding.UTF8, Encoding.ASCII, Encoding.UTF8.GetBytes("This is a test without umlauts.")));
var password = "test password";

var encryptedData = await CryptoProcessor.EncryptString(message, password);
var decryptedMessage = await CryptoProcessor.DecryptString(encryptedData, password);
Assert.That(decryptedMessage, Is.EqualTo(message));
}

[Test]
public async Task TestChangedPassword()
{
var message = "This is a test with umlauts äüö.";
var password1 = "password!";
var password2 = "password.";

var encryptedData = await CryptoProcessor.EncryptString(message, password1);

try
{
var decryptedMessage = await CryptoProcessor.DecryptString(encryptedData, password2);
Assert.Fail("Should not be reached!");
}
catch (CryptographicException e)
{
Assert.That(true);
}
}

[Test]
public async Task TestSimpleExtensionMethods()
{
var message = "This is a test with umlauts äüö.";
var password = "test password";

var encryptedData = await message.Encrypt(password);
var decryptedMessage = await encryptedData.Decrypt(password);
Assert.That(decryptedMessage, Is.EqualTo(message));
}
}
}

0 comments on commit ed83878

Please sign in to comment.