setExternalId(self::$UNIQUE_TEST_METADATA_EXTERNAL_ID); self::$UNIQUE_TEST_METADATA->setDefaultValue(self::$UNIQUE_TEST_METADATA_DEFAULT_VALUE); self::$UNIQUE_TEST_METADATA->setMandatory(true); self::$adminApi->addMetadataField(self::$UNIQUE_TEST_METADATA); self::createTestAssets( [ self::$UNIQUE_PREFIX => [ 'options' => [ 'tags' => [self::$UNIQUE_TEST_TAG_TO_ONE_IMAGE_ASSET], 'context' => self::$UNIQUE_CONTEXT, ModerationType::KEY => ModerationType::MANUAL, ] ], ], self::CLASS_PREFIX ); } /** * @throws ApiError */ public static function tearDownAfterClass() { self::cleanupTestAssets(); self::$adminApi->deleteMetadataField(self::$UNIQUE_TEST_METADATA_EXTERNAL_ID); parent::tearDownAfterClass(); } /** * Request structured metadata to be returned in the response of the assets API response. */ public function testStructuredMetadataInAssets() { $result = self::$adminApi->assets( [ "prefix" => self::$FULL_UNIQUE_PREFIX, "type" => DeliveryType::UPLOAD, "metadata" => true, ] ); foreach ($result['resources'] as $asset) { self::assertArrayHasKey('metadata', $asset); } $result = self::$adminApi->assets( [ "prefix" => self::$FULL_UNIQUE_PREFIX, "type" => DeliveryType::UPLOAD, "metadata" => false, ] ); foreach ($result['resources'] as $asset) { self::assertArrayNotHasKey('metadata', $asset); } } /** * Request structured metadata to be returned in the response of the assets by tag API. */ public function testStructuredMetadataInAssetsByTag() { $result = self::$adminApi->assetsByTag( self::$UNIQUE_TEST_TAG_TO_ONE_IMAGE_ASSET, ["metadata" => true] ); foreach ($result['resources'] as $asset) { self::assertArrayHasKey('metadata', $asset); } $result = self::$adminApi->assetsByTag( self::$UNIQUE_TEST_TAG_TO_ONE_IMAGE_ASSET, ["metadata" => false] ); foreach ($result['resources'] as $asset) { self::assertArrayNotHasKey('metadata', $asset); } } /** * Request structured metadata to be returned in the response of the assets by context API. */ public function testStructuredMetadataInAssetsByContext() { $result = self::$adminApi->assetsByContext( self::$UNIQUE_CONTEXT_KEY, self::$UNIQUE_CONTEXT_VALUE, ["metadata" => true] ); foreach ($result['resources'] as $asset) { self::assertArrayHasKey('metadata', $asset); } $result = self::$adminApi->assetsByContext( self::$UNIQUE_CONTEXT_KEY, self::$UNIQUE_CONTEXT_VALUE, ["metadata" => false] ); foreach ($result['resources'] as $asset) { self::assertArrayNotHasKey('metadata', $asset); } } /** * Request structured metadata to be returned in the response of the assets by moderation API. */ public function testStructuredMetadataInAssetsByModerationApi() { $result = self::$adminApi->assetsByModeration( ModerationType::MANUAL, ModerationStatus::PENDING, ["metadata" => true] ); foreach ($result['resources'] as $asset) { self::assertArrayHasKey('metadata', $asset); } $result = self::$adminApi->assetsByModeration( ModerationType::MANUAL, ModerationStatus::PENDING, ["metadata" => false] ); foreach ($result['resources'] as $asset) { self::assertArrayNotHasKey('metadata', $asset); } } }