public UpdateIssueModel(Int32 id, String text, StaytusState serviceState, String statusPermalink = null, Nullable <Boolean> notify = null) { this.Id = id; this.Text = text; this.ServiceState = serviceState; this.StatusPermalink = statusPermalink; this.Notify = notify; }
public Task <StaytusResponseModel <BaseIssueModel> > CreateIssueAsync(String title, List <String> servicePermalinks, String statusPermalink, // documentation says its not required, but it is StaytusState serviceState, String initialUpdate = null, Nullable <Boolean> notify = null, CancellationToken cancelToken = default(CancellationToken)) { return(InternalPostAsync <Object, BaseIssueModel>(GetServiceMethodPath(ISSUES_SERVICE, "create"), new CreateIssueModel(title, servicePermalinks, statusPermalink, serviceState, initialUpdate, notify), cancelToken: cancelToken)); }
public Task <StaytusResponseModel <BaseIssueModel> > UpdateIssueAsync(Int32 id, // documentation says not required, but it is String text, // same for this parameter, in fact if this is NOT passed, tons of 500 exceptions will be thrown // when attempting to query the issue StaytusState serviceState, String statusPermalink = null, Nullable <Boolean> notify = null, CancellationToken cancelToken = default(CancellationToken)) { return(InternalPostAsync <Object, BaseIssueModel>(GetServiceMethodPath(ISSUES_SERVICE, "update"), new UpdateIssueModel(id, text, serviceState, statusPermalink, notify), cancelToken: cancelToken)); }
public async Task CreateIssue(String title, StaytusState serviceState, Boolean assertInitialStatus, String initialText) { var servicePermalinks = Configuration.GetSection("staytusApi:tests:issues:servicePermalinks").Get <List <String> >(); Assert.That(servicePermalinks, Is.Not.Null); Assert.That(servicePermalinks, Has.Count.Positive); var statusPermalink = Configuration.GetValue <String>("staytusApi:tests:issues:statusPermalink", null); Assert.That(statusPermalink, Is.Not.Null); if (assertInitialStatus) { var initialServices = await ApiClient.ListServicesAsync(); var initialAffectedServices = initialServices.Data.Where(x => servicePermalinks.Contains(x.Permalink)).ToList(); foreach (var affectedService in initialAffectedServices) { // so we can see the change after creating issue Assert.That(affectedService.Status.Permalink, Is.Not.EqualTo(statusPermalink)); } } var newIssue = await ApiClient.CreateIssueAsync(title, servicePermalinks, statusPermalink, serviceState, initialText); Assert.That(newIssue.Status, Is.EqualTo(SystemMessages.SUCCESS)); Assert.That(newIssue.Data, Is.Not.Null); Assert.That(newIssue.Data.Title, Is.EqualTo(title)); var finalServices = await ApiClient.ListServicesAsync(); var finalAffectedServices = finalServices.Data.Where(x => servicePermalinks.Contains(x.Permalink)).ToList(); foreach (var affectedService in finalAffectedServices) { // we've modified services with issue Assert.That(affectedService.Status.Permalink, Is.EqualTo(statusPermalink)); } var fullIssue = await ApiClient.GetIssueAsync(newIssue.Data.Id); Assert.That(fullIssue.Status, Is.EqualTo(SystemMessages.SUCCESS)); Assert.That(fullIssue.Data, Is.Not.Null); Assert.That(fullIssue.Data.Updates, Has.Count.EqualTo(1)); if (initialText != null) { Assert.That(fullIssue.Data.Updates.FirstOrDefault().Text, Is.EqualTo(initialText)); } }
public static String ToString(StaytusState state) { switch (state) { case StaytusState.Investigating: return(INVESTIGATE_STATE); case StaytusState.Identified: return(IDENTIFIED_STATE); case StaytusState.Monitoring: return(MONITOR_STATE); case StaytusState.Resolved: return(RESOLVED_STATE); default: return(UNKNOWN_STATE); } }
public async Task UpdateIssueBareParams(String findIssueByTitle, StaytusState serviceState) { var issues = await ApiClient.ListIssuesAsync(); Assert.That(issues.Status, Is.EqualTo(SystemMessages.SUCCESS)); Assert.That(issues.Data, Is.Not.Null); var foundIssue = issues.Data.SingleOrDefault(x => String.Equals(x.Title, findIssueByTitle)); Assert.That(foundIssue, Is.Not.Null); var updateIssue = await ApiClient.UpdateIssueAsync(foundIssue.Id, "Testy test test. " + NextString(10), serviceState); Assert.That(updateIssue.Status, Is.EqualTo(SystemMessages.SUCCESS)); Assert.That(updateIssue.Data, Is.Not.Null); var modifiedIssue = await ApiClient.GetIssueAsync(foundIssue.Id); Assert.That(modifiedIssue.Status, Is.EqualTo(SystemMessages.SUCCESS)); Assert.That(modifiedIssue.Data, Is.Not.Null); Assert.That(modifiedIssue.Data.Updates, Has.Count.EqualTo(2)); }
public CreateIssueModel(String title, List <String> servicePermalinks, String statusPermalink, StaytusState serviceState, String initialUpdate = null, Nullable <Boolean> notify = null) { this.Title = title; this.ServicePermalinks = new List <String>(servicePermalinks); this.StatusPermalink = statusPermalink; this.ServiceState = serviceState; this.InitialUpdate = initialUpdate; this.Notify = notify; }
public static String ToWireValue(this StaytusState state) { return(StaytusStateConverter.ToString(state)); }