def test_create_from_values(self):
     for hash_type, source_types in hashes_test_cases.items():
         dh = DlrnHash(**source_types['dict']['valid'])
         if hash_type == "commitdistro":
             self.assertEqual(type(dh), DlrnCommitDistroHash)
         elif hash_type == 'aggregate':
             self.assertEqual(type(dh), DlrnAggregateHash)
 def test_commit_dir_component(self):
     for hash_type, source_types in hashes_test_cases.items():
         dh = DlrnHash(source=source_types['object']['valid'])
         if hash_type == "commitdistro":
             dh.component = "component1"
             self.assertEqual(dh.commit_dir,
                              "component/component1/ab/cd/abcd_defg")
 def test_commit_dir_no_label(self):
     for hash_type, source_types in hashes_test_cases.items():
         dh = DlrnHash(source=source_types['object']['valid'])
         if hash_type == "commitdistro":
             self.assertEqual(dh.commit_dir, "ab/cd/abcd_defg")
         elif hash_type == "aggregate":
             self.assertEqual(dh.commit_dir, "ab/cd/abcd")
 def test_create_from_object(self):
     # Prevent Mock class to identify as dict
     for hash_type, source_types in hashes_test_cases.items():
         source_valid = source_types['object']['valid']
         DlrnHash(source=source_valid)
         with self.assertRaises(DlrnHashError):
             source_invalid = source_types['object']['invalid']
             DlrnHash(source=source_invalid)
 def test_create_from_dict(self):
     for hash_type, source_types in hashes_test_cases.items():
         dh = DlrnHash(source=source_types['dict']['valid'])
         if hash_type == "commitdistro":
             self.assertEqual(type(dh), DlrnCommitDistroHash)
         elif hash_type == "aggregate":
             self.assertEqual(type(dh), DlrnAggregateHash)
         with self.assertRaises(DlrnHashError):
             DlrnHash(source=source_types['dict']['invalid'])
 def test_properties(self):
     for hash_type, source_types in hashes_test_cases.items():
         source = source_types['object']['valid']
         dh = DlrnHash(source=source)
         if hash_type == "commitdistro":
             full_hash = "{}_{}".format(source.commit_hash,
                                        source.distro_hash[:8])
             self.assertEqual(dh.full_hash, full_hash)
         elif hash_type == "aggregate":
             self.assertEqual(dh.full_hash, source.aggregate_hash)
 def test_dump_to_params(self):
     for hash_type, source_types in hashes_test_cases.items():
         params = Mock()
         dh = DlrnHash(source=source_types['object']['valid'])
         dh.dump_to_params(params)
         if hash_type == "commitdistro":
             self.assertEqual(params.commit_hash, dh.commit_hash)
             self.assertEqual(params.distro_hash, dh.distro_hash)
         elif hash_type == "aggregate":
             self.assertEqual(params.aggregate_hash, dh.aggregate_hash)
         self.assertEqual(params.timestamp, dh.timestamp)
 def test_comparisons(self):
     non_dh = {}
     for hash_type, source_types in hashes_test_cases.items():
         dh1 = DlrnHash(source=source_types['object']['valid'])
         dh2 = DlrnHash(source=source_types['object']['valid'])
         self.assertEqual(dh1, dh2)
         dh2 = DlrnHash(source=source_types['object']['different'])
         self.assertNotEqual(dh1, dh2)
         with self.assertRaises(TypeError):
             (dh1 == non_dh)
         with self.assertRaises(TypeError):
             (dh1 != non_dh)
         dh1 = DlrnHash(source=source_types['object']['valid_notimestamp'])
         dh2 = DlrnHash(source=source_types['object']['valid_notimestamp'])
         self.assertEqual(dh1, dh2)
 def test_build_valid_from_source(self):
     for hash_type, source_types in hashes_test_cases.items():
         values = source_types['dict']['valid']
         if hash_type == "commitdistro":
             dh = DlrnCommitDistroHash(source=values)
             self.assertEqual(dh.commit_hash,
                              source_types['dict']['valid']['commit_hash'])
             self.assertEqual(dh.distro_hash,
                              source_types['dict']['valid']['distro_hash'])
         elif hash_type == "aggregate":
             aggregate_hash = source_types['dict']['valid'][
                 'aggregate_hash']
             dh = DlrnAggregateHash(source=values)
             self.assertEqual(dh.aggregate_hash, aggregate_hash)
     self.assertEqual(dh.timestamp,
                      source_types['dict']['valid']['timestamp'])