public void EnvironmentAddType() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { foreach (var envType in Enum.GetValues(typeof(EnvironmentDtoType))) { using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); cmdlet.AddCommand(UiPathStrings.AddUiPathEnvironment) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.Type, envType); var environments = Invoke <Environment>(cmdlet); Validators.ValidateEnvironmentResponse(environments, null, name, description, (EnvironmentDtoType)envType); Api.DeleteEnvironmentById(environments[0].Id); TestContext.WriteLine($"Validated Add-UiPathEnvironment type: {envType}"); } } } }
public void AssetAddRemovePositional() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { Asset asset = null; // Positional add using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { var assetName = TestRandom.RandomString(); var assetValue = TestRandom.RandomString(); cmdlet.AddCommand(UiPathStrings.AddUiPathAsset) .AddArgument(assetName) .AddParameter(UiPathStrings.TextValue, assetValue); var assets = Invoke <Asset>(cmdlet); Validators.ValidateAssetResponse(assets, null, assetName, AssetDtoValueType.Text, assetValue); asset = assets[0]; } // positional remove by object using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathAsset) .AddArgument(asset); Invoke(cmdlet); } } }
public void EnvironmentNegativeBadType() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); cmdlet.AddCommand(UiPathStrings.AddUiPathEnvironment) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.Type, "Invalid"); // Not clear if it should be ParameterBindingValidationException or ValidationMetadataException // And ParameterBindingValidationException does not resolve... try { Invoke <Environment>(cmdlet); Assert.Fail("The Invoke was supposed to throw!"); } catch (RuntimeException re) { Assert.AreEqual("Cannot validate argument on parameter 'Type'. The argument \"Invalid\" does not belong to the set \"Dev,Test,Prod\" specified by the ValidateEnum attribute. Supply an argument that is in the set and then try the command again", re.Message); } } } }
public void FolderAddGetRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var displayName = TestRandom.RandomAlphaNumeric(); var description = TestRandom.RandomAlphaNumeric(); long? folderId = null; Folder currentFolder = null; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddFolder) .AddParameter(UiPathStrings.DisplayName, displayName) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.PermissionModel, FolderDtoPermissionModel.FineGrained) .AddParameter(UiPathStrings.ProvisionType, FolderDtoProvisionType.Automatic); var folders = Invoke <Folder>(cmdlet); Validators.ValidateFolderResponse(folders, null, displayName, description, FolderDtoProvisionType.Automatic, FolderDtoPermissionModel.FineGrained); folderId = folders[0].Id; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetFolder) .AddParameter(UiPathStrings.Id, folderId); var folders = Invoke <Folder>(cmdlet); currentFolder = folders[0]; Validators.ValidateFolderResponse(folders, folderId, displayName, description, FolderDtoProvisionType.Automatic, FolderDtoPermissionModel.FineGrained); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { var updatedDisplayName = TestRandom.RandomString(); cmdlet.AddCommand(UiPathStrings.EditFolder) .AddArgument(currentFolder) .AddParameter(UiPathStrings.DisplayName, updatedDisplayName); Invoke <Folder>(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveFolder) .AddParameter(UiPathStrings.Id, folderId); Invoke(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetFolder) .AddParameter(UiPathStrings.DisplayName, displayName); var folders = Invoke <Folder>(cmdlet); Validators.ValidatEmptyResponse(folders); } } }
public void LibraryFind() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var libSpec1 = TestRandom.RandomPakcageSpec(); using (var testPackage = TestRandom.RandomPackage(libSpec1)) { using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathLibrary) .AddArgument(testPackage.FileName); Invoke(cmdlet); } } var libSpec2 = TestRandom.RandomPakcageSpec(); using (var testPackage = TestRandom.RandomPackage(libSpec2)) { using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathLibrary) .AddArgument(testPackage.FileName); Invoke(cmdlet); } } TestFilter(runspace, (cmdlet) => cmdlet.AddParameter(UiPathStrings.Id, libSpec1.Id), libSpec1); TestFilter(runspace, (cmdlet) => cmdlet.AddParameter(UiPathStrings.Id, libSpec2.Id), libSpec2); TestFilter(runspace, (cmdlet) => cmdlet.AddParameter(UiPathStrings.Title, libSpec1.Title), libSpec1); TestFilter(runspace, (cmdlet) => cmdlet.AddParameter(UiPathStrings.Authors, libSpec1.Authors), libSpec1); TestFilter(runspace, (cmdlet) => cmdlet.AddParameter(UiPathStrings.Version, libSpec2.Version), libSpec2); // Only Host admin can delete Libraries // using (var hostRunspace = PowershellFactory.CreateHostAuthenticatedSession(TestContext)) { // Remove using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathLibrary) .AddParameter(UiPathStrings.Id, libSpec1.Id); Invoke(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathLibrary) .AddParameter(UiPathStrings.Id, libSpec2.Id); Invoke(cmdlet); } } } }
public void UserAddGetRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { User user = default(User); var userName = TestRandom.RandomAlphaNumeric(); var password = TestRandom.RandomPassword(); var name = TestRandom.RandomString(); var surname = TestRandom.RandomString(); var email = TestRandom.RandomEmail(); UserDtoType userType = UserDtoType.User; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathUser) .AddParameter(UiPathStrings.Username, userName) .AddParameter(UiPathStrings.Password, password) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.Surname, surname) .AddParameter(UiPathStrings.EmailAddress, email) .AddParameter(UiPathStrings.Type, userType) .AddParameter(UiPathStrings.RolesList, new List <string>() { UiPathStrings.Administrator }); var users = Invoke <User>(cmdlet); Validators.ValidateUserResponse(users, null, userName, password, name, surname, email, userType); user = users[0]; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathUser) .AddParameter(UiPathStrings.Id, user.Id); var users = Invoke <User>(cmdlet); Validators.ValidateUserResponse(users, user.Id, userName, password, name, surname, email, userType); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathUser) .AddParameter(UiPathStrings.Id, user.Id); Invoke(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathUser) .AddParameter(UiPathStrings.Username, userName); var users = Invoke <User>(cmdlet); Validators.ValidatEmptyResponse(users); } } }
private void TestFilter(Runspace session, Action <Cmdlet> action, PackageSpec expected) { using (var cmdlet = PowershellFactory.CreateCmdlet(session)) { cmdlet.AddCommand(UiPathStrings.GetUiPathLibrary); action(cmdlet); var libraries = Invoke <Library>(cmdlet); Validators.ValidateLibraryResponse(libraries, expected); } }
public void RobotAddGetRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); var licenseKey = Guid.NewGuid(); var machine = TestRandom.RandomString(); var username = TestRandom.RandomString(); long?robotId = null; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathRobot) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.MachineName, machine) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.LicenseKey, licenseKey) .AddParameter(UiPathStrings.Username, username) .AddParameter(UiPathStrings.Type, RobotDtoType.NonProduction); var robots = Invoke <Robot>(cmdlet); Validators.ValidateRobotResponse(robots, null, name, description, machine, licenseKey, RobotDtoType.NonProduction); robotId = robots[0].Id; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathRobot) .AddParameter(UiPathStrings.Id, robotId); var robots = Invoke <Robot>(cmdlet); Validators.ValidateRobotResponse(robots, robotId, name, description, machine, licenseKey, RobotDtoType.NonProduction); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathRobot) .AddParameter(UiPathStrings.Id, robotId); Invoke <Robot>(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathRobot) .AddParameter(UiPathStrings.Name, name); var robots = Invoke <Robot>(cmdlet); Validators.ValidatEmptyResponse(robots); } } }
public void RoleAddGetRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { Role role = default(Role); var name = TestRandom.RandomAlphaNumeric(); var displaName = TestRandom.RandomString(); var permissions = new List <string>() { "Robots.View", "Robots.Edit", "Robots.Create", "Robots.Delete" }; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathRole) .AddParameter(UiPathStrings.Name, name) //.AddParameter(UiPathStrings.DisplayName, displaName) -- bugbug: the displayname is ignored by Orchestrator .AddParameter(UiPathStrings.IsEditable) .AddParameter(UiPathStrings.Permissions, permissions); var roles = Invoke <Role>(cmdlet); Validators.ValidateRoleResult(roles, null, name, name, true, false, null); role = roles[0]; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathRole) .AddParameter(UiPathStrings.Name, role.Name); var roles = Invoke <Role>(cmdlet); Validators.ValidateRoleResult(roles, role.Id, name, name, true, false, permissions); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathRole) .AddParameter(UiPathStrings.Id, role.Id); Invoke(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathRole) .AddParameter(UiPathStrings.Name, role.Name); var roles = Invoke <Role>(cmdlet); Validators.ValidatEmptyResponse(roles); } } }
public void LibraryAddRemovePositional() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { Library library = null; var libSpec = TestRandom.RandomPakcageSpec(); using (var testPackage = TestRandom.RandomPackage(libSpec)) { // Positional add using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathLibrary) .AddArgument(testPackage.FileName); Invoke(cmdlet); } } // Get by Id using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathLibrary) .AddParameter(UiPathStrings.Id, libSpec.Id); var libraries = Invoke <Library>(cmdlet); Validators.ValidateLibraryResponse(libraries, libSpec); library = libraries[0]; Assert.IsTrue(library.IsLatestVersion.HasValue); Assert.IsTrue(library.IsLatestVersion.Value); } // Only Host admin can delete Libraries // using (var hostRunspace = PowershellFactory.CreateHostAuthenticatedSession(TestContext)) { // positional remove by object using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathLibrary) .AddArgument(library); Invoke(cmdlet); } } } }
public void CurrentUserFolders() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var displayName = TestRandom.RandomAlphaNumeric(); var description = TestRandom.RandomAlphaNumeric(); using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetCurrentUserFolders); var folders = Invoke <ExtendedFolder>(cmdlet); Assert.IsNotNull(folders); } } }
public void QueueDefinitionAddEditGetRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { QueueDefinition queue = null; var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathQueueDefinition) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.AcceptAutomaticallyRetry); var queues = Invoke <QueueDefinition>(cmdlet); Validators.ValidateQueueDefinitionResponse(queues, null, name, description, true, false, 0); queue = queues[0]; } // Positional Get using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { description = TestRandom.RandomString(); cmdlet.AddCommand(UiPathStrings.EditUiPathQueueDefinition) .AddArgument(queue) .AddParameter(UiPathStrings.Description, description); Invoke <QueueDefinition>(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathQueueDefinition) .AddParameter(UiPathStrings.Id, queue.Id); var queues = Invoke <QueueDefinition>(cmdlet); Validators.ValidateQueueDefinitionResponse(queues, queue.Id, name, description, true, false, 0); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathQueueDefinition) .AddParameter(UiPathStrings.QueueDefinition, queue); Invoke(cmdlet); } } }
public void AssetAddGetRemoveById() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var assetName = TestRandom.RandomString(); var assetValue = TestRandom.RandomString(); long?assetId = null; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathAsset) .AddParameter(UiPathStrings.Name, assetName) .AddParameter(UiPathStrings.TextValue, assetValue); var assets = Invoke <Asset>(cmdlet); Validators.ValidateAssetResponse(assets, null, assetName, AssetDtoValueType.Text, assetValue); assetId = assets[0].Id; } // Get by name using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathAsset) .AddParameter(UiPathStrings.Name, assetName); var assets = Invoke <Asset>(cmdlet); Validators.ValidateAssetResponse(assets, assetId, assetName, AssetDtoValueType.Text, assetValue); } //Remove by Id using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathAsset) .AddParameter(UiPathStrings.Id, assetId); Invoke(cmdlet); } // Validate is removed using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathAsset) .AddParameter(UiPathStrings.Name, assetName); var assets = Invoke <Asset>(cmdlet); Validators.ValidatEmptyResponse(assets); } } }
public void EnvironmentAddGetRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); long?environmentId = null; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathEnvironment) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.Type, EnvironmentDtoType.Dev); var environments = Invoke <Environment>(cmdlet); Validators.ValidateEnvironmentResponse(environments, null, name, description, EnvironmentDtoType.Dev); environmentId = environments[0].Id; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathEnvironment) .AddParameter(UiPathStrings.Id, environmentId); var environments = Invoke <Environment>(cmdlet); Validators.ValidateEnvironmentResponse(environments, environmentId, name, description, EnvironmentDtoType.Dev); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathEnvironment) .AddParameter(UiPathStrings.Id, environmentId); Invoke(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathEnvironment) .AddParameter(UiPathStrings.Name, name); var environments = Invoke <Environment>(cmdlet); Validators.ValidatEmptyResponse(environments); } } }
public void ScheduleAddRemove() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { ProcessSchedule schedule = null; Process process = null; var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathProcess) .AddParameter(UiPathStrings.Id, 2); var processes = Invoke <Process>(cmdlet); process = processes[0]; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathProcessSchedule) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.Process, process) .AddParameter(UiPathStrings.StartProcessCron, TestCron) .AddParameter(UiPathStrings.TimeZoneId, TimeZone.CurrentTimeZone.StandardName) .AddParameter(UiPathStrings.RobotCount, 1); var schedules = Invoke <ProcessSchedule>(cmdlet); schedule = schedules[0]; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathProcessSchedule) .AddParameter(UiPathStrings.Id, schedule.Id); Invoke(cmdlet); } } }
public void MaintenanceMode_FullCycle_Works() { // Host admin op using (var hostRunspace = PowershellFactory.CreateHostAuthenticatedSession(TestContext)) { ICollection <PSObject> results; try { using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.StartMaintenanceMode) .AddParameter("Phase", drainingPhase) .AddParameter("Confirm", false); results = Invoke(cmdlet); } // check results in Draining CheckLogs(results, drainingPhase, 2); using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.StartMaintenanceMode) .AddParameter("Phase", suspendedPhase) .AddParameter("Force", true) .AddParameter("Confirm", false); results = Invoke(cmdlet); } // check results in Suspended CheckLogs(results, suspendedPhase, 3); using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.StopMaintenanceMode) .AddParameter("Confirm", false); results = Invoke(cmdlet); } // check logs back online CheckLogs(results, onlinePhase, 4); // check final results, check Get-Maintenance here as well using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.GetMaintenanceMode); results = Invoke(cmdlet); } // check logs are persisted after stopping CheckLogs(results, onlinePhase, 4); } finally { // exit maintenance mode try { using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.StopMaintenanceMode) .AddParameter("Confirm", false);; Invoke(cmdlet); } } catch { } // don't fail the test } } }
public void RobotSettingsSetThenClear() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { var name = TestRandom.RandomString(); var description = TestRandom.RandomString(); var machine = TestRandom.RandomString(); var username = TestRandom.RandomString(); long? robotId = null; License license = null; using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathLicense); license = Invoke <License>(cmdlet)?.FirstOrDefault(); Assert.IsNotNull(license); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathRobot) .AddParameter(UiPathStrings.Name, name) .AddParameter(UiPathStrings.MachineName, machine) .AddParameter(UiPathStrings.LicenseKey, license.Code) .AddParameter(UiPathStrings.Description, description) .AddParameter(UiPathStrings.Username, username) .AddParameter(UiPathStrings.Type, RobotDtoType.NonProduction); var robots = Invoke <Robot>(cmdlet); robotId = robots[0].Id; } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.EditUiPathRobotSettings) .AddParameter(nameof(EditRobotSettings.Id), robotId) .AddParameter(nameof(EditRobotSettings.StudioNotifyServer), false) .AddParameter(nameof(EditRobotSettings.ResolutionHeight), 1920) .AddParameter(nameof(EditRobotSettings.TracingLevel), "Verbose") .AddParameter(nameof(EditRobotSettings.LoginToConsole), true); Invoke <Robot>(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathRobotSettings) .AddParameter(UiPathStrings.Id, robotId); var robotSettings = Invoke <RobotExecutionSettings>(cmdlet)?.FirstOrDefault(); Assert.IsNotNull(robotSettings); Assert.AreEqual(robotId, robotSettings.Id); Assert.AreEqual(false, robotSettings.StudioNotifyServer); Assert.AreEqual(1920, robotSettings.ResolutionHeight); Assert.AreEqual("Verbose", robotSettings.TracingLevel); Assert.AreEqual(true, robotSettings.LoginToConsole); Assert.IsNull(robotSettings.FontSmoothing); Assert.IsNull(robotSettings.ResolutionWidth); Assert.IsNull(robotSettings.ResolutionDepth); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.ClearUiPathRobotSettings) .AddParameter(UiPathStrings.Id, robotId) .AddParameter(nameof(ClearRobotSettings.StudioNotifyServer)) .AddParameter(nameof(ClearRobotSettings.TracingLevel)) .AddParameter(nameof(ClearRobotSettings.ResolutionHeight)) .AddParameter(nameof(ClearRobotSettings.LoginToConsole)); Invoke(cmdlet); } using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathRobotSettings) .AddParameter(UiPathStrings.Id, robotId); var robotSettings = Invoke <RobotExecutionSettings>(cmdlet)?.FirstOrDefault(); Assert.IsNotNull(robotSettings); Assert.IsNotNull(robotSettings.Id); Assert.IsNull(robotSettings.ResolutionHeight); Assert.IsNull(robotSettings.TracingLevel); Assert.IsNull(robotSettings.LoginToConsole); Assert.IsNull(robotSettings.StudioNotifyServer); Assert.IsNull(robotSettings.FontSmoothing); Assert.IsNull(robotSettings.ResolutionWidth); Assert.IsNull(robotSettings.ResolutionDepth); } } }
public void LibraryAddVersion() { using (var runspace = PowershellFactory.CreateAuthenticatedSession(TestContext)) { Library libV1 = null; Library libV2 = null; var libSpecV1 = TestRandom.RandomPakcageSpec(); using (var testPackage = TestRandom.RandomPackage(libSpecV1)) { using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathLibrary) .AddArgument(testPackage.FileName); Invoke(cmdlet); } } var libSpecV2 = new PackageSpec { Id = libSpecV1.Id, Title = libSpecV1.Title, Authors = libSpecV1.Authors, Description = libSpecV1.Description, ReleaseNotes = TestRandom.RandomText(15, 25), Version = new Version(libSpecV1.Version.Major + 1, 0, 1) }; using (var testPackage = TestRandom.RandomPackage(libSpecV2)) { using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.AddUiPathLibrary) .AddArgument(testPackage.FileName); Invoke(cmdlet); } } // Get all versions using (var cmdlet = PowershellFactory.CreateCmdlet(runspace)) { cmdlet.AddCommand(UiPathStrings.GetUiPathLibraryVersion) .AddParameter(UiPathStrings.Id, libSpecV1.Id); var libraries = Invoke <Library>(cmdlet); Validators.ValidateLibraryResponse(libraries, libSpecV2, libSpecV1); libV1 = libraries[0]; Assert.IsTrue(libV1.IsLatestVersion.HasValue); Assert.IsTrue(libV1.IsLatestVersion.Value); libV2 = libraries[1]; Assert.IsTrue(libV2.IsLatestVersion.HasValue); Assert.IsFalse(libV2.IsLatestVersion.Value); } // Only Host admin can delete Libraries // using (var hostRunspace = PowershellFactory.CreateHostAuthenticatedSession(TestContext)) { // Remove by Id, will remove all versions using (var cmdlet = PowershellFactory.CreateCmdlet(hostRunspace)) { cmdlet.AddCommand(UiPathStrings.RemoveUiPathLibrary) .AddParameter(UiPathStrings.Id, libV1.Id); Invoke(cmdlet); } } } }