public async Task TestFailedConversionsMissingAsset() { var client = GetClient(); Uri storageUri = new Uri($"https://{TestEnvironment.StorageAccountName}.blob.core.windows.net/{TestEnvironment.BlobContainerName}"); AssetConversionInputOptions input = new AssetConversionInputOptions(storageUri, "boxWhichDoesNotExist.fbx") { // We use SAS for live testing, as there can be a delay before DRAM-based access is available for new accounts. StorageContainerReadListSas = TestEnvironment.SasToken, BlobPrefix = "Input" }; AssetConversionOutputOptions output = new AssetConversionOutputOptions(storageUri) { StorageContainerWriteSas = TestEnvironment.SasToken, BlobPrefix = "Output" }; AssetConversionOptions conversionOptions = new AssetConversionOptions(input, output); string conversionId = Recording.Random.NewGuid().ToString(); AssetConversionOperation conversionOperation = await client.StartConversionAsync(conversionId, conversionOptions); AssetConversion conversion = await conversionOperation.WaitForCompletionAsync(); Assert.AreEqual(AssetConversionStatus.Failed, conversion.Status); Assert.IsNotNull(conversion.Error); // Invalid input provided. Check logs in output container for details. Assert.IsTrue(conversion.Error.Message.ToLower().Contains("invalid input")); Assert.IsTrue(conversion.Error.Message.ToLower().Contains("logs")); }
public void ConvertMoreComplexAsset() { RemoteRenderingClient client = GetClient(); Uri inputStorageUri = new Uri($"https://{TestEnvironment.StorageAccountName}.blob.core.windows.net/{TestEnvironment.BlobContainerName}"); Uri outputStorageUri = new Uri($"https://{TestEnvironment.StorageAccountName}.blob.core.windows.net/{TestEnvironment.BlobContainerName}"); #region Snippet:StartAComplexAssetConversion AssetConversionInputOptions inputOptions = new AssetConversionInputOptions(inputStorageUri, "bicycle.gltf") { BlobPrefix = "Bicycle" }; AssetConversionOutputOptions outputOptions = new AssetConversionOutputOptions(outputStorageUri) { BlobPrefix = "ConvertedBicycle" }; AssetConversionOptions conversionOptions = new AssetConversionOptions(inputOptions, outputOptions); string conversionId = Guid.NewGuid().ToString(); AssetConversionOperation conversionOperation = client.StartConversion(conversionId, conversionOptions); #endregion Snippet:StartAComplexAssetConversion AssetConversion conversion = conversionOperation.WaitForCompletionAsync().Result; if (conversion.Status == AssetConversionStatus.Succeeded) { Console.WriteLine($"Conversion succeeded: Output written to {conversion.Output.OutputAssetUri}"); } else if (conversion.Status == AssetConversionStatus.Failed) { Console.WriteLine($"Conversion failed: {conversion.Error.Code} {conversion.Error.Message}"); } }
public void ConvertSimpleAsset() { RemoteRenderingClient client = GetClient(); Uri storageUri = new Uri($"https://{TestEnvironment.StorageAccountName}.blob.core.windows.net/{TestEnvironment.BlobContainerName}"); #region Snippet:StartAnAssetConversion AssetConversionInputOptions inputOptions = new AssetConversionInputOptions(storageUri, "box.fbx"); AssetConversionOutputOptions outputOptions = new AssetConversionOutputOptions(storageUri); AssetConversionOptions conversionOptions = new AssetConversionOptions(inputOptions, outputOptions); // A randomly generated GUID is a good choice for a conversionId. string conversionId = Guid.NewGuid().ToString(); AssetConversionOperation conversionOperation = client.StartConversion(conversionId, conversionOptions); #endregion Snippet:StartAnAssetConversion #region Snippet:QueryAssetConversion AssetConversion conversion = conversionOperation.WaitForCompletionAsync().Result; if (conversion.Status == AssetConversionStatus.Succeeded) { Console.WriteLine($"Conversion succeeded: Output written to {conversion.Output.OutputAssetUri}"); } else if (conversion.Status == AssetConversionStatus.Failed) { Console.WriteLine($"Conversion failed: {conversion.Error.Code} {conversion.Error.Message}"); } #endregion Snippet:QueryAssetConversion }
public async Task TestSimpleConversion() { var client = GetClient(); Uri storageUri = new Uri($"https://{TestEnvironment.StorageAccountName}.blob.core.windows.net/{TestEnvironment.BlobContainerName}"); AssetConversionInputOptions input = new AssetConversionInputOptions(storageUri, "testBox.fbx") { // We use SAS for live testing, as there can be a delay before DRAM-based access is available for new accounts. StorageContainerReadListSas = TestEnvironment.SasToken, BlobPrefix = "Input" }; AssetConversionOutputOptions output = new AssetConversionOutputOptions(storageUri) { StorageContainerWriteSas = TestEnvironment.SasToken, BlobPrefix = "Output" }; AssetConversionOptions conversionOptions = new AssetConversionOptions(input, output); string conversionId = Recording.Random.NewGuid().ToString(); AssetConversionOperation conversionOperation = await client.StartConversionAsync(conversionId, conversionOptions); Assert.AreEqual(conversionId, conversionOperation.Id); Assert.AreEqual(conversionOptions.InputOptions.RelativeInputAssetPath, conversionOperation.Value.Options.InputOptions.RelativeInputAssetPath); Assert.AreNotEqual(AssetConversionStatus.Failed, conversionOperation.Value.Status); AssetConversion conversion = await client.GetConversionAsync(conversionId); Assert.AreEqual(conversion.ConversionId, conversionId); Assert.AreNotEqual(AssetConversionStatus.Failed, conversion.Status); AssetConversion conversion2 = await conversionOperation.WaitForCompletionAsync(); Assert.AreEqual(conversionId, conversion2.ConversionId); Assert.AreEqual(AssetConversionStatus.Succeeded, conversion2.Status); Assert.IsTrue(conversionOperation.Value.Output.OutputAssetUri.EndsWith("Output/testBox.arrAsset")); bool foundConversion = false; await foreach (var s in client.GetConversionsAync()) { if (s.ConversionId == conversionId) { foundConversion = true; } } Assert.IsTrue(foundConversion); }