Esempio n. 1
0
    def test_delete_key(self):
        '''
        Tests if it delete a key from the GPG keychain
        '''
        ret = {'message': 'Only specify one argument, fingerprint or keyid',
               'res': False}

        ret1 = {'message': 'Required argument, fingerprint or keyid',
                'res': False}

        ret2 = {'message': ('Secret key exists, delete first'
                            ' or pass delete_secret=True.'), 'res': False}

        ret3 = {'message': ('Secret key for F321F deleted\nPublic'
                            ' key for F321F deleted'), 'res': True}

        ret4 = {'message': 'Key not available in keychain.', 'res': False}

        mock_conf = MagicMock(return_value='')
        mock_user = MagicMock(return_value={'home': 'salt'})
        with patch.dict(gpg.__salt__, {'config.option': mock_conf,
                                       'user.info': mock_user}):
            self.assertDictEqual(gpg.delete_key(keyid='3FAD9F1E',
                                                fingerprint='53C'), ret)

            self.assertDictEqual(gpg.delete_key(), ret1)

            self.assertDictEqual(gpg.delete_key(keyid='3F0C8E90D459D89A'), ret2)

            self.assertDictEqual(gpg.delete_key(keyid='3F0C8E90D459D89A',
                                                delete_secret=True), ret3)

            self.assertDictEqual(gpg.delete_key(keyid='3F0C'), ret4)
Esempio n. 2
0
    def test_delete_key(self):
        '''
        Tests if it delete a key from the GPG keychain
        '''
        ret = {'message': 'Only specify one argument, fingerprint or keyid',
               'res': False}

        ret1 = {'message': 'Required argument, fingerprint or keyid',
                'res': False}

        ret2 = {'message': ('Secret key exists, delete first'
                            ' or pass delete_secret=True.'), 'res': False}

        ret3 = {'message': ('Secret key for F321F deleted\nPublic'
                            ' key for F321F deleted'), 'res': True}

        ret4 = {'message': 'Key not available in keychain.', 'res': False}

        mock_conf = MagicMock(return_value='')
        mock_user = MagicMock(return_value={'home': 'salt'})
        with patch.dict(gpg.__salt__, {'config.option': mock_conf,
                                       'user.info': mock_user}):
            self.assertDictEqual(gpg.delete_key(keyid='3FAD9F1E',
                                                fingerprint='53C'), ret)

            self.assertDictEqual(gpg.delete_key(), ret1)

            self.assertDictEqual(gpg.delete_key(keyid='3F0C8E90D459D89A'), ret2)

            self.assertDictEqual(gpg.delete_key(keyid='3F0C8E90D459D89A',
                                                delete_secret=True), ret3)

            self.assertDictEqual(gpg.delete_key(keyid='3F0C'), ret4)
Esempio n. 3
0
def test_delete_key_with_passphrase_without_gpg_passphrase_in_pillar(gpghome):
    """
    Test gpg.delete_key with passphrase but without gpg_passphrase pillar
    """

    _user_mock = {
        "shell": "/bin/bash",
        "workphone": "",
        "uid": 0,
        "passwd": "x",
        "roomnumber": "",
        "gid": 0,
        "groups": ["root"],
        "home": str(gpghome.path),
        "fullname": "root",
        "homephone": "",
        "name": "root",
    }

    _list_result = [
        {
            "dummy": "",
            "keyid": "xxxxxxxxxxxxxxxx",
            "expires": "2011188692",
            "sigs": [],
            "subkeys": [
                ["xxxxxxxxxxxxxxxx", "e", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]
            ],
            "length": "4096",
            "ownertrust": "-",
            "sig": "",
            "algo": "1",
            "fingerprint": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "date": "1506612692",
            "trust": "-",
            "type": "pub",
            "uids": ["GPG Person <*****@*****.**>"],
        }
    ]

    _expected_result = {
        "res": True,
        "message": "gpg_passphrase not available in pillar.",
    }

    mock_opt = MagicMock(return_value="root")
    pillar_mock = MagicMock(return_value=None)
    with patch.dict(gpg.__salt__, {"user.info": MagicMock(return_value=_user_mock)}):
        with patch.dict(gpg.__salt__, {"config.option": mock_opt}), patch.dict(
            gpg.__salt__, {"pillar.get": pillar_mock}
        ):
            with patch.object(gpg, "_list_keys", return_value=_list_result):
                with patch(
                    "salt.modules.gpg.gnupg.GPG.delete_keys"
                ) as gnupg_delete_keys:
                    ret = gpg.delete_key("xxxxxxxxxxxxxxxx", delete_secret=True)
                    assert ret == _expected_result
                    gnupg_delete_keys.assert_not_called()
Esempio n. 4
0
    def test_delete_key(self):
        '''
        Test gpg.delete_key
        '''

        _user_mock = {u'shell': u'/bin/bash',
                      u'workphone': u'',
                      u'uid': 0,
                      u'passwd': u'x',
                      u'roomnumber': u'',
                      u'gid': 0,
                      u'groups': [
                        u'root'
                      ],
                      u'home': self.gpghome,
                      u'fullname': u'root',
                      u'homephone': u'',
                      u'name': u'root'}

        _list_result = [{'dummy': u'',
                         'keyid': u'xxxxxxxxxxxxxxxx',
                         'expires': u'2011188692',
                         'sigs': [],
                         'subkeys': [[u'xxxxxxxxxxxxxxxx', u'e', u'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx']],
                         'length': u'4096',
                         'ownertrust': u'-',
                         'sig': u'',
                         'algo': u'1',
                         'fingerprint': u'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                         'date': u'1506612692',
                         'trust': u'-',
                         'type': u'pub',
                         'uids': [u'GPG Person <*****@*****.**>']}]

        _expected_result = {u'res': True,
                            u'message': u'Secret key for xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx deleted\nPublic key for xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx deleted'}

        mock_opt = MagicMock(return_value='root')
        with patch.dict(gpg.__salt__, {'user.info': MagicMock(return_value=_user_mock)}):
            with patch.dict(gpg.__salt__, {'config.option': mock_opt}):
                with patch.object(gpg, '_list_keys', return_value=_list_result):
                    with patch('salt.modules.gpg.gnupg.GPG.delete_keys', MagicMock(return_value='ok')):
                        ret = gpg.delete_key('xxxxxxxxxxxxxxxx', delete_secret=True)
                        self.assertEqual(ret, _expected_result)
Esempio n. 5
0
    def test_delete_key(self):
        """
        Test gpg.delete_key
        """

        _user_mock = {
            "shell": "/bin/bash",
            "workphone": "",
            "uid": 0,
            "passwd": "x",
            "roomnumber": "",
            "gid": 0,
            "groups": ["root"],
            "home": self.gpghome,
            "fullname": "root",
            "homephone": "",
            "name": "root",
        }

        _list_result = [{
            "dummy":
            "",
            "keyid":
            "xxxxxxxxxxxxxxxx",
            "expires":
            "2011188692",
            "sigs": [],
            "subkeys": [[
                "xxxxxxxxxxxxxxxx",
                "e",
                "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            ]],
            "length":
            "4096",
            "ownertrust":
            "-",
            "sig":
            "",
            "algo":
            "1",
            "fingerprint":
            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "date":
            "1506612692",
            "trust":
            "-",
            "type":
            "pub",
            "uids": ["GPG Person <*****@*****.**>"],
        }]

        _expected_result = {
            "res":
            True,
            "message":
            "Secret key for xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx deleted\nPublic key for xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx deleted",
        }

        mock_opt = MagicMock(return_value="root")
        with patch.dict(gpg.__salt__,
                        {"user.info": MagicMock(return_value=_user_mock)}):
            with patch.dict(gpg.__salt__, {"config.option": mock_opt}):
                with patch.object(gpg, "_list_keys",
                                  return_value=_list_result):
                    with patch(
                            "salt.modules.gpg.gnupg.GPG.delete_keys",
                            MagicMock(return_value="ok"),
                    ):
                        ret = gpg.delete_key("xxxxxxxxxxxxxxxx",
                                             delete_secret=True)
                        self.assertEqual(ret, _expected_result)