@@ -548,47 +548,47 @@ def func(self, *, __name=name): # __name needed to bind 'name'
548
548
549
549
class DigestModTestCaseMixin (CreatorMixin , DigestMixin ):
550
550
551
- def make_digestmod_cases (self , func , digestmods ):
552
- return [
553
- * [
554
- (func , args , dict (digestmod = digestmod ))
555
- for args in [(self .key ,), (self .key , self .msg )]
556
- for digestmod in digestmods
557
- ],
558
- * [
559
- (func , (self .key ,), dict (msg = self .msg , digestmod = digestmod ))
560
- for digestmod in digestmods
561
- ],
562
- ]
563
-
564
551
def assert_raises_missing_digestmod (self ):
565
552
return self .assertRaisesRegex (TypeError , "Missing required.*digestmod" )
566
553
567
- def assert_raises_invalid_digestmod (self ):
554
+ def assert_raises_unknown_digestmod (self ):
568
555
return self .assertRaisesRegex (ValueError , "[Uu]nsupported.*" )
569
556
570
557
def test_constructor_missing_digestmod (self ):
571
558
catcher = self .assert_raises_missing_digestmod
572
559
self .do_test_constructor_missing_digestmod (catcher )
573
560
574
- def test_constructor_invalid_digestmod (self ):
575
- catcher = self .assert_raises_invalid_digestmod
576
- self .do_test_constructor_invalid_digestmod (catcher )
561
+ def test_constructor_unknown_digestmod (self ):
562
+ catcher = self .assert_raises_unknown_digestmod
563
+ self .do_test_constructor_unknown_digestmod (catcher )
577
564
578
565
def do_test_constructor_missing_digestmod (self , catcher ):
579
566
for func , args , kwds in self .cases_missing_digestmod_in_constructor ():
580
567
with self .subTest (args = args , kwds = kwds ), catcher ():
581
568
func (* args , ** kwds )
582
569
583
- def do_test_constructor_invalid_digestmod (self , catcher ):
584
- for func , args , kwds in self .cases_invalid_digestmod_in_constructor ():
570
+ def do_test_constructor_unknown_digestmod (self , catcher ):
571
+ for func , args , kwds in self .cases_unknown_digestmod_in_constructor ():
585
572
with self .subTest (args = args , kwds = kwds ), catcher ():
586
573
func (* args , ** kwds )
587
574
575
+ def make_invalid_digestmod_cases (self , func , invalid_values ):
576
+ """Generate cases for either missing or unknown digestmod tests."""
577
+ key = b'unused key'
578
+ msg = b'unused msg'
579
+
580
+ cases = []
581
+ for digestmod in invalid_values :
582
+ kwargs = {'digestmod' : digestmod }
583
+ cases .append ((func , (key ,), kwargs ))
584
+ cases .append ((func , (key , msg ), kwargs ))
585
+ cases .append ((func , (key ,), kwargs | {'msg' : msg }))
586
+ return cases
587
+
588
588
def cases_missing_digestmod_in_constructor (self ):
589
589
raise NotImplementedError
590
590
591
- def cases_invalid_digestmod_in_constructor (self ):
591
+ def cases_unknown_digestmod_in_constructor (self ):
592
592
raise NotImplementedError
593
593
594
594
@@ -633,12 +633,13 @@ class PyConstructorBaseMixin(PyModuleMixin,
633
633
ConstructorTestCaseMixin ):
634
634
635
635
def cases_missing_digestmod_in_constructor (self ):
636
- func , key , msg = self .hmac_new , b'key' , b'msg'
637
- cases = self .make_digestmod_cases (func , ['' , None , False ])
638
- return [* cases , (func , (key ,), {}), (func , (key , msg ), {})]
636
+ func , key , msg = self .hmac_new , b'unused key' , b'unused msg'
637
+ cases = self .make_invalid_digestmod_cases (func , ['' , None , False ])
638
+ cases .extend ([(func , (key ,), {}), (func , (key , msg ), {})])
639
+ return cases
639
640
640
- def cases_invalid_digestmod_in_constructor (self ):
641
- return self .make_digestmod_cases (self .hmac_new , ['unknown' ])
641
+ def cases_unknown_digestmod_in_constructor (self ):
642
+ return self .make_invalid_digestmod_cases (self .hmac_new , ['unknown' ])
642
643
643
644
@requires_builtin_sha2 ()
644
645
def test_constructor_with_module (self ):
@@ -695,16 +696,17 @@ def assert_digestmod_error(self):
695
696
def test_constructor_missing_digestmod (self ):
696
697
self .do_test_constructor_missing_digestmod (self .assert_digestmod_error )
697
698
698
- def test_constructor_invalid_digestmod (self ):
699
- self .do_test_constructor_invalid_digestmod (self .assert_digestmod_error )
699
+ def test_constructor_unknown_digestmod (self ):
700
+ self .do_test_constructor_unknown_digestmod (self .assert_digestmod_error )
700
701
701
702
def cases_missing_digestmod_in_constructor (self ):
702
- func , key , msg = self .hmac_new , b'key' , b'msg'
703
- cases = self .make_digestmod_cases (func , ['' , None , False ])
704
- return [* cases , (func , (key ,), {}), (func , (key , msg ), {})]
703
+ func , key , msg = self .hmac_new , b'unused key' , b'unused msg'
704
+ cases = self .make_invalid_digestmod_cases (func , ['' , None , False ])
705
+ cases .extend ([(func , (key ,), {}), (func , (key , msg ), {})])
706
+ return cases
705
707
706
- def cases_invalid_digestmod_in_constructor (self ):
707
- return self .make_digestmod_cases (self .hmac_new , ['unknown' , 1234 ])
708
+ def cases_unknown_digestmod_in_constructor (self ):
709
+ return self .make_invalid_digestmod_cases (self .hmac_new , ['unknown' , 1234 ])
708
710
709
711
710
712
class OpenSSLConstructorTestCase (ThroughOpenSSLAPIMixin ,
0 commit comments