Пример #1
0
    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)
Пример #3
0
 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
Пример #4
0
 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