@@ -220,6 +220,53 @@ describe("RemoteRendering functional tests", () => {
220220 assert . isTrue ( didThrowExpected ) ;
221221 } ) ;
222222
223+ it ( "will fail in the correct way on missing asset" , async ( ) => {
224+ const storageContainerUrl =
225+ "https://" +
226+ assertEnvironmentVariable ( "REMOTERENDERING_ARR_STORAGE_ACCOUNT_NAME" ) +
227+ ".blob.core.windows.net/" +
228+ assertEnvironmentVariable ( "REMOTERENDERING_ARR_BLOB_CONTAINER_NAME" ) ;
229+
230+ const inputSettings : AssetConversionInputSettings = {
231+ storageContainerUrl,
232+ storageContainerReadListSas : assertEnvironmentVariable ( "REMOTERENDERING_ARR_SAS_TOKEN" ) ,
233+ relativeInputAssetPath : "boxWhichDoesNotExist.fbx" ,
234+ blobPrefix : "Input" ,
235+ } ;
236+ const outputSettings : AssetConversionOutputSettings = {
237+ storageContainerUrl,
238+ storageContainerWriteSas : assertEnvironmentVariable ( "REMOTERENDERING_ARR_SAS_TOKEN" ) ,
239+ blobPrefix : "Output" ,
240+ } ;
241+ const conversionSettings : AssetConversionSettings = { inputSettings, outputSettings } ;
242+
243+ const conversionId : string = recorder . variable (
244+ "conversionId" ,
245+ `conversionId-${ Math . floor ( Math . random ( ) * 10000 ) } `
246+ ) ;
247+
248+ const conversionPoller : AssetConversionPollerLike = await client . beginConversion (
249+ conversionId ,
250+ conversionSettings ,
251+ pollerSettings
252+ ) ;
253+
254+ const assetConversion : AssetConversion = await client . getConversion ( conversionId ) ;
255+ assert . equal ( assetConversion . conversionId , conversionId ) ;
256+
257+ const newPoller = await client . beginConversion ( { resumeFrom : conversionPoller . toString ( ) } ) ;
258+ assert . equal ( newPoller . getOperationState ( ) . latestResponse . conversionId , conversionId ) ;
259+
260+ try {
261+ await conversionPoller . pollUntilDone ( ) ;
262+ assert . isTrue ( false , "Previous call should have thrown an exception." ) ;
263+ } catch ( e : any ) {
264+ // Invalid input provided. Check logs in output container for details.
265+ assert . isTrue ( e . message . toLowerCase ( ) . includes ( "invalid input" ) ) ;
266+ assert . isTrue ( e . message . toLowerCase ( ) . includes ( "logs" ) ) ;
267+ }
268+ } ) ;
269+
223270 it ( "can start a session" , async ( ) => {
224271 const sessionSettings : RenderingSessionSettings = {
225272 maxLeaseTimeInMinutes : 4 ,
0 commit comments