def test_segmented_file(self):
        with tempfile.NamedTemporaryFile(mode='wb') as f:
            segment_length = 1024
            segments = ('a', 'b', 'c', 'd')
            for c in segments:
                f.write((c * segment_length).encode())
            f.flush()
            for i, c in enumerate(segments):
                contents = open(f.name, 'rb')
                contents.seek(i * segment_length)
                data = u.LengthWrapper(contents, segment_length, True)
                read_data = b''.join(iter(data.read, ''))
                s = (c * segment_length).encode()

                self.assertEqual(segment_length, len(data))
                self.assertEqual(segment_length, len(read_data))
                self.assertEqual(s, read_data)
                self.assertEqual(md5(s).hexdigest(), data.get_md5sum())

                data.reset()
                self.assertEqual(md5().hexdigest(), data.get_md5sum())
                read_data = b''.join(iter(data.read, ''))
                self.assertEqual(segment_length, len(data))
                self.assertEqual(segment_length, len(read_data))
                self.assertEqual(s, read_data)
                self.assertEqual(md5(s).hexdigest(), data.get_md5sum())
Example #2
0
 def test_stringio(self):
     contents = six.StringIO('a' * 100)
     data = u.LengthWrapper(contents, 42)
     self.assertEqual(42, len(data))
     read_data = ''.join(iter(data.read, ''))
     self.assertEqual(42, len(read_data))
     self.assertEqual('a' * 42, read_data)
Example #3
0
    def test_bytesio(self):
        contents = six.BytesIO(b'a' * 100)
        data = u.LengthWrapper(contents, 42, True)
        s = b'a' * 42
        read_data = b''.join(iter(data.read, ''))

        self.assertEqual(42, len(data))
        self.assertEqual(42, len(read_data))
        self.assertEqual(s, read_data)
        self.assertEqual(md5(s).hexdigest(), data.get_md5sum())
Example #4
0
    def test_stringio(self):
        contents = six.StringIO(u'a' * 100)
        data = u.LengthWrapper(contents, 42, True)
        s = u'a' * 42
        read_data = u''.join(iter(data.read, ''))

        self.assertEqual(42, len(data))
        self.assertEqual(42, len(read_data))
        self.assertEqual(s, read_data)
        self.assertEqual(md5(s.encode()).hexdigest(), data.get_md5sum())
Example #5
0
 def test_tempfile(self):
     with tempfile.NamedTemporaryFile(mode='w') as f:
         f.write('a' * 100)
         f.flush()
         contents = open(f.name)
         data = u.LengthWrapper(contents, 42)
         self.assertEqual(42, len(data))
         read_data = ''.join(iter(data.read, ''))
         self.assertEqual(42, len(read_data))
         self.assertEqual('a' * 42, read_data)
Example #6
0
    def test_tempfile(self):
        with tempfile.NamedTemporaryFile(mode='wb') as f:
            f.write(b'a' * 100)
            f.flush()
            contents = open(f.name, 'rb')
            data = u.LengthWrapper(contents, 42, True)
            s = b'a' * 42
            read_data = b''.join(iter(data.read, ''))

            self.assertEqual(42, len(data))
            self.assertEqual(42, len(read_data))
            self.assertEqual(s, read_data)
            self.assertEqual(md5(s).hexdigest(), data.get_md5sum())
Example #7
0
 def test_segmented_file(self):
     with tempfile.NamedTemporaryFile(mode='w') as f:
         segment_length = 1024
         segments = ('a', 'b', 'c', 'd')
         for c in segments:
             f.write(c * segment_length)
         f.flush()
         for i, c in enumerate(segments):
             contents = open(f.name)
             contents.seek(i * segment_length)
             data = u.LengthWrapper(contents, segment_length)
             self.assertEqual(segment_length, len(data))
             read_data = ''.join(iter(data.read, ''))
             self.assertEqual(segment_length, len(read_data))
             self.assertEqual(c * segment_length, read_data)
    def test_stringio(self):
        contents = six.StringIO(u'a' * 50 + u'b' * 50)
        contents.seek(22)
        data = u.LengthWrapper(contents, 42, True)
        s = u'a' * 28 + u'b' * 14
        read_data = u''.join(iter(data.read, ''))

        self.assertEqual(42, len(data))
        self.assertEqual(42, len(read_data))
        self.assertEqual(s, read_data)
        self.assertEqual(md5(s.encode()).hexdigest(), data.get_md5sum())

        data.reset()
        self.assertEqual(md5().hexdigest(), data.get_md5sum())

        read_data = u''.join(iter(data.read, ''))
        self.assertEqual(42, len(read_data))
        self.assertEqual(s, read_data)
        self.assertEqual(md5(s.encode()).hexdigest(), data.get_md5sum())