def test_delete_file(self): redirect = 'http://example.com' client = BitcasaClient(self.client_id, self.secret, redirect, self.access_token) unittest_folder = client.create_folder('/', 'unittest') client.delete_folder(unittest_folder.path) unittest_folder = client.create_folder('/', 'unittest') original_contents = 'this is a test' f = StringIO(original_contents) filename = 'test_file.txt' result = client.upload_file(f, filename, unittest_folder.path, 'overwrite') client.delete_file(result.path)
def test_getitem(self): redirect = 'http://example.com' client = BitcasaClient(self.client_id, self.secret, redirect, self.access_token) unittest_folder = client.create_folder('/', 'unittest') client.delete_folder(unittest_folder.path) unittest_folder = client.create_folder('/', 'unittest') f = StringIO('this is a test') filename = 'test_file.txt' result = client.upload_file(f, filename, unittest_folder.path, 'overwrite') path = unittest_folder['test_file.txt'].path self.assertEqual(path, result.path)
def test_items(self): redirect = 'http://example.com' client = BitcasaClient(self.client_id, self.secret, redirect, self.access_token) unittest_folder = client.create_folder('/', 'unittest') client.delete_folder(unittest_folder.path) unittest_folder = client.create_folder('/', 'unittest') f = StringIO('this is a test') filename = 'test_file.txt' result = client.upload_file(f, filename, unittest_folder.path, 'overwrite') self.assertIn(unittest_folder.path, result.path) self.assertEqual(result.name, filename) paths = [i.path for i in unittest_folder.items] self.assertEqual(len(paths), 1) self.assertEqual(paths[0], result.path)
def main(): client_id = os.environ.get("BITCASA_CLIENT_ID", "") client_secret = os.environ.get("BITCASA_CLIENT_SECRET", "") access_token = os.environ.get("BITCASA_ACCESS_TOKEN", "") assert client_id, 'Please set "BITCASA_CLIENT_ID".' assert client_secret, 'Please set "BITCASA_CLIENT_SECRET".' assert access_token, 'Please set "BITCASA_ACCESS_TOKEN".' bitcasa = BitcasaClient(client_id, client_secret, access_token) path = bitcasa.infinite_drive.path print('Upload to InfiniteDrive: ' + path) item = bitcasa.upload_file(path, 'upload.py') print(item.data)
def test_read_file(self): redirect = 'http://example.com' client = BitcasaClient(self.client_id, self.secret, redirect, self.access_token) unittest_folder = client.create_folder('/', 'unittest') client.delete_folder(unittest_folder.path) unittest_folder = client.create_folder('/', 'unittest') original_contents = 'this is a test' f = StringIO(original_contents) filename = 'test_file.txt' result = client.upload_file(f, filename, unittest_folder.path, 'overwrite') self.assertIn(unittest_folder.path, result.path) self.assertEqual(result.name, filename) returned_contents = '' for chunk in client.get_file_contents('test_download.txt', result.path): returned_contents += chunk self.assertEqual(original_contents, returned_contents)
def test_move_file(self): redirect = 'http://example.com' client = BitcasaClient(self.client_id, self.secret, redirect, self.access_token) unittest_folder = client.create_folder('/', 'unittest') client.delete_folder(unittest_folder.path) unittest_folder = client.create_folder('/', 'unittest') f = StringIO('this is a test') filename = 'test_file.txt' result = client.upload_file(f, filename, unittest_folder.path, 'overwrite') moved_result = client.move_file(result.path, unittest_folder.path, 'test_file_copy.txt', 'overwrite') result_iter = result.read() contents = '' moved_contents = '' for chunk in result_iter: contents += chunk moved_iter = moved_result.read() for chunk in moved_iter: moved_contents += chunk self.assertEqual(contents, moved_contents)