def test_hash(self): verbose = 1 # Create test file. image_content = open(os.path.join(DIR, 'fixtures/test_image.png'), 'rb').read() fqfn = os.path.join(self.media_dir, 'image.png') open(fqfn, 'wb').write(image_content) # Calculate hash from various sources and confirm they all match. expected_hash = '35830221efe45ab0dc3d91ca23c29d2d3c20d00c9afeaa096ab256ec322a7a0b3293f07a01377e31060e65b4e5f6f8fdb4c0e56bc586bba5a7ab3e6d6d97a192' h = utils.get_text_hash(image_content) self.assertEqual(h, expected_hash) h = utils.get_file_hash(fqfn) self.assertEqual(h, expected_hash) h = utils.get_text_hash(open(fqfn, 'rb').read()) self.assertEqual(h, expected_hash) # h = utils.get_text_hash(open(fqfn, 'r').read())#not supported in py3 # self.assertEqual(h, expected_hash) # Create test file. if six.PY3: image_content = six.text_type('aあä')#, encoding='utf-8') else: image_content = six.text_type('aあä', encoding='utf-8') fqfn = os.path.join(self.media_dir, 'test.txt') open(fqfn, 'wb').write(image_content.encode('utf-8')) expected_hash = '1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75' h = utils.get_text_hash(image_content) self.assertEqual(h, expected_hash) h = utils.get_file_hash(fqfn) self.assertEqual(h, expected_hash) h = utils.get_text_hash(open(fqfn, 'rb').read()) self.assertEqual(h, expected_hash)
def test_hash(self): # Create test file. image_content = open(os.path.join(DIR, 'fixtures/test_image.png'), 'rb').read() fqfn = os.path.join(self.media_dir, 'image.png') open(fqfn, 'wb').write(image_content) # Calculate hash from various sources and confirm they all match. expected_hash = '35830221efe45ab0dc3d91ca23c29d2d3c20d00c9afeaa096ab256ec' \ '322a7a0b3293f07a01377e31060e65b4e5f6f8fdb4c0e56bc586bba5a7ab3e6d6d97a192' h = utils.get_text_hash(image_content) self.assertEqual(h, expected_hash) h = utils.get_file_hash(fqfn) self.assertEqual(h, expected_hash) h = utils.get_text_hash(open(fqfn, 'rb').read()) self.assertEqual(h, expected_hash) # Create test file. if six.PY3: image_content = six.text_type('aあä') else: image_content = six.text_type('aあä', encoding='utf-8') fqfn = os.path.join(self.media_dir, 'test.txt') open(fqfn, 'wb').write(image_content.encode('utf-8')) expected_hash = '1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e' \ '0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75' h = utils.get_text_hash(image_content) self.assertEqual(h, expected_hash) h = utils.get_file_hash(fqfn) self.assertEqual(h, expected_hash) h = utils.get_text_hash(open(fqfn, 'rb').read()) self.assertEqual(h, expected_hash)
def content_hash(self): if not self._content_hash and self._content: self._content_hash = utils.get_text_hash(self.content) return self._content_hash