public void ManageCronJobs() { this.LogDebug("Getting initial job list..."); _searchCmd.Execute(); var initialJobs = _searchCmd.Response.Rows ?? new JobSearchEntry[0]; this.LogDebug("Getting default job settings..."); _getCmd.ParameterSet.JobId = null; _getCmd.Execute(); var defaults = _getCmd.Response; this.LogDebug("Creating new job..."); _addCmd.ParameterSet.FillFrom(defaults); _addCmd.ParameterSet.Command = defaults.Commands.First(x => x.Key.Contains("changelog", StringComparison.OrdinalIgnoreCase)).Key; _addCmd.ParameterSet.Description = "Update changelog at midnight.."; _addCmd.ParameterSet.Enabled = true; _addCmd.Execute(); Assert.Equal("saved", _addCmd.Response.Result); var jobId = _addCmd.Response.Uuid; this.LogDebug("Getting new job list..."); _searchCmd.Execute(); var newJobs = _searchCmd.Response.Rows ?? new JobSearchEntry[0]; Assert.True(newJobs.Length > initialJobs.Length); this.LogDebug("Toggling job..."); _toggleCmd.ParameterSet.JobId = jobId; _toggleCmd.ParameterSet.Enabled = null; _toggleCmd.Execute(); Assert.Equal("disabled", _toggleCmd.Response.Result, ignoreCase: true); _toggleCmd.Execute(); Assert.Equal("enabled", _toggleCmd.Response.Result, ignoreCase: true); _toggleCmd.ParameterSet.Enabled = true; _toggleCmd.Execute(); Assert.Equal("enabled", _toggleCmd.Response.Result, ignoreCase: true); _toggleCmd.Execute(); Assert.Equal("enabled", _toggleCmd.Response.Result, ignoreCase: true); _toggleCmd.ParameterSet.Enabled = false; _toggleCmd.Execute(); Assert.Equal("disabled", _toggleCmd.Response.Result, ignoreCase: true); _toggleCmd.Execute(); Assert.Equal("disabled", _toggleCmd.Response.Result, ignoreCase: true); this.LogDebug("Getting job details..."); _getCmd.ParameterSet.JobId = jobId; _getCmd.Execute(); var details = _getCmd.Response; this.LogDebug("Updating job..."); _updateCmd.ParameterSet.JobId = jobId; _updateCmd.ParameterSet.FillFrom(details); _updateCmd.ParameterSet.Enabled = true; _updateCmd.ParameterSet.Description = "Update changelog at midnight."; _updateCmd.Execute(); Assert.Equal("saved", _updateCmd.Response.Result); this.LogDebug("Deleting job..."); _deleteCmd.ParameterSet.JobId = jobId; _deleteCmd.Execute(); Assert.Equal("deleted", _deleteCmd.Response.Result); this.LogDebug("Getting list of jobs one last time..."); _searchCmd.Execute(); newJobs = _searchCmd.Response.Rows ?? new JobSearchEntry[0]; Assert.Equal(initialJobs.Length, newJobs.Length); }