From 7c040788ad3ccaff70a8983f774e0ffaabf6ae3d Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Mon, 27 Aug 2018 18:49:33 +0100 Subject: [PATCH] Test secret_only param in keyinfo --- tests/gnupg_oo_keyinfo.phpt | 55 +++------------------------------ tests/gnupg_res_keyinfo.phpt | 54 ++------------------------------- tests/gnupgt.inc | 59 ++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 103 deletions(-) diff --git a/tests/gnupg_oo_keyinfo.phpt b/tests/gnupg_oo_keyinfo.phpt index 4b0ee68..6bd0577 100644 --- a/tests/gnupg_oo_keyinfo.phpt +++ b/tests/gnupg_oo_keyinfo.phpt @@ -9,57 +9,10 @@ gnupgt::import_key(); $gpg = new gnupg(); $gpg->seterrormode(gnupg::ERROR_WARNING); -$ret = $gpg->keyinfo($fingerprint); -gnupgt::check_array(false, $ret, 0, 'disabled'); -gnupgt::check_array(false, $ret, 0, 'expired'); -gnupgt::check_array(false, $ret, 0, 'revoked'); -gnupgt::check_array(false, $ret, 0, 'is_secret'); -gnupgt::check_array(true, $ret, 0, 'can_sign'); -gnupgt::check_array(true, $ret, 0, 'can_encrypt'); -// uid -gnupgt::check_array('testkey', $ret, 0, 'uids', 0, 'name'); -gnupgt::check_array('testkey', $ret, 0, 'uids', 0, 'comment'); -gnupgt::check_array('test@example.net', $ret, 0, 'uids', 0, 'email'); -gnupgt::check_array('testkey (testkey) ', $ret, 0, 'uids', 0, 'uid'); -gnupgt::check_array(false, $ret, 0, 'uids', 0, 'revoked'); -gnupgt::check_array(false, $ret, 0, 'uids', 0, 'invalid'); -gnupgt::check_array(false, $ret, 0, 'uids', 0, 'invalid'); -// subkey 1 -gnupgt::check_array("64DF06E42FCF2094590CDEEE2E96F141B3DD2B2E", $ret, 0, 'subkeys', 0, 'fingerprint'); -gnupgt::check_array("2E96F141B3DD2B2E", $ret, 0, 'subkeys', 0, 'keyid'); -gnupgt::check_array(1129316524, $ret, 0, 'subkeys', 0, 'timestamp'); -gnupgt::check_array(0, $ret, 0, 'subkeys', 0, 'expires'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'is_secret'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'can_encrypt'); -gnupgt::check_array(true, $ret, 0, 'subkeys', 0, 'can_sign'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'disabled'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'expired'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'revoked'); -gnupgt::check_array(true, $ret, 0, 'subkeys', 0, 'can_certify'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'can_authenticate'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'is_qualified'); -gnupgt::check_array_from_version('1.9.0', false, $ret, 0, 'subkeys', 0, 'is_de_vs'); -gnupgt::check_array(GNUPG_PK_DSA, $ret, 0, 'subkeys', 0, 'pubkey_algo'); -gnupgt::check_array(1024, $ret, 0, 'subkeys', 0, 'length'); -gnupgt::check_array_from_version('1.7.0', false, $ret, 0, 'subkeys', 0, 'is_cardkey'); -// subkey 2 -gnupgt::check_array("A3437D3651E27CF9864198F0BFE8D07DDACDEAC8", $ret, 0, 'subkeys', 1, 'fingerprint'); -gnupgt::check_array("BFE8D07DDACDEAC8", $ret, 0, 'subkeys', 1, 'keyid'); -gnupgt::check_array(1129316525, $ret, 0, 'subkeys', 1, 'timestamp'); -gnupgt::check_array(0, $ret, 0, 'subkeys', 1, 'expires'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'is_secret'); -gnupgt::check_array(true, $ret, 0, 'subkeys', 1, 'can_encrypt'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'can_sign'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'disabled'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'expired'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'revoked'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'can_certify'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'can_authenticate'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'is_qualified'); -gnupgt::check_array_from_version('1.9.0', false, $ret, 0, 'subkeys', 1, 'is_de_vs'); -gnupgt::check_array(GNUPG_PK_ELG_E, $ret, 0, 'subkeys', 1, 'pubkey_algo'); -gnupgt::check_array(1024, $ret, 0, 'subkeys', 1, 'length'); -gnupgt::check_array_from_version('1.7.0', false, $ret, 0, 'subkeys', 1, 'is_cardkey'); +$ret = $gpg->keyinfo($fingerprint, true); + +gnupgt::check_keyinfo($gpg->keyinfo($fingerprint), false); +gnupgt::check_keyinfo($gpg->keyinfo($fingerprint, true), true); ?> Done diff --git a/tests/gnupg_res_keyinfo.phpt b/tests/gnupg_res_keyinfo.phpt index 928a451..561c708 100644 --- a/tests/gnupg_res_keyinfo.phpt +++ b/tests/gnupg_res_keyinfo.phpt @@ -10,58 +10,8 @@ gnupgt::import_key(); $gpg = gnupg_init(); gnupg_seterrormode($gpg, GNUPG_ERROR_WARNING); $ret = gnupg_keyinfo($gpg, $fingerprint); - - -gnupgt::check_array(false, $ret, 0, 'disabled'); -gnupgt::check_array(false, $ret, 0, 'expired'); -gnupgt::check_array(false, $ret, 0, 'revoked'); -gnupgt::check_array(false, $ret, 0, 'is_secret'); -gnupgt::check_array(true, $ret, 0, 'can_sign'); -gnupgt::check_array(true, $ret, 0, 'can_encrypt'); -// uid -gnupgt::check_array('testkey', $ret, 0, 'uids', 0, 'name'); -gnupgt::check_array('testkey', $ret, 0, 'uids', 0, 'comment'); -gnupgt::check_array('test@example.net', $ret, 0, 'uids', 0, 'email'); -gnupgt::check_array('testkey (testkey) ', $ret, 0, 'uids', 0, 'uid'); -gnupgt::check_array(false, $ret, 0, 'uids', 0, 'revoked'); -gnupgt::check_array(false, $ret, 0, 'uids', 0, 'invalid'); -gnupgt::check_array(false, $ret, 0, 'uids', 0, 'invalid'); -// subkey 1 -gnupgt::check_array("64DF06E42FCF2094590CDEEE2E96F141B3DD2B2E", $ret, 0, 'subkeys', 0, 'fingerprint'); -gnupgt::check_array("2E96F141B3DD2B2E", $ret, 0, 'subkeys', 0, 'keyid'); -gnupgt::check_array(1129316524, $ret, 0, 'subkeys', 0, 'timestamp'); -gnupgt::check_array(0, $ret, 0, 'subkeys', 0, 'expires'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'is_secret'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'can_encrypt'); -gnupgt::check_array(true, $ret, 0, 'subkeys', 0, 'can_sign'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'disabled'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'expired'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'revoked'); -gnupgt::check_array(true, $ret, 0, 'subkeys', 0, 'can_certify'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'can_authenticate'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 0, 'is_qualified'); -gnupgt::check_array_from_version('1.9.0', false, $ret, 0, 'subkeys', 0, 'is_de_vs'); -gnupgt::check_array(GNUPG_PK_DSA, $ret, 0, 'subkeys', 0, 'pubkey_algo'); -gnupgt::check_array(1024, $ret, 0, 'subkeys', 0, 'length'); -gnupgt::check_array_from_version('1.7.0', false, $ret, 0, 'subkeys', 0, 'is_cardkey'); -// subkey 2 -gnupgt::check_array("A3437D3651E27CF9864198F0BFE8D07DDACDEAC8", $ret, 0, 'subkeys', 1, 'fingerprint'); -gnupgt::check_array("BFE8D07DDACDEAC8", $ret, 0, 'subkeys', 1, 'keyid'); -gnupgt::check_array(1129316525, $ret, 0, 'subkeys', 1, 'timestamp'); -gnupgt::check_array(0, $ret, 0, 'subkeys', 1, 'expires'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'is_secret'); -gnupgt::check_array(true, $ret, 0, 'subkeys', 1, 'can_encrypt'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'can_sign'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'disabled'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'expired'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'revoked'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'can_certify'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'can_authenticate'); -gnupgt::check_array(false, $ret, 0, 'subkeys', 1, 'is_qualified'); -gnupgt::check_array_from_version('1.9.0', false, $ret, 0, 'subkeys', 1, 'is_de_vs'); -gnupgt::check_array(GNUPG_PK_ELG_E, $ret, 0, 'subkeys', 1, 'pubkey_algo'); -gnupgt::check_array(1024, $ret, 0, 'subkeys', 1, 'length'); -gnupgt::check_array_from_version('1.7.0', false, $ret, 0, 'subkeys', 1, 'is_cardkey'); +gnupgt::check_keyinfo(gnupg_keyinfo($gpg, $fingerprint), false); +gnupgt::check_keyinfo(gnupg_keyinfo($gpg, $fingerprint, true), true); ?> Done diff --git a/tests/gnupgt.inc b/tests/gnupgt.inc index 16264fc..acbe399 100644 --- a/tests/gnupgt.inc +++ b/tests/gnupgt.inc @@ -99,4 +99,63 @@ class gnupgt { $args = func_get_args(); return call_user_func_array('gnupgt::check_array', array_splice($args, 1)); } + + /** + * Check keyinfo for var key + * + * @param $ret + * @param $secret_only + */ + static public function check_keyinfo($ret, $secret_only) { + self::check_array(false, $ret, 0, 'disabled'); + self::check_array(false, $ret, 0, 'expired'); + self::check_array(false, $ret, 0, 'revoked'); + self::check_array($secret_only, $ret, 0, 'is_secret'); + self::check_array(true, $ret, 0, 'can_sign'); + self::check_array(true, $ret, 0, 'can_encrypt'); + // uid + self::check_array('testkey', $ret, 0, 'uids', 0, 'name'); + self::check_array('testkey', $ret, 0, 'uids', 0, 'comment'); + self::check_array('test@example.net', $ret, 0, 'uids', 0, 'email'); + self::check_array('testkey (testkey) ', $ret, 0, 'uids', 0, 'uid'); + self::check_array(false, $ret, 0, 'uids', 0, 'revoked'); + self::check_array(false, $ret, 0, 'uids', 0, 'invalid'); + self::check_array(false, $ret, 0, 'uids', 0, 'invalid'); + // subkey 1 + self::check_array("64DF06E42FCF2094590CDEEE2E96F141B3DD2B2E", $ret, 0, 'subkeys', 0, 'fingerprint'); + self::check_array("2E96F141B3DD2B2E", $ret, 0, 'subkeys', 0, 'keyid'); + self::check_array(1129316524, $ret, 0, 'subkeys', 0, 'timestamp'); + self::check_array(0, $ret, 0, 'subkeys', 0, 'expires'); + self::check_array($secret_only, $ret, 0, 'subkeys', 0, 'is_secret'); + self::check_array(false, $ret, 0, 'subkeys', 0, 'can_encrypt'); + self::check_array(true, $ret, 0, 'subkeys', 0, 'can_sign'); + self::check_array(false, $ret, 0, 'subkeys', 0, 'disabled'); + self::check_array(false, $ret, 0, 'subkeys', 0, 'expired'); + self::check_array(false, $ret, 0, 'subkeys', 0, 'revoked'); + self::check_array(true, $ret, 0, 'subkeys', 0, 'can_certify'); + self::check_array(false, $ret, 0, 'subkeys', 0, 'can_authenticate'); + self::check_array(false, $ret, 0, 'subkeys', 0, 'is_qualified'); + self::check_array_from_version('1.9.0', false, $ret, 0, 'subkeys', 0, 'is_de_vs'); + self::check_array(GNUPG_PK_DSA, $ret, 0, 'subkeys', 0, 'pubkey_algo'); + self::check_array(1024, $ret, 0, 'subkeys', 0, 'length'); + self::check_array_from_version('1.7.0', false, $ret, 0, 'subkeys', 0, 'is_cardkey'); + // subkey 2 + self::check_array("A3437D3651E27CF9864198F0BFE8D07DDACDEAC8", $ret, 0, 'subkeys', 1, 'fingerprint'); + self::check_array("BFE8D07DDACDEAC8", $ret, 0, 'subkeys', 1, 'keyid'); + self::check_array(1129316525, $ret, 0, 'subkeys', 1, 'timestamp'); + self::check_array(0, $ret, 0, 'subkeys', 1, 'expires'); + self::check_array($secret_only, $ret, 0, 'subkeys', 1, 'is_secret'); + self::check_array(true, $ret, 0, 'subkeys', 1, 'can_encrypt'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'can_sign'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'disabled'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'expired'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'revoked'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'can_certify'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'can_authenticate'); + self::check_array(false, $ret, 0, 'subkeys', 1, 'is_qualified'); + self::check_array_from_version('1.9.0', false, $ret, 0, 'subkeys', 1, 'is_de_vs'); + self::check_array(GNUPG_PK_ELG_E, $ret, 0, 'subkeys', 1, 'pubkey_algo'); + self::check_array(1024, $ret, 0, 'subkeys', 1, 'length'); + self::check_array_from_version('1.7.0', false, $ret, 0, 'subkeys', 1, 'is_cardkey'); + } } \ No newline at end of file