From 1a6fcf8eff79bb247034b59647f7edb4ef2b4632 Mon Sep 17 00:00:00 2001 From: Vishwaraj Anand Date: Thu, 13 Jun 2024 10:17:07 +0000 Subject: [PATCH 1/2] feat(storagecontrol): add samples for managed folders --- storagecontrol/src/managed_folder_create.php | 61 ++++++++++++++++++ storagecontrol/src/managed_folder_delete.php | 55 +++++++++++++++++ storagecontrol/src/managed_folder_get.php | 57 +++++++++++++++++ storagecontrol/src/managed_folders_list.php | 57 +++++++++++++++++ storagecontrol/test/StorageControlTest.php | 65 ++++++++++++++++++++ 5 files changed, 295 insertions(+) create mode 100644 storagecontrol/src/managed_folder_create.php create mode 100644 storagecontrol/src/managed_folder_delete.php create mode 100644 storagecontrol/src/managed_folder_get.php create mode 100644 storagecontrol/src/managed_folders_list.php diff --git a/storagecontrol/src/managed_folder_create.php b/storagecontrol/src/managed_folder_create.php new file mode 100644 index 0000000000..862bcdceb0 --- /dev/null +++ b/storagecontrol/src/managed_folder_create.php @@ -0,0 +1,61 @@ +bucketName('_', $bucketName); + + // $request = new CreateManagedFolderRequest([ + // 'parent' => $formattedName, + // 'managedFolder' => new ManagedFolder(), + // 'managedFolderId' => $managedFolderId, + // ]); + $request = CreateManagedFolderRequest::build($formattedName, new ManagedFolder(), $managedFolderId); + + $managedFolder = $storageControlClient->createManagedFolder($request); + + printf('Performed createManagedFolder request for %s', $managedFolder->getName()); +} +# [END storage_control_managed_folder_create] + +// The following 2 lines are only needed to run the samples +require_once __DIR__ . '/../../testing/sample_helpers.php'; +\Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv); diff --git a/storagecontrol/src/managed_folder_delete.php b/storagecontrol/src/managed_folder_delete.php new file mode 100644 index 0000000000..b79f2b8850 --- /dev/null +++ b/storagecontrol/src/managed_folder_delete.php @@ -0,0 +1,55 @@ +managedFolderName('_', $bucketName, $managedFolderId); + + $request = DeleteManagedFolderRequest::build($formattedName); + + $storageControlClient->deleteManagedFolder($request); + + printf('Deleted Managed Folder %s', $managedFolderId); +} +# [END storage_control_managed_folder_delete] + +// The following 2 lines are only needed to run the samples +require_once __DIR__ . '/../../testing/sample_helpers.php'; +\Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv); diff --git a/storagecontrol/src/managed_folder_get.php b/storagecontrol/src/managed_folder_get.php new file mode 100644 index 0000000000..37a28a26a9 --- /dev/null +++ b/storagecontrol/src/managed_folder_get.php @@ -0,0 +1,57 @@ +managedFolderName('_', $bucketName, $managedFolderId); + + $request = new GetManagedFolderRequest([ + 'name' => $formattedName, + ]); + + $managedFolder = $storageControlClient->getManagedFolder($request); + + printf("Got Managed Folder %s", $managedFolder->getName()); +} +# [END storage_control_managed_folder_get] + +// The following 2 lines are only needed to run the samples +require_once __DIR__ . '/../../testing/sample_helpers.php'; +\Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv); diff --git a/storagecontrol/src/managed_folders_list.php b/storagecontrol/src/managed_folders_list.php new file mode 100644 index 0000000000..740f5afbd3 --- /dev/null +++ b/storagecontrol/src/managed_folders_list.php @@ -0,0 +1,57 @@ +bucketName('_', $bucketName); + + $request = new ListManagedFoldersRequest([ + 'parent' => $formattedName, + ]); + + $folders = $storageControlClient->listManagedFolders($request); + + foreach ($folders as $folder) { + printf('%s bucket has managed folder %s' . PHP_EOL, $bucketName, $folder->getName()); + } +} +# [END storage_control_managed_folder_list] + +// The following 2 lines are only needed to run the samples +require_once __DIR__ . '/../../testing/sample_helpers.php'; +\Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv); diff --git a/storagecontrol/test/StorageControlTest.php b/storagecontrol/test/StorageControlTest.php index db620874ff..f32230e9d1 100644 --- a/storagecontrol/test/StorageControlTest.php +++ b/storagecontrol/test/StorageControlTest.php @@ -31,7 +31,9 @@ class StorageControlTest extends TestCase private static $sourceBucket; private static $folderId; + private static $managedFolderId; private static $folderName; + private static $managedFolderName; private static $storage; private static $storageControlClient; private static $location; @@ -44,6 +46,7 @@ public static function setUpBeforeClass(): void self::$location = 'us-west1'; $uniqueBucketId = time() . rand(); self::$folderId = time() . rand(); + self::$managedFolderId = time() . rand(); self::$sourceBucket = self::$storage->createBucket( sprintf('php-gcscontrol-sample-%s', $uniqueBucketId), [ @@ -57,6 +60,11 @@ public static function setUpBeforeClass(): void self::$sourceBucket->name(), self::$folderId ); + self::$managedFolderName = self::$storageControlClient->managedFolderName( + '_', + self::$sourceBucket->name(), + self::$managedFolderId + ); } public static function tearDownAfterClass(): void @@ -79,6 +87,63 @@ public function testCreateFolder() ); } + public function testManagedCreateFolder() + { + $output = $this->runFunctionSnippet('managed_folder_create', [ + self::$sourceBucket->name(), self::$managedFolderId + ]); + + $this->assertStringContainsString( + sprintf('Performed createManagedFolder request for %s', self::$managedFolderName), + $output + ); + } + + /** + * @depends testCreateFolder + */ + public function testManagedGetFolder() + { + $output = $this->runFunctionSnippet('managed_folder_get', [ + self::$sourceBucket->name(), self::$managedFolderId + ]); + + $this->assertStringContainsString( + sprintf('Got Managed Folder %s', self::$managedFolderName), + $output + ); + } + + /** + * @depends testManagedGetFolder + */ + public function testManagedListFolders() + { + $output = $this->runFunctionSnippet('managed_folders_list', [ + self::$sourceBucket->name() + ]); + + $this->assertStringContainsString( + sprintf('%s bucket has managed folder %s', self::$sourceBucket->name(), self::$managedFolderName), + $output + ); + } + + /** + * @depends testManagedListFolders + */ + public function testManagedDeleteFolder() + { + $output = $this->runFunctionSnippet('managed_folder_delete', [ + self::$sourceBucket->name(), self::$managedFolderId + ]); + + $this->assertStringContainsString( + sprintf('Deleted Managed Folder %s', self::$managedFolderId), + $output + ); + } + /** * @depends testCreateFolder */ From 470994ae12a6018c3e0407e884e4ec69d07931e4 Mon Sep 17 00:00:00 2001 From: Vishwaraj Anand Date: Thu, 13 Jun 2024 10:22:17 +0000 Subject: [PATCH 2/2] fix: lint errors --- storagecontrol/src/managed_folder_get.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storagecontrol/src/managed_folder_get.php b/storagecontrol/src/managed_folder_get.php index 37a28a26a9..f47df9ce75 100644 --- a/storagecontrol/src/managed_folder_get.php +++ b/storagecontrol/src/managed_folder_get.php @@ -48,7 +48,7 @@ function managed_folder_get(string $bucketName, string $managedFolderId): void $managedFolder = $storageControlClient->getManagedFolder($request); - printf("Got Managed Folder %s", $managedFolder->getName()); + printf('Got Managed Folder %s', $managedFolder->getName()); } # [END storage_control_managed_folder_get]