public void ShouldFailJobWhenTryingAddOutputAssetFromDifferentJobToTask()
{
IAsset asset1 = AssetTests.CreateAsset(_mediaContext, WindowsAzureMediaServicesTestConfiguration.SmallWmv2, AssetCreationOptions.StorageEncrypted);
asset1.Name = "SmallWmv2";
asset1.Update();
string configuration1 = File.ReadAllText(WindowsAzureMediaServicesTestConfiguration.ThumbnailConfig);
string configuration2 = File.ReadAllText(WindowsAzureMediaServicesTestConfiguration.ProxyConfig);
IJob job1 = _mediaContext.Jobs.Create("Test1");
IMediaProcessor mediaProcessor = GetMediaProcessor(_mediaContext, WindowsAzureMediaServicesTestConfiguration.MesName);
ITask task1 = job1.Tasks.AddNew("Task1", mediaProcessor, configuration1, TaskOptions.None);
task1.InputAssets.Add(asset1);
IAsset outputAsset = task1.OutputAssets.AddNew("JobOutput", options: AssetCreationOptions.None, formatOption: AssetFormatOption.None);
IJob job2 = _mediaContext.Jobs.Create("Test2");
ITask task2 = job2.Tasks.AddNew("Task2", mediaProcessor, configuration2, TaskOptions.None);
task2.InputAssets.Add(asset1);
try
{
task2.OutputAssets.Add(outputAsset);
Assert.Fail();
}
catch(ArgumentException ex)
{
Assert.IsTrue(ex.Message.Contains(StringTable.ErrorAddAssetToOutputAssetsOfTask));
}
}