]> Cypherpunks.ru repositories - pygost.git/blobdiff - pygost/test_gost34112012.py
Raise copyright years
[pygost.git] / pygost / test_gost34112012.py
index fdec31af902c003065167b1460bfe55177f9b9db..a2ef83887636d368c4c13f02692cfe1e3dd225e1 100644 (file)
@@ -1,6 +1,6 @@
 # coding: utf-8
 # PyGOST -- Pure Python GOST cryptographic functions library
-# Copyright (C) 2015-2023 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2015-2024 Sergey Matveev <stargrave@stargrave.org>
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,6 +14,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+from os import urandom
+from random import randint
 from unittest import skip
 from unittest import TestCase
 import hmac
@@ -37,6 +39,20 @@ class TestCopy(TestCase):
         self.assertSequenceEqual(m.digest(), c.digest())
 
 
+class TestSymmetric(TestCase):
+    def runTest(self):
+        chunks = []
+        for _ in range(randint(1, 10)):
+            chunks.append(urandom(randint(20, 80)))
+        m = GOST34112012256()
+        for chunk in chunks:
+            m.update(chunk)
+        self.assertSequenceEqual(
+            m.hexdigest(),
+            GOST34112012256(b"".join(chunks)).hexdigest(),
+        )
+
+
 class TestHMAC(TestCase):
     """RFC 7836
     """