From 723f4d79a6181b60f03f9573a394a85895f5cf03 Mon Sep 17 00:00:00 2001 From: Konstantin Ryabitsev Date: Thu, 10 Jun 2021 09:57:23 -0400 Subject: Start using pytest for the test framework Since we're not caring about 2.x compatibility, pytest seems to be a good candidate for this job. Obviously, there's a lot of ground to cover, but the goal is to do all future modifications with tests added so we can reduce regressions. Signed-off-by: Konstantin Ryabitsev --- tests/__init__.py | 0 tests/samples/gpg-badsig.txt | 8 ++++++++ tests/samples/gpg-good-invalid-notrust.txt | 19 +++++++++++++++++++ tests/samples/gpg-good-valid-notrust.txt | 20 ++++++++++++++++++++ tests/samples/gpg-good-valid-trusted.txt | 20 ++++++++++++++++++++ tests/samples/gpg-no-pubkey.txt | 3 +++ tests/test___init__.py | 15 +++++++++++++++ 7 files changed, 85 insertions(+) create mode 100644 tests/__init__.py create mode 100644 tests/samples/gpg-badsig.txt create mode 100644 tests/samples/gpg-good-invalid-notrust.txt create mode 100644 tests/samples/gpg-good-valid-notrust.txt create mode 100644 tests/samples/gpg-good-valid-trusted.txt create mode 100644 tests/samples/gpg-no-pubkey.txt create mode 100644 tests/test___init__.py (limited to 'tests') diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/samples/gpg-badsig.txt b/tests/samples/gpg-badsig.txt new file mode 100644 index 0000000..d53e4cf --- /dev/null +++ b/tests/samples/gpg-badsig.txt @@ -0,0 +1,8 @@ +[GNUPG:] NEWSIG +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] BADSIG B6C41CE35664996C Konstantin Ryabitsev diff --git a/tests/samples/gpg-good-invalid-notrust.txt b/tests/samples/gpg-good-invalid-notrust.txt new file mode 100644 index 0000000..e531d78 --- /dev/null +++ b/tests/samples/gpg-good-invalid-notrust.txt @@ -0,0 +1,19 @@ +[GNUPG:] NEWSIG +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] SIG_ID 5clUiMzlfE8KIyEu++mBk6I0Rnc 2021-06-09 1623274836 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] GOODSIG B6C41CE35664996C Konstantin Ryabitsev +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] TRUST_UNDEFINED 0 tofu diff --git a/tests/samples/gpg-good-valid-notrust.txt b/tests/samples/gpg-good-valid-notrust.txt new file mode 100644 index 0000000..aacb4f8 --- /dev/null +++ b/tests/samples/gpg-good-valid-notrust.txt @@ -0,0 +1,20 @@ +[GNUPG:] NEWSIG +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] SIG_ID 5clUiMzlfE8KIyEu++mBk6I0Rnc 2021-06-09 1623274836 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] GOODSIG B6C41CE35664996C Konstantin Ryabitsev +[GNUPG:] VALIDSIG 76BE5DB25271E1481E678C35B6C41CE35664996C 2021-06-09 1623274836 0 4 0 22 8 01 DE0E66E32F1FDD0902666B96E63EDCA9329DD07E +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] TRUST_UNDEFINED 0 tofu diff --git a/tests/samples/gpg-good-valid-trusted.txt b/tests/samples/gpg-good-valid-trusted.txt new file mode 100644 index 0000000..26e7914 --- /dev/null +++ b/tests/samples/gpg-good-valid-trusted.txt @@ -0,0 +1,20 @@ +[GNUPG:] NEWSIG +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] SIG_ID 5clUiMzlfE8KIyEu++mBk6I0Rnc 2021-06-09 1623274836 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] GOODSIG B6C41CE35664996C Konstantin Ryabitsev +[GNUPG:] VALIDSIG 76BE5DB25271E1481E678C35B6C41CE35664996C 2021-06-09 1623274836 0 4 0 22 8 01 DE0E66E32F1FDD0902666B96E63EDCA9329DD07E +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] KEYEXPIRED 1446574742 +[GNUPG:] KEYEXPIRED 1525881230 +[GNUPG:] KEY_CONSIDERED DE0E66E32F1FDD0902666B96E63EDCA9329DD07E 0 +[GNUPG:] TRUST_ULTIMATE 0 tofu diff --git a/tests/samples/gpg-no-pubkey.txt b/tests/samples/gpg-no-pubkey.txt new file mode 100644 index 0000000..5026191 --- /dev/null +++ b/tests/samples/gpg-no-pubkey.txt @@ -0,0 +1,3 @@ +[GNUPG:] NEWSIG +[GNUPG:] ERRSIG B6C41CE35664996C 22 8 01 1623274836 9 76BE5DB25271E1481E678C35B6C41CE35664996C +[GNUPG:] NO_PUBKEY B6C41CE35664996C diff --git a/tests/test___init__.py b/tests/test___init__.py new file mode 100644 index 0000000..5a09584 --- /dev/null +++ b/tests/test___init__.py @@ -0,0 +1,15 @@ +import pytest # noqa +import b4 + + +@pytest.mark.parametrize('source,expected', [ + ('good-valid-trusted', (True, True, True, 'B6C41CE35664996C', '1623274836')), + ('good-valid-notrust', (True, True, False, 'B6C41CE35664996C', '1623274836')), + ('good-invalid-notrust', (True, False, False, 'B6C41CE35664996C', None)), + ('badsig', (False, False, False, 'B6C41CE35664996C', None)), + ('no-pubkey', (False, False, False, None, None)), +]) +def test_check_gpg_status(source, expected): + with open(f'tests/samples/gpg-{source}.txt', 'r') as fh: + status = fh.read() + assert b4.check_gpg_status(status) == expected -- cgit v1.2.3