Mercurial > hg > rc1
comparison vendor/pear/crypt_gpg/tests/DeletePublicKeyTest.php @ 0:1e000243b222
vanilla 1.3.3 distro, I hope
| author | Charlie Root |
|---|---|
| date | Thu, 04 Jan 2018 15:50:29 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:1e000243b222 |
|---|---|
| 1 <?php | |
| 2 | |
| 3 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ | |
| 4 | |
| 5 /** | |
| 6 * Public key deletion tests for the Crypt_GPG package. | |
| 7 * | |
| 8 * These tests require the PHPUnit 3.6 or greater package to be installed. | |
| 9 * PHPUnit is installable using PEAR. See the | |
| 10 * {@link http://www.phpunit.de/manual/3.6/en/installation.html manual} | |
| 11 * for detailed installation instructions. | |
| 12 * | |
| 13 * To run these tests, use: | |
| 14 * <code> | |
| 15 * $ phpunit DeletePublicKeyTestCase | |
| 16 * </code> | |
| 17 * | |
| 18 * LICENSE: | |
| 19 * | |
| 20 * This library is free software; you can redistribute it and/or modify | |
| 21 * it under the terms of the GNU Lesser General Public License as | |
| 22 * published by the Free Software Foundation; either version 2.1 of the | |
| 23 * License, or (at your option) any later version. | |
| 24 * | |
| 25 * This library is distributed in the hope that it will be useful, | |
| 26 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 28 * Lesser General Public License for more details. | |
| 29 * | |
| 30 * You should have received a copy of the GNU Lesser General Public | |
| 31 * License along with this library; if not, see | |
| 32 * <http://www.gnu.org/licenses/> | |
| 33 * | |
| 34 * @category Encryption | |
| 35 * @package Crypt_GPG | |
| 36 * @author Michael Gauthier <mike@silverorange.com> | |
| 37 * @copyright 2005-2008 silverorange | |
| 38 * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 | |
| 39 * @version CVS: $Id$ | |
| 40 * @link http://pear.php.net/package/Crypt_GPG | |
| 41 */ | |
| 42 | |
| 43 /** | |
| 44 * Base test case. | |
| 45 */ | |
| 46 require_once 'TestCase.php'; | |
| 47 | |
| 48 /** | |
| 49 * Tests public key deletion abilities of Crypt_GPG. | |
| 50 * | |
| 51 * @category Encryption | |
| 52 * @package Crypt_GPG | |
| 53 * @author Michael Gauthier <mike@silverorange.com> | |
| 54 * @copyright 2005-2008 silverorange | |
| 55 * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 | |
| 56 * @link http://pear.php.net/package/Crypt_GPG | |
| 57 */ | |
| 58 class DeletePublicKeyTestCase extends Crypt_GPG_TestCase | |
| 59 { | |
| 60 // {{{ testDeletePublicKey() | |
| 61 | |
| 62 /** | |
| 63 * @group delete-public | |
| 64 */ | |
| 65 public function testDeletePublicKey() | |
| 66 { | |
| 67 $keyId = 'public-only@example.com'; | |
| 68 $this->gpg->deletePublicKey($keyId); | |
| 69 | |
| 70 $expectedKeys = array(); | |
| 71 $keys = $this->gpg->getKeys($keyId); | |
| 72 $this->assertEquals($expectedKeys, $keys); | |
| 73 } | |
| 74 | |
| 75 // }}} | |
| 76 // {{{ testDeletePublicKeyDeletePrivateKeyException() | |
| 77 | |
| 78 /** | |
| 79 * @expectedException Crypt_GPG_DeletePrivateKeyException | |
| 80 * | |
| 81 * @group delete-public | |
| 82 */ | |
| 83 public function testDeletePublicKeyDeletePrivateKeyException() | |
| 84 { | |
| 85 // GnuPG 2.1(.11) allows public key deletion in this case | |
| 86 if (version_compare($this->gpg->getVersion(), '2.1.0', 'ge')) { | |
| 87 $this->markTestSkipped('GnuPG >= 2.1 allows public key deletion if private key exists.'); | |
| 88 } | |
| 89 | |
| 90 $keyId = 'first-keypair@example.com'; | |
| 91 $this->gpg->deletePublicKey($keyId); | |
| 92 } | |
| 93 | |
| 94 // }}} | |
| 95 // {{{ testDeletePublicKey_privExists() | |
| 96 | |
| 97 /** | |
| 98 * @group delete-public | |
| 99 */ | |
| 100 public function testDeletePublicKey_privExists() | |
| 101 { | |
| 102 // GnuPG 2.1(.11) allows public key deletion in this case | |
| 103 if (version_compare($this->gpg->getVersion(), '2.1.0', 'lt')) { | |
| 104 $this->markTestSkipped('GnuPG >= 2.1 allows public key deletion if private key exists.'); | |
| 105 } | |
| 106 | |
| 107 $keyId = 'first-keypair@example.com'; | |
| 108 $this->gpg->deletePublicKey($keyId); | |
| 109 } | |
| 110 | |
| 111 // }}} | |
| 112 // {{{ testDeletePublicKeyNotFoundException() | |
| 113 | |
| 114 /** | |
| 115 * @expectedException Crypt_GPG_KeyNotFoundException | |
| 116 * | |
| 117 * @group delete-public | |
| 118 */ | |
| 119 public function testDeletePublicKeyNotFoundException() | |
| 120 { | |
| 121 $keyId = 'non-existent-key@example.com'; | |
| 122 $this->gpg->deletePublicKey($keyId); | |
| 123 } | |
| 124 | |
| 125 // }}} | |
| 126 } | |
| 127 | |
| 128 ?> |
