示例#1
0
    def test_missing_package(self):
        with open(os.path.abspath(__file__), 'rb') as _file:
            md5_sum = utils.safe_checksum_file(_file)
            request = self.factory.post(self.url, {'md5_sum': md5_sum})

        response = views.deposit_package(request)
        self.assertEqual(response.status_code, 400)
示例#2
0
    def test_mismatching_package_checksum(self):
        with open(os.path.abspath(__file__), 'rb') as _file:
            md5_sum = utils.safe_checksum_file(
                _file)[::-1]  # só para zoar a soma
            request = self.factory.post(self.url, {
                'md5_sum': md5_sum,
                'package': _file
            })

        response = views.deposit_package(request)
        self.assertEqual(response.status_code, 400)
示例#3
0
    def test_bright_path(self):
        """Testa o caminho feliz.
        """
        with open(os.path.abspath(__file__), 'rb') as _file:
            md5_sum = utils.safe_checksum_file(_file)
            request = self.factory.post(self.url, {
                'md5_sum': md5_sum,
                'package': _file,
                'depositor': 'gn1'
            })

        response = views.deposit_package(request)
        self.assertEqual(response.status_code, 200)
示例#4
0
 def test_byte_offset_is_preserved(self):
     former_offset = self.sample_file.tell()
     _ = utils.safe_checksum_file(self.sample_file)
     self.assertEquals(former_offset, self.sample_file.tell())
示例#5
0
 def test_default_sum_fmt_is_hex_md5(self):
     import hashlib
     algo = hashlib.md5()
     algo.update(self.octets)
     self.assertEquals(algo.hexdigest(),
                       utils.safe_checksum_file(self.sample_file))
示例#6
0
 def md5_sum(self):
     return utils.safe_checksum_file(self.file)