Skip to content

Commit

Permalink
Move cipher testing to encryptSymmetric test
Browse files Browse the repository at this point in the history
Cipher selection may be influenced by public key parameters
  • Loading branch information
slusarz committed Apr 21, 2015
1 parent e6b4896 commit 7983c26
Showing 1 changed file with 52 additions and 51 deletions.
103 changes: 52 additions & 51 deletions framework/Pgp/test/Horde/Pgp/Backend/TestBase.php
Expand Up @@ -247,39 +247,33 @@ public function verifyDetachedProvider()
*/
public function testEncrypt($pubkey, $privkeys)
{
$ciphers = array(
'3DES', 'CAST5', 'AES128', 'AES192', 'AES256', 'Twofish'
);
$cleartext = $this->_getFixture('clear.txt');

foreach (array(true, false) as $val) {
foreach ($ciphers as $c) {
$result = $this->_pgp->encrypt(
$cleartext,
$pubkey,
array(
'cipher' => $c,
'nocompress' => $val
)
);
$result = $this->_pgp->encrypt(
$cleartext,
$pubkey,
array(
'nocompress' => $val
)
);

$this->assertInstanceOf(
'Horde_Pgp_Element_Message',
$result
);
$this->assertInstanceOf(
'Horde_Pgp_Element_Message',
$result
);

$this->assertEquals(
1 + count($privkeys),
count($result->message->packets)
);
$this->assertEquals(
1 + count($privkeys),
count($result->message->packets)
);

foreach ($privkeys as $val2) {
$this->testDecrypt(
strval($result),
$val2,
$cleartext
);
}
foreach ($privkeys as $val2) {
$this->testDecrypt(
strval($result),
$val2,
$cleartext
);
}
}
}
Expand Down Expand Up @@ -318,36 +312,43 @@ public function encryptProvider()
*/
public function testEncryptSymmetric($data, $pass)
{
foreach (array(true, false) as $val) {
$result = $this->_pgp->encryptSymmetric(
$data,
$pass,
array(
'nocompress' => $val
)
);

$this->assertInstanceOf(
'Horde_Pgp_Element_Message',
$result
);
$ciphers = array(
'3DES', 'CAST5', 'AES128', 'AES192', 'AES256', 'Twofish'
);

$this->assertEquals(
1 + count($pass),
count($result->message->packets)
);
foreach (array(true, false) as $val) {
foreach ($ciphers as $c) {
$result = $this->_pgp->encryptSymmetric(
$data,
$pass,
array(
'cipher' => $c,
'nocompress' => $val
)
);

foreach ($pass as $val) {
$result2 = $this->_pgp->decryptSymmetric(
$result,
$val
$this->assertInstanceOf(
'Horde_Pgp_Element_Message',
$result
);
$result2_sigs = $result2->message->signatures();

$this->assertEquals(
$data,
$result2_sigs[0][0]->data
1 + count($pass),
count($result->message->packets)
);

foreach ($pass as $val) {
$result2 = $this->_pgp->decryptSymmetric(
$result,
$val
);
$result2_sigs = $result2->message->signatures();

$this->assertEquals(
$data,
$result2_sigs[0][0]->data
);
}
}
}
}
Expand Down

0 comments on commit 7983c26

Please sign in to comment.