File: test_key_sigs.py

package info (click to toggle)
py-rnp 0.1.0%2Bgit20221014.01b7129-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid
  • size: 424 kB
  • sloc: python: 3,062; sh: 8; makefile: 4
file content (42 lines) | stat: -rw-r--r-- 1,076 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import pytest
import rnp


@pytest.fixture
def rpgp():
    lib = rnp.Rnp()
    lib.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG")
    return lib


@pytest.fixture
def key(rpgp):
    return rpgp.find_key_by_id("54505a936a4a970e")


def test_key_signatures(key):
    assert len(list(key.signatures())) == 1
    sig = next(key.signatures())
    assert sig.type() == "subkey binding"
    assert sig.alg() == "DSA"
    assert sig.hashalg() == "SHA1"
    assert sig.keyid() == "2FCADF05FFA501BB"
    assert sig.creation_time() == 1500569946
    assert sig.signer().keyid() == "2FCADF05FFA501BB"
    assert sig.status() == 0


def test_key_signatures_json(key):
    # mpi, raw, grip
    sig = next(key.signatures())

    assert len(sig.json()) == 1
    assert sig.json()[0]["type.str"] == "Subkey Binding Signature"

    # mpi
    assert "r.raw" not in sig.json()[0]["material"].keys()
    assert "r.raw" in sig.json(True)[0]["material"].keys()

    # raw
    assert "raw" not in sig.json()[0].keys()
    assert "raw" in sig.json(False, True)[0].keys()