protected virtual IRepository<ProjectInfoServer> Assemble(TaskConfiguration config) { var remainingField = (string) config.ReadEntryValue(TFSProjectInfoSettingsConstants.REMAINING_SETTING_NAME); var estimatedField = (string) config.ReadEntryValue(TFSProjectInfoSettingsConstants.ESTIMATED_SETTING_NAME); var configDictionary = new Dictionary<String, String>(); configDictionary["tfswi-remaining-field"] = (remainingField != "") ? remainingField : "Work Remaining (Scrum v3)"; configDictionary["tfswi-estimated-field"] = (estimatedField != "") ? estimatedField : "Estimated Effort (Scrum v3)"; var serverUrl = (string)config.ReadEntryValue(TFSProjectInfoSettingsConstants.URL_SETTING_NAME); var projectName = (string)config.ReadEntryValue(TFSProjectInfoSettingsConstants.PROJECT_SETTING_NAME); var username = (string)config.ReadEntryValue(TFSProjectInfoSettingsConstants.USERNAME_SETTING_NAME); var password = (string)config.ReadEntryValue(TFSProjectInfoSettingsConstants.PASSWORD_SETTING_NAME); string domain = username.Contains('\\') ? username.Substring(0, username.IndexOf('\\')) : null; username = username.Contains('\\') ? username.Substring(username.IndexOf('\\') + 1) : username; var cred = string.IsNullOrEmpty(domain) ? new NetworkCredential(username, password) : new NetworkCredential(username, password, domain); return new ScrumForTFSRepository(serverUrl, projectName, configDictionary, cred); }
public ScriptTask( string safeDirectoryPathForScripts, TaskConfiguration taskConfiguration, IProcessService processService) { Guard.Requires<ArgumentNullException>(safeDirectoryPathForScripts != null); Guard.Requires<ArgumentException>( Directory.Exists(safeDirectoryPathForScripts) == true, "Path specified for SafeDirectoryPathForScripts does not exist"); Guard.Requires<ArgumentNullException>(taskConfiguration != null); Guard.Requires<TaskConfigurationException>(taskConfiguration.EntryExists(ScriptName) == true); Guard.Requires<TaskConfigurationException>( taskConfiguration.ReadEntryValue(ScriptName) != null && taskConfiguration.ReadEntryValue(ScriptName) != string.Empty); filePath = Path.Combine(safeDirectoryPathForScripts, taskConfiguration.ReadEntryValue(ScriptName).ToString()); Guard.Requires<FileNotFoundException>(File.Exists(filePath) == true); Guard.Requires<ArgumentNullException>(processService != null); this.taskConfiguration = taskConfiguration; this.safeDirectoryPathForScripts = safeDirectoryPathForScripts; this.processService = processService; }
protected ChangesetHarvesterBase(IRepository<Changeset> changesetDbRepository, IPersistDomainModels<Changeset> databasePersister, TaskConfiguration config) { this.changesetDbRepository = changesetDbRepository; this.databasePersister = databasePersister; this.config = config; }
public void Assure_null_entries_are_ignored() { var config = new TaskConfiguration(); config.Entries.Add(null); config.Entries.Add(new TaskConfigurationEntry(){Name = "testName", Value = "myValue",Type = typeof(string)}); config.ReadEntryValue("testName").ShouldBe("myValue"); }
public TeamCityCiTask(IPersistDomainModels<CIServer> databasePersister, TaskConfiguration configuration) : base(databasePersister, configuration) { Guard.Requires<ArgumentNullException>(databasePersister != null); Guard.Requires<ArgumentNullException>(configuration != null); Guard.Requires<TaskConfigurationException>(configuration.Entries.Count() >= 3); _configuration = configuration; Interval = TimeSpan.FromMilliseconds(_configuration.DispatchInterval); }
public TFSProjectInfoTask(IPersistDomainModels<ProjectInfoServer> databasePersister, TaskConfiguration config) { Guard.Requires<ArgumentNullException>(databasePersister != null); Guard.Requires<ArgumentNullException>(config != null); Guard.Requires<TaskConfigurationException>(config.Entries.Count() >= 5); this.databasePersister = databasePersister; this.config = config; Interval = TimeSpan.FromMilliseconds(config.DispatchInterval); }
public SVNChangesetHarvesterTask(IRepository<Changeset> changesetDbRepository, IPersistDomainModels<Changeset> databasePersister, TaskConfiguration config) : base(changesetDbRepository, databasePersister, config) { Guard.Requires<ArgumentNullException>(changesetDbRepository != null); Guard.Requires<ArgumentNullException>(databasePersister != null); Guard.Requires<ArgumentNullException>(config != null); Guard.Requires<TaskConfigurationException>(config.Entries.Count() >= 4); Interval = TimeSpan.FromMilliseconds(config.DispatchInterval); }
protected CiTaskBase(IPersistDomainModels<CIServer> databasePersister, TaskConfiguration configuration) { if (databasePersister == null) throw new ArgumentNullException("databasePersister"); if (configuration == null) throw new ArgumentNullException("configuration"); this.databasePersister = databasePersister; this._configuration = configuration; }
public void Assure_projectName_has_correct_prefix() { var config = new TaskConfiguration(); config.Entries.Add(new TaskConfigurationEntry() { Name = TFSChangesetHarvesterTask.USERNAME_SETTING_NAME, Value = "test", PersistableType = "System.String"}); config.Entries.Add(new TaskConfigurationEntry() { Name = TFSChangesetHarvesterTask.PASSWORD_SETTING_NAME, Value = "test", PersistableType = "System.String" }); config.Entries.Add(new TaskConfigurationEntry() { Name = TFSChangesetHarvesterTask.SOURCECONTROL_SERVER_NAME, Value = "test", PersistableType = "System.String" }); config.Entries.Add(new TaskConfigurationEntry() { Name = TFSChangesetHarvesterTask.URL_SETTING_NAME, Value = "test", PersistableType = "System.String" }); config.Entries.Add(new TaskConfigurationEntry() { Name = TFSChangesetHarvesterTask.PROJECT_SETTING_NAME, Value = "test", PersistableType = "System.String" }); var harvester = new TFSChangesetHarvesterTask( new Mock<IRepository<Changeset>>().Object, new Mock<IPersistDomainModels<Changeset>>().Object, config); }
public TFSChangesetHarvesterTask(IRepository<Changeset> changesetDbRepository, IPersistDomainModels<Changeset> databasePersister, TaskConfiguration config) : base(changesetDbRepository, databasePersister, config) { Guard.Requires<ArgumentNullException>(changesetDbRepository != null); Guard.Requires<ArgumentNullException>(databasePersister != null); Guard.Requires<ArgumentNullException>(config != null); Guard.Requires<TaskConfigurationException>(config.Entries.Count() >= 4); var projectSettingValue = config.ReadEntryValue(PROJECT_SETTING_NAME) as string; Guard.Requires<ArgumentException>( projectSettingValue != null && projectSettingValue.StartsWith("$\\"), string.Format("The setting named '{0}' needs to start with $\\, but was '{1}'", PROJECT_SETTING_NAME, projectSettingValue ?? "null" )); Interval = TimeSpan.FromMilliseconds(config.DispatchInterval); }
private void AddNewTask(TaskConfiguration config) { try { TaskMetaDatas.Add(new TaskMetaData { Task = CreateTask(taskNameToTypeMappings[config.TaskName], config), InstanceName = config.Name, LastDispatch = DateTime.MinValue, IsRunning = false }); } catch (Exception e) { WriteErrorToLog(e); } }
private TaskBase CreateTask(Type type, TaskConfiguration configuration) { iocContainer.BindTo<TaskBase>(type); iocContainer.BindToConstant(configuration); return iocContainer.Get<TaskBase>(); }
private void UpdateExistingTaskMetaData(TaskConfiguration config) { try { var taskMetaData = TaskMetaDatas.Single(t => t.InstanceName == config.Name); taskMetaData.Task = CreateTask(taskNameToTypeMappings[config.TaskName], config); } catch (Exception e) { WriteErrorToLog(e); } }
protected override IRepository<ProjectInfoServer> Assemble(TaskConfiguration config) { return repositoryFactoryMock.Assemble(config); }
public MockCiTask(IPersistDomainModels<CIServer> databasePersister, TaskConfiguration config) : base(databasePersister, config) { _config = config; }
public ScriptTask( TaskConfiguration taskConfiguration) : this(DefaultSafeDirectoryPathForScripts, taskConfiguration, new ProcessService()) { Interval = new TimeSpan(0,5,0); }
public MockTFSProjectInfoTask(IAssembleRepositoryForTasks<ProjectInfoServer> repositoryFactoryMock, IPersistDomainModels<ProjectInfoServer> databasePersister, TaskConfiguration config) : base(databasePersister, config) { this.repositoryFactoryMock = repositoryFactoryMock; }
private bool TaskCanBeCreated(TaskConfiguration configuration) { return taskNameToTypeMappings.ContainsKey(configuration.TaskName); }
public MockHarvesterTask(IRepository<Changeset> changesetDbRepository, IPersistDomainModels<Changeset> databasePersister, IRepository<Changeset> changesetRepositoryMock, TaskConfiguration config) : base(changesetDbRepository, databasePersister, config) { this.changesetRepositoryMock = changesetRepositoryMock; }
private bool TaskAlreadyExists(TaskConfiguration config) { return TaskMetaDatas.Select(t => t.InstanceName).Contains(config.Name); }