2121import re
2222from unittest import TestCase
2323
24+ from cyclonedx .model import HashAlgorithm , HashType
25+
2426from cyclonedx_py .parser .conda import CondaListExplicitParser , CondaListJsonParser
2527
2628
@@ -42,6 +44,7 @@ def test_conda_list_json(self) -> None:
4244 self .assertEqual ('2.10' , c_idna .version )
4345 self .assertEqual (1 , len (c_idna .external_references ), f'{ c_idna .external_references } ' )
4446 self .assertEqual (0 , len (c_idna .external_references .pop ().hashes ))
47+ self .assertEqual (0 , len (c_idna .hashes ), f'{ c_idna .hashes } ' )
4548
4649 def test_conda_list_explicit_md5 (self ) -> None :
4750 conda_list_ouptut_file = os .path .join (os .path .dirname (__file__ ),
@@ -59,6 +62,10 @@ def test_conda_list_explicit_md5(self) -> None:
5962 self .assertEqual ('2.10' , c_idna .version )
6063 self .assertEqual (1 , len (c_idna .external_references ), f'{ c_idna .external_references } ' )
6164 self .assertEqual (0 , len (c_idna .external_references .pop ().hashes ))
65+ self .assertEqual (1 , len (c_idna .hashes ), f'{ c_idna .hashes } ' )
66+ hash : HashType = c_idna .hashes .pop ()
67+ self .assertEqual (HashAlgorithm .MD5 , hash .alg )
68+ self .assertEqual ('153ff132f593ea80aae2eea61a629c92' , hash .content )
6269
6370 def test_conda_list_build_number_text (self ) -> None :
6471 conda_list_output_file = os .path .join (os .path .dirname (__file__ ), 'fixtures/conda-list-build-number-text.txt' )
@@ -73,14 +80,17 @@ def test_conda_list_build_number_text(self) -> None:
7380 self .assertIsNotNone (c_libgcc_mutex )
7481 self .assertEqual ('_libgcc_mutex' , c_libgcc_mutex .name )
7582 self .assertEqual ('0.1' , c_libgcc_mutex .version )
83+ self .assertEqual (0 , len (c_libgcc_mutex .hashes ), f'{ c_libgcc_mutex .hashes } ' )
7684 c_pycparser = next (filter (lambda c : c .name == 'pycparser' , components ), None )
7785 self .assertIsNotNone (c_pycparser )
7886 self .assertEqual ('pycparser' , c_pycparser .name )
7987 self .assertEqual ('2.21' , c_pycparser .version )
88+ self .assertEqual (0 , len (c_pycparser .hashes ), f'{ c_pycparser .hashes } ' )
8089 c_openmp_mutex = next (filter (lambda c : c .name == '_openmp_mutex' , components ), None )
8190 self .assertIsNotNone (c_openmp_mutex )
8291 self .assertEqual ('_openmp_mutex' , c_openmp_mutex .name )
8392 self .assertEqual ('4.5' , c_openmp_mutex .version )
93+ self .assertEqual (0 , len (c_openmp_mutex .hashes ), f'{ c_openmp_mutex .hashes } ' )
8494
8595 def test_conda_list_malformed (self ) -> None :
8696 conda_list_output_file = os .path .join (os .path .dirname (__file__ ), 'fixtures/conda-list-broken.txt' )
0 commit comments