aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2021-06-10 09:57:23 -0400
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2021-06-10 09:57:23 -0400
commit723f4d79a6181b60f03f9573a394a85895f5cf03 (patch)
tree17473f4516f85ba7e534d39c73aedcb52bb4bc58 /tests
parentb18f05bdcaae1356124192b81a5e941261e67b63 (diff)
downloadb4-723f4d79a6181b60f03f9573a394a85895f5cf03.tar.gz
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 <konstantin@linuxfoundation.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/__init__.py0
-rw-r--r--tests/samples/gpg-badsig.txt8
-rw-r--r--tests/samples/gpg-good-invalid-notrust.txt19
-rw-r--r--tests/samples/gpg-good-valid-notrust.txt20
-rw-r--r--tests/samples/gpg-good-valid-trusted.txt20
-rw-r--r--tests/samples/gpg-no-pubkey.txt3
-rw-r--r--tests/test___init__.py15
7 files changed, 85 insertions, 0 deletions
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/__init__.py
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 <konstantin@linuxfoundation.org>
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 <konstantin@linuxfoundation.org>
+[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 <konstantin@linuxfoundation.org>
+[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 <konstantin@linuxfoundation.org>
+[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