Пример #1
0
 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;
 }
Пример #2
0
 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));
 }
Пример #3
0
 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));
 }
Пример #4
0
        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));
            }
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
        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));
        }
Пример #7
0
 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;
 }
Пример #8
0
 public static String ToWireValue(this StaytusState state)
 {
     return(StaytusStateConverter.ToString(state));
 }