예제 #1
0
    def test_s3(self):
        with tempfile.TemporaryDirectory() as tempdir:
            tmp_filename = os.path.join(tempdir, 'TMWGHOKDRE')
            src_file = os.path.join('futsu', 'test', 'test_storage_0.txt')
            token = '{ts}-{r}'.format(ts=int(time.time()), r=randstr())
            tmp_path = 's3://futsu-test/test-KWPIYZVIYK-{0}'.format(token)

            self.assertFalse(storage.is_blob_exist(tmp_path))

            storage.local_to_path(tmp_path, src_file)
            self.assertTrue(storage.is_blob_exist(tmp_path))

            storage.path_to_local(tmp_filename, tmp_path)
            self.assertFalse(fs.diff(tmp_filename, src_file))

            storage.rm(tmp_path)
            self.assertFalse(storage.is_blob_exist(tmp_path))

            tmp_gs_blob = 's3://futsu-test/test-LKUDEBPHEF-{0}'.format(token)
            bytes0 = b'SUZODZKFXW'
            storage.bytes_to_path(tmp_gs_blob, bytes0)
            bytes1 = storage.path_to_bytes(tmp_gs_blob)
            self.assertEqual(bytes0, bytes1)

            tmp_path_list = [
                's3://futsu-test/test-SVABRZZM-{0}/{1}'.format(token, i)
                for i in range(10)
            ]
            for tmp_path in tmp_path_list:
                storage.bytes_to_path(tmp_path, b'')
            ret_path_list = storage.find(
                's3://futsu-test/test-SVABRZZM-{0}/'.format(token))
            ret_path_list = sorted(list(ret_path_list))
            self.assertEqual(ret_path_list, tmp_path_list)
예제 #2
0
    def test_gcp(self):
        with tempfile.TemporaryDirectory() as tempdir:
            tmp_filename = os.path.join(tempdir, 'GPVRUHXTTC')
            src_file = os.path.join('futsu', 'test', 'test_storage_0.txt')
            token = '{ts}-{r}'.format(ts=int(time.time()), r=randstr())
            tmp_gs_blob = 'gs://futsu-test/test-NXMUHBDEMR-{0}'.format(token)

            self.assertFalse(storage.is_blob_exist(tmp_gs_blob))

            storage.local_to_path(tmp_gs_blob, src_file)
            self.assertTrue(storage.is_blob_exist(tmp_gs_blob))

            storage.path_to_local(tmp_filename, tmp_gs_blob)
            self.assertFalse(fs.diff(tmp_filename, src_file))

            storage.rm(tmp_gs_blob)
            self.assertFalse(storage.is_blob_exist(tmp_gs_blob))

            tmp_gs_blob = 'gs://futsu-test/test-DQZFYPFNUV-{0}'.format(token)
            bytes0 = b'RZCPRGZZBC'
            storage.bytes_to_path(tmp_gs_blob, bytes0)
            bytes1 = storage.path_to_bytes(tmp_gs_blob)
            self.assertEqual(bytes0, bytes1)

            tmp_path_list = [
                'gs://futsu-test/test-NKMYDMGJ-{0}/{1}'.format(token, i)
                for i in range(10)
            ]
            for tmp_path in tmp_path_list:
                storage.bytes_to_path(tmp_path, b'')
            ret_path_list = storage.find(
                'gs://futsu-test/test-NKMYDMGJ-{0}/'.format(token))
            ret_path_list = sorted(list(ret_path_list))
            self.assertEqual(ret_path_list, tmp_path_list)
예제 #3
0
    def test_local(self):
        with tempfile.TemporaryDirectory() as tempdir:
            tmp_filename = os.path.join(tempdir, 'QKDQXVOOME')
            src_file = os.path.join('futsu', 'test', 'test_storage_0.txt')

            self.assertFalse(storage.is_blob_exist(tmp_filename))

            storage.local_to_path(tmp_filename, src_file)
            self.assertTrue(storage.is_blob_exist(tmp_filename))
            self.assertFalse(fs.diff(tmp_filename, src_file))

            storage.rm(tmp_filename)
            self.assertFalse(storage.is_blob_exist(tmp_filename))

            tmp_filename = os.path.join(tempdir, 'NKNVMMYPUI')
            bytes0 = b'YENLUMVECW'
            storage.bytes_to_path(tmp_filename, bytes0)
            bytes1 = storage.path_to_bytes(tmp_filename)
            self.assertEqual(bytes0, bytes1)

            tmp_root_path = os.path.join(tempdir, 'BDHYVQKO')
            fs.makedirs(tmp_root_path)
            tmp_path_list = [
                os.path.join(tmp_root_path, '{0}'.format(i)) for i in range(10)
            ]
            for tmp_path in tmp_path_list:
                storage.bytes_to_path(tmp_path, b'')
            ret_path_list = storage.find(tmp_root_path)
            ret_path_list = sorted(list(ret_path_list))
            self.assertEqual(ret_path_list, tmp_path_list)
예제 #4
0
    def test_local_rmtree(self):
        with tempfile.TemporaryDirectory() as tempdir:
            path0 = storage.join(tempdir, 'XMTLIIPP')
            path00 = storage.join(path0, 'WKBXFDTH', 'CMCXBJYN')
            path01 = storage.join(path0, 'MGNZJTXL', 'RGWIYPEG')

            storage.bytes_to_path(path00, b'')
            storage.bytes_to_path(path01, b'')

            self.assertTrue(storage.is_blob_exist(path00))
            self.assertTrue(storage.is_blob_exist(path01))

            storage.rmtree(path0)

            self.assertFalse(storage.is_blob_exist(path00))
            self.assertFalse(storage.is_blob_exist(path01))
예제 #5
0
    def test_s3_rmtree(self):
        token = '{ts}-{r}'.format(ts=int(time.time()), r=randstr())
        path0 = 'gs://futsu-test/test-HOSPFEUB-{token}'.format(token=token)
        path00 = storage.join(path0, 'WKBXFDTH', 'CMCXBJYN')
        path01 = storage.join(path0, 'MGNZJTXL', 'RGWIYPEG')

        storage.bytes_to_path(path00, b'')
        storage.bytes_to_path(path01, b'')

        self.assertTrue(storage.is_blob_exist(path00))
        self.assertTrue(storage.is_blob_exist(path01))

        storage.rmtree(path0)

        self.assertFalse(storage.is_blob_exist(path00))
        self.assertFalse(storage.is_blob_exist(path01))