Skip to content

Commit ffdb117

Browse files
committed
Added unit tests
1 parent 98ee44d commit ffdb117

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

Tests/Crypto.RSA.Tests.ps1

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Clear-Host
2+
Import-Module -Name Pester -Force
3+
Import-Module .\Crypto.RSA\Crypto.RSA.psm1 -Force
4+
5+
Describe 'Crypto.RSA.Tests' {
6+
Context "Keys generation" {
7+
It "Generates public and private keys" {
8+
$keys = New-KeyPair
9+
$keys.public | Should -Not -BeNullOrEmpty
10+
$keys.private | Should -Not -BeNullOrEmpty
11+
}
12+
}
13+
14+
Context "String encryption - happy path" {
15+
$keys = New-KeyPair
16+
$plain = "Crypto.RSA"
17+
18+
$encryptedText = Protect-String $plain $keys.public
19+
$decryptedText = Unprotect-String $encryptedText $keys.private
20+
21+
It "Encrypted text is NOT the same as plain" {
22+
$encryptedText | Should -Not -Be $plain
23+
}
24+
It "Decrypted text is the same as plain" {
25+
$decryptedText | Should -Be $plain
26+
}
27+
}
28+
29+
Context "String encryption - incorrect private key" {
30+
$keys = New-KeyPair
31+
$incorrect_keys = New-KeyPair
32+
$plain = "Crypto.RSA"
33+
$encryptedText = Protect-String $plain $keys.public
34+
35+
It "Decrypted with valid key works" {
36+
Unprotect-String $encryptedText $keys.private | Should -Be $plain
37+
}
38+
39+
It "Decrypted with invalid key throws an exception" {
40+
{ Unprotect-String $encryptedText $incorrect_keys.private } | Should Throw "Cryptography_OAEPDecoding"
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)