Exemplo n.º 1
0
        public void CreateNewTask()
        {
            if (_schedulerViewModel.CurrentEnvironment?.Connection != null && !_schedulerViewModel.CurrentEnvironment.Connection.IsConnected)
            {
                ShowServerDisconnectedPopup();
                return;
            }

            if (_schedulerViewModel.IsDirty)
            {
                _schedulerViewModel.PopupController.Show(Core.SchedulerUnsavedTaskMessage, Core.SchedulerUnsavedTaskHeader, MessageBoxButton.OK, MessageBoxImage.Error, null, false, true, false, false, false, false);
                return;
            }

            var dev2DailyTrigger = new Dev2DailyTrigger(new TaskServiceConvertorFactory(), new DailyTrigger());
            var scheduleTrigger  = SchedulerFactory.CreateTrigger(TaskState.Ready, dev2DailyTrigger);
            ScheduledResource scheduledResource = new ScheduledResource(Core.SchedulerNewTaskName + _newTaskCounter, SchedulerStatus.Enabled, scheduleTrigger.Trigger.Instance.StartBoundary, scheduleTrigger, string.Empty, Guid.NewGuid().ToString());

            scheduledResource.OldName = scheduledResource.Name;
            var newres = _schedulerViewModel.ScheduledResourceModel.ScheduledResources[_schedulerViewModel.ScheduledResourceModel.ScheduledResources.Count == 1 ? 0 : _schedulerViewModel.ScheduledResourceModel.ScheduledResources.Count - 1];

            _schedulerViewModel.ScheduledResourceModel.ScheduledResources[_schedulerViewModel.ScheduledResourceModel.ScheduledResources.Count == 1 ? 0 : _schedulerViewModel.ScheduledResourceModel.ScheduledResources.Count - 1] = scheduledResource;
            _schedulerViewModel.ScheduledResourceModel.ScheduledResources.Add(newres);

            _newTaskCounter++;

            _schedulerViewModel.NotifyOfPropertyChange(() => _schedulerViewModel.TaskList);
            _schedulerViewModel.SelectedTask       = _schedulerViewModel.ScheduledResourceModel.ScheduledResources[_schedulerViewModel.ScheduledResourceModel.ScheduledResources.Count == 1 ? 1 : _schedulerViewModel.ScheduledResourceModel.ScheduledResources.Count - 2];
            _schedulerViewModel.WorkflowName       = string.Empty;
            _schedulerViewModel.SelectedTask.IsNew = true;
            ViewModelUtils.RaiseCanExecuteChanged(_schedulerViewModel.NewCommand);
        }
        private StringBuilder RunOutput()
        {
            var esbMethod = new GetScheduledResources();

            _factory = new Mock <IServerSchedulerFactory>();
            var security = new Mock <ISecurityWrapper>();

            esbMethod.SecurityWrapper = security.Object;
            var model   = new Mock <IScheduledResourceModel>();
            var ws      = new Mock <IWorkspace>();
            var trigger = new ScheduleTrigger(TaskState.Disabled,
                                              new Dev2DailyTrigger(new TaskServiceConvertorFactory(), new DailyTrigger(21)),
                                              new Dev2TaskService(new TaskServiceConvertorFactory()),
                                              new TaskServiceConvertorFactory());
            var res = new ScheduledResource("a", SchedulerStatus.Enabled, DateTime.Now, trigger, "dave");

            _factory.Setup(
                a =>
                a.CreateModel(GlobalConstants.SchedulerFolderId, It.IsAny <ISecurityWrapper>())).Returns(model.Object);
            model.Setup(a => a.GetScheduledResources()).Returns(new ObservableCollection <IScheduledResource>()
            {
                res
            });

            esbMethod.SchedulerFactory = _factory.Object;
            var output = esbMethod.Execute(new Dictionary <string, StringBuilder>(), ws.Object);

            return(output);
        }
Exemplo n.º 3
0
        ExecuteMessage RunOutput(bool expectCorrectInput, bool hasUserNameAndPassword, bool delete)
        {
            const string username  = "******";
            const string password  = "******";
            var          esbMethod = new SaveScheduledResource();
            var          security  = new Mock <ISecurityWrapper>();

            esbMethod.SecurityWrapper = security.Object;
            var factory = new Mock <IServerSchedulerFactory>();
            var model   = new Mock <IScheduledResourceModel>();
            var ws      = new Mock <IWorkspace>();
            var trigger = new ScheduleTrigger(TaskState.Disabled,
                                              new Dev2DailyTrigger(new TaskServiceConvertorFactory(), new DailyTrigger(21)),
                                              new Dev2TaskService(new TaskServiceConvertorFactory()),
                                              new TaskServiceConvertorFactory());
            var res = new ScheduledResource("a", SchedulerStatus.Enabled, DateTime.Now, trigger, "dave", Guid.NewGuid().ToString());
            var inp = new Dictionary <string, StringBuilder>();

            factory.Setup(
                a =>
                a.CreateModel(GlobalConstants.SchedulerFolderId, It.IsAny <ISecurityWrapper>())).Returns(model.Object);
            var serialiser = new Dev2JsonSerializer();

            if (expectCorrectInput)
            {
                model.Setup(a => a.Save(It.IsAny <ScheduledResource>(), username, password)).Verifiable();
                inp.Add("Resource", serialiser.SerializeToBuilder(res));
            }

            if (hasUserNameAndPassword)
            {
                inp.Add("UserName", new StringBuilder("user"));
                inp.Add("Password", new StringBuilder("pass"));
            }
            if (delete)
            {
                model.Setup(a => a.DeleteSchedule(It.IsAny <IScheduledResource>())).Verifiable();
                inp.Add("PreviousResource", serialiser.SerializeToBuilder(res));
            }
            esbMethod.SchedulerFactory = factory.Object;

            var output = esbMethod.Execute(inp, ws.Object);

            if (expectCorrectInput && hasUserNameAndPassword)
            {
                model.Verify(a => a.Save(It.IsAny <ScheduledResource>(), username, password));
            }

            if (delete)
            {
                model.Verify(a => a.DeleteSchedule(It.IsAny <IScheduledResource>()));
            }

            return(serialiser.Deserialize <ExecuteMessage>(output));
        }
Exemplo n.º 4
0
        public void ScheduledResource_Constructor()
        {
            var trigger = new Mock <IScheduleTrigger>().Object;
            var res     = new ScheduledResource("bob", SchedulerStatus.Enabled, DateTime.MaxValue, trigger, "rory", Guid.NewGuid().ToString());

            Assert.AreEqual("bob", res.Name);
            Assert.AreEqual(SchedulerStatus.Enabled, res.Status);
            Assert.AreEqual(DateTime.MaxValue, res.NextRunDate);
            Assert.AreEqual(trigger, res.Trigger);

            Assert.AreEqual("rory", res.WorkflowName);
        }
Exemplo n.º 5
0
        public void ScheduledResource_Constructor()
        {

            IScheduleTrigger trigger = new Mock<IScheduleTrigger>().Object;
            ScheduledResource res = new ScheduledResource("bob", SchedulerStatus.Enabled, DateTime.MaxValue, trigger, "rory");
            Assert.AreEqual("bob", res.Name);
            Assert.AreEqual(SchedulerStatus.Enabled, res.Status);
            Assert.AreEqual(DateTime.MaxValue, res.NextRunDate);
            Assert.AreEqual(trigger, res.Trigger);

            Assert.AreEqual("rory", res.WorkflowName);
        }
Exemplo n.º 6
0
        public void ScheduledResource_Properties()
        {
            IScheduleTrigger trigger = new Mock <IScheduleTrigger>().Object;
            var res = new ScheduledResource("bob", SchedulerStatus.Enabled, DateTime.MaxValue, trigger, "rory");

            res.Password = "******";
            Assert.AreEqual("PWD", res.Password);
            res.UserName = "******";
            Assert.AreEqual("User", res.UserName);
            res.RunAsapIfScheduleMissed = false;
            Assert.IsFalse(res.RunAsapIfScheduleMissed);
            res.NumberOfHistoryToKeep = 25;
            Assert.AreEqual(25, res.NumberOfHistoryToKeep);
            res.AllowMultipleIstances = true;
            Assert.AreEqual(true, res.AllowMultipleIstances);
            res.OldName = "bob";
            Assert.AreEqual("bob", res.OldName);
        }
Exemplo n.º 7
0
        public void ScheduledResource_Properties()
        {

            IScheduleTrigger trigger = new Mock<IScheduleTrigger>().Object;
            var res = new ScheduledResource("bob", SchedulerStatus.Enabled, DateTime.MaxValue, trigger, "rory");
            res.Password = "******";
            Assert.AreEqual("PWD", res.Password);
            res.UserName = "******";
            Assert.AreEqual("User", res.UserName);
            res.RunAsapIfScheduleMissed = false;
            Assert.IsFalse(res.RunAsapIfScheduleMissed);
            res.NumberOfHistoryToKeep = 25;
            Assert.AreEqual(25, res.NumberOfHistoryToKeep);
            res.AllowMultipleIstances = true;
            Assert.AreEqual(true, res.AllowMultipleIstances);
            res.OldName = "bob";
            Assert.AreEqual("bob", res.OldName);

        }
        private List <IResourceHistory> RunOutput(bool expectCorrectInput)
        {
            var esbMethod = new GetScheduledResourceHistory();
            var security  = new Mock <ISecurityWrapper>();

            esbMethod.SecurityWrapper = security.Object;
            var factory = new Mock <IServerSchedulerFactory>();
            var model   = new Mock <IScheduledResourceModel>();
            var ws      = new Mock <IWorkspace>();
            var history = new List <IResourceHistory>
            {
                new ResourceHistory("", new List <IDebugState> {
                    new DebugState()
                },
                                    new EventInfo(DateTime.MinValue, TimeSpan.MaxValue, DateTime.MaxValue, ScheduleRunStatus.Error, "115"),
                                    "leon")
            };
            var trigger = new ScheduleTrigger(TaskState.Disabled,
                                              new Dev2DailyTrigger(new TaskServiceConvertorFactory(), new DailyTrigger(21)),
                                              new Dev2TaskService(new TaskServiceConvertorFactory()),
                                              new TaskServiceConvertorFactory());
            var res = new ScheduledResource("a", SchedulerStatus.Enabled, DateTime.Now, trigger, "dave");
            Dictionary <string, StringBuilder> inp = new Dictionary <string, StringBuilder>();

            factory.Setup(
                a =>
                a.CreateModel(GlobalConstants.SchedulerFolderId, It.IsAny <ISecurityWrapper>())).Returns(model.Object);
            Dev2JsonSerializer serialiser = new Dev2JsonSerializer();

            if (expectCorrectInput)
            {
                model.Setup(a => a.CreateHistory(It.IsAny <ScheduledResource>())).Returns(history).Verifiable();
                inp.Add("Resource", serialiser.SerializeToBuilder(res));
            }

            esbMethod.SchedulerFactory = factory.Object;

            var output = esbMethod.Execute(inp, ws.Object);

            return(serialiser.Deserialize <List <IResourceHistory> >(output));
        }
Exemplo n.º 9
0
        public void CreateNewTask()
        {
            if (CurrentEnvironment != null)
            {
                Dev2Logger.Log.Info(String.Format("Delete Schedule Environment: {0} ", CurrentEnvironment.Name));
            }
            var dev2DailyTrigger = new Dev2DailyTrigger(new TaskServiceConvertorFactory(), new DailyTrigger());
            var scheduleTrigger  = _schedulerFactory.CreateTrigger(TaskState.Ready, dev2DailyTrigger);
            ScheduledResource scheduledResource = new ScheduledResource(NewTaskName + _newTaskCounter, SchedulerStatus.Enabled, scheduleTrigger.Trigger.Instance.StartBoundary, scheduleTrigger, string.Empty)
            {
                IsDirty = true
            };

            scheduledResource.OldName = scheduledResource.Name;
            ScheduledResourceModel.ScheduledResources.Add(scheduledResource);
            _newTaskCounter++;
            NotifyOfPropertyChange(() => TaskList);
            SelectedTask       = ScheduledResourceModel.ScheduledResources.Last();
            WorkflowName       = string.Empty;
            SelectedTask.IsNew = true;
        }
Exemplo n.º 10
0
        private ExecuteMessage RunOutput(bool expectCorrectInput)
        {
            var esbMethod = new DeleteScheduledResource();
            var factory   = new Mock <IServerSchedulerFactory>();
            var model     = new Mock <IScheduledResourceModel>();
            var ws        = new Mock <IWorkspace>();
            var trigger   = new ScheduleTrigger(TaskState.Disabled,
                                                new Dev2DailyTrigger(new TaskServiceConvertorFactory(), new DailyTrigger(21)),
                                                new Dev2TaskService(new TaskServiceConvertorFactory()),
                                                new TaskServiceConvertorFactory());
            var res      = new ScheduledResource("a", SchedulerStatus.Enabled, DateTime.Now, trigger, "dave");
            var security = new Mock <ISecurityWrapper>();

            esbMethod.SecurityWrapper = security.Object;

            Dictionary <string, StringBuilder> inp = new Dictionary <string, StringBuilder>();

            factory.Setup(
                a =>
                a.CreateModel(GlobalConstants.SchedulerFolderId, It.IsAny <ISecurityWrapper>())).Returns(model.Object);
            Dev2JsonSerializer serialiser = new Dev2JsonSerializer();

            if (expectCorrectInput)
            {
                model.Setup(a => a.DeleteSchedule(It.IsAny <ScheduledResource>())).Verifiable();
                inp.Add("Resource", serialiser.SerializeToBuilder(res));
            }

            esbMethod.SchedulerFactory = factory.Object;

            var output = esbMethod.Execute(inp, ws.Object);

            if (expectCorrectInput)
            {
                model.Verify(a => a.DeleteSchedule(It.IsAny <ScheduledResource>()));
            }
            return(serialiser.Deserialize <ExecuteMessage>(output));
        }