public void ScheduledResourceModel_SaveTest_UserPassword() { SetupSingleTask(); var model = new ScheduledResourceModel(_mockService.Object, _folderId, _agentPath, _convertorFactory.Object, @"c:\", _wrapper.Object, a => a.WorkflowName); var task = new Mock <IDev2TaskDefinition>(); var resourceToSave = new Mock <IScheduledResource>(); var action = new Mock <IExecAction>(); var trigger = new Mock <IScheduleTrigger>(); var nativeTrigger = new Mock <ITrigger>(); var mockSettings = new Mock <ITaskSettings>(); var resource = new Mock <IScheduledResource>(); _convertorFactory.Setup(a => a.CreateExecAction("WareWolf", "a b", null)).Returns(action.Object); resourceToSave.Setup(a => a.Name).Returns("henry"); resourceToSave.Setup(a => a.Trigger).Returns(trigger.Object); resourceToSave.Setup(a => a.WorkflowName).Returns("b"); task.Setup(a => a.Settings).Returns(mockSettings.Object); trigger.Setup(a => a.Trigger).Returns(nativeTrigger.Object); task.Setup(a => a.AddTrigger(nativeTrigger.Object)).Verifiable(); _mockService.Setup(a => a.NewTask()).Returns(task.Object); _mockService.Setup(a => a.GetFolder(_folderId)).Returns(_folder.Object); task.Setup(a => a.AddTrigger(nativeTrigger.Object)).Verifiable(); _folder.Setup(a => a.ValidTasks).Returns(new List <IDev2Task>()); var mockFolder = new Mock <ITaskFolder>(); _mockService.Setup(a => a.GetFolder("WareWolf")).Returns(mockFolder.Object); resource.Setup(a => a.Name).Returns("Dora"); model.Save(resourceToSave.Object, "user", "pwd"); mockFolder.Verify( a => a.RegisterTaskDefinition("henry", task.Object, TaskCreation.CreateOrUpdate, "user", "pwd", TaskLogonType.InteractiveTokenOrPassword)); task.Verify(a => a.AddTrigger(It.IsAny <ITrigger>())); }
public void ScheduledResourceModel_SaveInvalidWindowsUserPermissions() { //create objects SetupSingleTask(); var model = new ScheduledResourceModel(_mockService.Object, _folderId, _agentPath, _convertorFactory.Object, @"c:\", _wrapper.Object, a => a.WorkflowName); var resourceToSave = new Mock <IScheduledResource>(); //setup expectations _wrapper.Setup(a => a.IsWindowsAuthorised(It.IsAny <string>(), It.IsAny <string>())).Returns(false); //run test model.Save(resourceToSave.Object, out string errorMessage); Assert.AreEqual(Warewolf.Resource.Errors.ErrorResource.ScheduledResourceLogOnAsBatchErrorTest, errorMessage); }
public void ScheduledResourceModel_SaveInvalidName() { //create objects SetupSingleTask(); var model = new ScheduledResourceModel(_mockService.Object, _folderId, _agentPath, _convertorFactory.Object, @"c:\", _wrapper.Object, a => a.WorkflowName); var resourceToSave = new Mock <IScheduledResource>(); //setup expectations _wrapper.Setup(a => a.IsWarewolfAuthorised(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>())).Returns(true); resourceToSave.Setup(a => a.Name).Returns("bob?"); //run test model.Save(resourceToSave.Object, out string errorMessage); Assert.AreEqual("The task name may not contain the following characters \\/:*?\"<>| .", errorMessage); }
public void ScheduledResourceModel_SaveInvalidWindowsUserPermissions() { //create objects SetupSingleTask(); var model = new ScheduledResourceModel(_mockService.Object, _folderId, _agentPath, _convertorFactory.Object, @"c:\", _wrapper.Object); var resourceToSave = new Mock <IScheduledResource>(); //setup expectations _wrapper.Setup( a => a.IsWindowsAuthorised(It.IsAny <string>(), It.IsAny <string>())) .Returns(false); //run test string errorMessage; model.Save(resourceToSave.Object, out errorMessage); Assert.AreEqual(@"This task requires that the user account specified has 'Log On As Batch' job rights. Please contact your Windows System Administrator.", errorMessage); }
public void ScheduledResourceModel_SaveInvalidWarewolfUserPermissions() { //create objects SetupSingleTask(); var model = new ScheduledResourceModel(_mockService.Object, _folderId, _agentPath, _convertorFactory.Object, @"c:\", _wrapper.Object); var resourceToSave = new Mock <IScheduledResource>(); //setup expectations _wrapper.Setup( a => a.IsWarewolfAuthorised(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(false); resourceToSave.Setup(a => a.WorkflowName).Returns("bob"); //run test string errorMessage; model.Save(resourceToSave.Object, out errorMessage); Assert.AreEqual(@"This Workflow requires that you have Execute permission on the 'bob' Workflow. Please contact your Warewolf System Administrator.", errorMessage); }
bool SaveTasks() { if (CurrentEnvironment.IsConnected) { var authService = CurrentEnvironment.AuthorizationService; if (authService != null && authService.IsAuthorized(AuthorizationContext.Administrator, null)) { if (SelectedTask != null && SelectedTask.OldName != null && SelectedTask.IsDirty) { if (HasErrors && !Error.StartsWith(SaveErrorPrefix)) { ShowSaveErrorDialog(Error); return(false); } if (SelectedTask.OldName != SelectedTask.Name && !SelectedTask.OldName.Contains(NewTaskName) && !SelectedTask.IsNew) { var showNameChangedConflict = _popupController.ShowNameChangedConflict(SelectedTask.OldName, SelectedTask.Name); if (showNameChangedConflict == MessageBoxResult.Cancel || showNameChangedConflict == MessageBoxResult.None) { return(false); } if (showNameChangedConflict == MessageBoxResult.No) { SelectedTask.Name = SelectedTask.OldName; NotifyOfPropertyChange(() => Name); } } if (SelectedTask.OldName != SelectedTask.Name && SelectedTask.OldName.Contains(NewTaskName)) { SelectedTask.OldName = SelectedTask.Name; } } GetCredentials(SelectedTask); string errorMessage; if (!ScheduledResourceModel.Save(SelectedTask, out errorMessage)) { ShowSaveErrorDialog(errorMessage); ShowError(errorMessage); return(false); } Dev2Logger.Log.Info(String.Format("Save Schedule. Environment: {0} Name:{1} ", CurrentEnvironment.Name, SelectedTask != null ?SelectedTask.Name:"")); if (SelectedTask != null) { SelectedTask.Errors.ClearErrors(); NotifyOfPropertyChange(() => Error); NotifyOfPropertyChange(() => Errors); SelectedTask.OldName = SelectedTask.Name; SelectedTask.IsNew = false; } NotifyOfPropertyChange(() => TaskList); } else { ShowError(@"Error while saving: You don't have permission to schedule on this server. You need Administrator permission."); return(false); } return(true); } ShowError(NotConnectedErrorMessage); return(false); }