예제 #1
0
    def test_04_gpg(self):
        fprint_raw = self.read_line("fingerprint.txt").split('\t')[-1]
        fprint = re.sub(r'\s+', '', fprint_raw.strip()).upper()
        self.assertEqual(len(fprint), 40)

        if Ex03.CHECK_GPGKEY_ONLINE:
            gpg = GPG()
            result = gpg.search_keys(fprint, 'keys.openpgp.org')

            if not result:
                self.fail("Cannot find a key with fingerprint '{}'".format(
                    fprint_raw))
            name = ' '.join(
                self.read_line(os.path.join("..", "NAME")).split(' ')[:-1])
            if name not in map(Ex03.extract_name_from_uid, result.uids):
                self.fail("Cannot find name '{}' in keys uids: '{}'".format(
                    name, "', '".join(map(unquote, result.uids))))

        Ex03.TASKS += 1