public void CreateJobFromTemplate()
{
IAsset asset = AssetTests.CreateAsset(_mediaContext, _smallWmv, AssetCreationOptions.StorageEncrypted);
IMediaProcessor mediaProcessor = GetMediaProcessor(_mediaContext, WindowsAzureMediaServicesTestConfiguration.MpEncoderName);
string name = GenerateName("Job For Template");
IJob job = _mediaContext.Jobs.Create(name);
job.Priority = InitialJobPriority;
ITask task = job.Tasks.AddNew("Task1", mediaProcessor, GetWamePreset(mediaProcessor), TaskOptions.None);
task.InputAssets.Add(asset);
task.OutputAssets.AddNew("JobTemplateOutPutAsset", AssetCreationOptions.None);
DateTime timebeforeSubmit = DateTime.UtcNow;
job.Submit();
Task jobRunningTask = job.GetExecutionProgressTask(CancellationToken.None);
jobRunningTask.Wait();
IJobTemplate template = job.SaveAsTemplate("JobTemplate" + Guid.NewGuid().ToString().Substring(0, 10));
var jobfromTemplate = _mediaContext.Jobs.Create("JobFromTemplate" + Guid.NewGuid().ToString().Substring(0, 10), template, new[]{asset});
jobfromTemplate.Submit();
jobRunningTask = jobfromTemplate.GetExecutionProgressTask(CancellationToken.None);
jobRunningTask.Wait();
var refreshed = _mediaContext.Jobs.Where(c => c.Id == jobfromTemplate.Id).FirstOrDefault();
Assert.IsNotNull(refreshed);
}