@@ -620,16 +620,23 @@ def do_test_constructor_unknown_digestmod(self, catcher):
620620 def cases_missing_digestmod_in_constructor (self ):
621621 raise NotImplementedError
622622
623+ def make_missing_digestmod_cases (self , func , choices ):
624+ """Generate cases for missing digestmod tests."""
625+ key , msg = b'unused key' , b'unused msg'
626+ cases = self ._invalid_digestmod_cases (func , key , msg , choices )
627+ return [(func , (key ,), {}), (func , (key , msg ), {})] + cases
628+
623629 def cases_unknown_digestmod_in_constructor (self ):
624630 raise NotImplementedError
625631
626- def make_invalid_digestmod_cases (self , func , invalid_values ):
627- """Generate cases for either missing or unknown digestmod tests."""
628- key = b'unused key'
629- msg = b'unused msg'
632+ def make_unknown_digestmod_cases (self , func , choices ):
633+ """Generate cases for unknown digestmod tests."""
634+ key , msg = b'unused key' , b'unused msg '
635+ return self . _invalid_digestmod_cases ( func , key , msg , choices )
630636
637+ def _invalid_digestmod_cases (self , func , key , msg , choices ):
631638 cases = []
632- for digestmod in invalid_values :
639+ for digestmod in choices :
633640 kwargs = {'digestmod' : digestmod }
634641 cases .append ((func , (key ,), kwargs ))
635642 cases .append ((func , (key , msg ), kwargs ))
@@ -678,13 +685,12 @@ class PyConstructorBaseMixin(PyModuleMixin,
678685 ConstructorTestCaseMixin ):
679686
680687 def cases_missing_digestmod_in_constructor (self ):
681- func , key , msg = self .hmac_new , b'unused key' , b'unused msg'
682- cases = self .make_invalid_digestmod_cases (func , ['' , None , False ])
683- cases .extend ([(func , (key ,), {}), (func , (key , msg ), {})])
684- return cases
688+ func , choices = self .hmac_new , ['' , None , False ]
689+ return self .make_missing_digestmod_cases (func , choices )
685690
686691 def cases_unknown_digestmod_in_constructor (self ):
687- return self .make_invalid_digestmod_cases (self .hmac_new , ['unknown' ])
692+ func , choices = self .hmac_new , ['unknown' ]
693+ return self .make_unknown_digestmod_cases (func , choices )
688694
689695 @requires_builtin_sha2 ()
690696 def test_constructor_with_module (self ):
@@ -703,7 +709,7 @@ class PyConstructorTestCase(ThroughObjectMixin, PyConstructorBaseMixin,
703709
704710class PyModuleConstructorTestCase (ThroughModuleAPIMixin , PyConstructorBaseMixin ,
705711 unittest .TestCase ):
706- """Test the hmac.new() constructor function ."""
712+ """Test the hmac.new() and hmac.digest() functions ."""
707713
708714 def test_hmac_digest_digestmod_parameter (self ):
709715 func = self .hmac_digest
@@ -749,13 +755,12 @@ def test_constructor_unknown_digestmod(self):
749755 self .do_test_constructor_unknown_digestmod (self .assert_digestmod_error )
750756
751757 def cases_missing_digestmod_in_constructor (self ):
752- func , key , msg = self .hmac_new , b'unused key' , b'unused msg'
753- cases = self .make_invalid_digestmod_cases (func , ['' , None , False ])
754- cases .extend ([(func , (key ,), {}), (func , (key , msg ), {})])
755- return cases
758+ func , choices = self .hmac_new , ['' , None , False ]
759+ return self .make_missing_digestmod_cases (func , choices )
756760
757761 def cases_unknown_digestmod_in_constructor (self ):
758- return self .make_invalid_digestmod_cases (self .hmac_new , ['unknown' , 1234 ])
762+ func , choices = self .hmac_new , ['unknown' , 1234 ]
763+ return self .make_unknown_digestmod_cases (func , choices )
759764
760765
761766class OpenSSLConstructorTestCase (ThroughOpenSSLAPIMixin ,
0 commit comments