Пример #1
0
        public async Task ClientCanCreateConfiguration()
        {
            var url           = "http://www.test.com/webhook";
            var messageStream = "outbound";
            var httpAuth      = new HttpAuth {
                Username = "******", Password = "******"
            };
            var httpHeaders = new List <HttpHeader> {
                new HttpHeader {
                    Name = "testName", Value = "testValue"
                }
            };
            var triggers = new WebhookConfigurationTriggers
            {
                Bounce = new WebhookConfigurationBounceTrigger {
                    Enabled = true, IncludeContent = true
                },
                Click = new WebhookConfigurationClickTrigger {
                    Enabled = true
                },
                Open = new WebhookConfigurationOpenTrigger {
                    Enabled = true, PostFirstOpenOnly = true
                },
                Delivery = new WebhookConfigurationDeliveryTrigger {
                    Enabled = true
                },
                SpamComplaint = new WebhookConfigurationSpamComplaintTrigger {
                    Enabled = true, IncludeContent = true
                }
            };
            var newConfiguration = await _client.CreateWebhookConfigurationAsync(url, messageStream, httpAuth, httpHeaders, triggers);

            Assert.NotNull(newConfiguration.ID);
            Assert.Equal(url, newConfiguration.Url);
            Assert.Equal(messageStream, newConfiguration.MessageStream);
            Assert.Equal(httpAuth.Username, newConfiguration.HttpAuth.Username);
            Assert.Equal(httpAuth.Password, newConfiguration.HttpAuth.Password);
            Assert.Equal(httpHeaders.First().Name, newConfiguration.HttpHeaders.First().Name);
            Assert.Equal(httpHeaders.First().Value, newConfiguration.HttpHeaders.First().Value);
            Assert.Equal(triggers.Bounce.Enabled, newConfiguration.Triggers.Bounce.Enabled);
            Assert.Equal(triggers.Bounce.IncludeContent, newConfiguration.Triggers.Bounce.IncludeContent);
            Assert.Equal(triggers.Open.Enabled, newConfiguration.Triggers.Open.Enabled);
            Assert.Equal(triggers.Open.PostFirstOpenOnly, newConfiguration.Triggers.Open.PostFirstOpenOnly);
            Assert.Equal(triggers.Click.Enabled, newConfiguration.Triggers.Click.Enabled);
            Assert.Equal(triggers.Delivery.Enabled, newConfiguration.Triggers.Delivery.Enabled);
            Assert.Equal(triggers.SpamComplaint.Enabled, newConfiguration.Triggers.SpamComplaint.Enabled);
            Assert.Equal(triggers.SpamComplaint.IncludeContent, newConfiguration.Triggers.SpamComplaint.IncludeContent);
        }
Пример #2
0
        public async Task ClientCanEditConfiguration()
        {
            var url           = "http://www.test.com/webhook";
            var messageStream = "outbound";
            var httpAuth      = new HttpAuth {
                Username = "******", Password = "******"
            };
            var httpHeaders = new List <HttpHeader> {
                new HttpHeader {
                    Name = "testName", Value = "testValue"
                }
            };
            var triggers = new WebhookConfigurationTriggers
            {
                Bounce = new WebhookConfigurationBounceTrigger {
                    Enabled = true, IncludeContent = true
                },
                Click = new WebhookConfigurationClickTrigger {
                    Enabled = true
                },
            };
            var oldConfig = await _client.CreateWebhookConfigurationAsync(url, messageStream, httpAuth, httpHeaders, triggers);

            var newUrl      = "http://www.test.com/new-webhook";
            var newHttpAuth = new HttpAuth {
                Username = "******", Password = "******"
            };
            var newHeaders     = new List <HttpHeader>();
            var triggersUpdate = new WebhookConfigurationTriggers
            {
                Click = new WebhookConfigurationClickTrigger {
                    Enabled = false
                }
            };
            var updatedConfig = await _client.EditWebhookConfigurationAsync(oldConfig.ID.Value, newUrl, newHttpAuth,
                                                                            newHeaders, triggersUpdate);

            Assert.Equal(oldConfig.ID, updatedConfig.ID);
            Assert.Equal(oldConfig.MessageStream, updatedConfig.MessageStream);
            Assert.Equal(newHttpAuth.Username, updatedConfig.HttpAuth.Username);
            Assert.Equal(newHttpAuth.Password, updatedConfig.HttpAuth.Password);
            Assert.Equal(newUrl, updatedConfig.Url);
            Assert.Equal(newHeaders, updatedConfig.HttpHeaders);
            Assert.Equal(triggersUpdate.Click.Enabled, updatedConfig.Triggers.Click.Enabled);
            Assert.Equal(triggers.Bounce.Enabled, updatedConfig.Triggers.Bounce.Enabled);
        }