public IActionResult SaveProfile(int id, [FromBody] ProfileExportRequest request = null) { ProfileExportRequest profileRequest = null; if (request != null && request.SelectedTestCases != null) { var testRun = PTMKernelService.GetTestRun(id); profileRequest = new ProfileExportRequest() { FileName = PTMKernelService.EnsureProfileName(null), TestSuiteId = testRun.Configuration.TestSuite.Id, ConfigurationId = testRun.Configuration.Id, TestResultId = id, SelectedTestCases = request.SelectedTestCases }; } string profileLocation = profileRequest == null?PTMKernelService.SaveProfileSettingsByTestResult(id) : PTMKernelService.SaveProfileSettings(profileRequest); var profileStream = new FileStream(profileLocation, FileMode.Open, FileAccess.Read, FileShare.Read); return(new FileStreamResult(profileStream, System.Net.Mime.MediaTypeNames.Text.Xml) { FileDownloadName = Path.GetFileName(profileLocation) }); }
/// <summary> /// Saves the configurations as a profile. /// </summary> /// <param name="request">Profile request.</param> /// <returns>profile location</returns> public string SaveProfileSettings(ProfileExportRequest request) { CreateProfile(request); string filePublicDirectory = MoveProfileToTempDirectory(request.FileName); return(filePublicDirectory); }
/// <summary> /// Saves the configurations as a profile. /// </summary> /// <param name="testResultId">Test result id.</param> /// <returns>profile location</returns> public string SaveProfileSettingsByTestResult(int testResultId) { var testRun = GetTestRun(testResultId); var profileRequest = new ProfileExportRequest() { FileName = EnsureProfileName(null), TestSuiteId = testRun.Configuration.TestSuite.Id, ConfigurationId = testRun.Configuration.Id, TestResultId = testResultId, }; return(SaveProfileSettings(profileRequest)); }
private string CreateProfile(ProfileExportRequest request) { List <TestCase> testCases = new List <TestCase>(); var configurationNode = StoragePool.GetKnownNode(KnownStorageNodeNames.Configuration); var testSuite = GetTestSuite(request.TestSuiteId); using (ProfileUtil profile = ProfileUtil.CreateProfile( request.FileName, testSuite.Name, testSuite.Version)) { string configBasePath = GetConfigurationsPath(request.ConfigurationId, configurationNode.AbsolutePath); string profileSourceFile = Path.Combine(configBasePath, ConfigurationConsts.Profile); ProfileUtil.FileToStream(profileSourceFile, profile.ProfileStream); string ptfConfigSourceDir = GetPtfConfigBasePath(request.ConfigurationId, configurationNode.AbsolutePath); string[] ptfConfigFiles = Directory.GetFiles(ptfConfigSourceDir, "*.ptfconfig", SearchOption.TopDirectoryOnly); foreach (string settingsConfigFile in ptfConfigFiles) { profile.AddPtfCfg(settingsConfigFile); } if (request.SelectedTestCases != null) { foreach (var testCaseName in request.SelectedTestCases) { var testCase = new TestCase() { FullName = testCaseName, IsChecked = true }; testCases.Add(testCase); } } ExportPlaylist(profile.PlaylistStream, true, request.TestResultId, testCases); } return(request.FileName); }