public void ParseMessage() { string content = @" { ""mode"": ""test"", ""id"": ""5359569e-0cb0-4287-ac6a-356826cce032"", ""eventDate"": ""2014-10-01T13:48:30Z"", ""eventType"": ""subscription_payment_pending_retry"", ""attemptNumber"": ""1"", ""key"": ""secret"", ""links"": [ { ""url"": ""https://api.neteller.com/v1/subscriptions/234234224/invoices/99102"", ""rel"": ""invoice"", ""method"": ""GET"" } ] }"; var webhook = new WebhookHandler(); WebhookMessage message = webhook.GetMessage(content); Assert.That(message.Mode, Is.EqualTo("test")); Assert.That(message.Id, Is.EqualTo("5359569e-0cb0-4287-ac6a-356826cce032")); Assert.That(message.EventDate, Is.EqualTo(DateTime.Parse("2014-10-01T13:48:30", null, DateTimeStyles.AssumeUniversal))); //don't test - dependent on current thread locale timezone //locale Assert.That(message.EventDate, Is.EqualTo(new DateTime(2014, 10, 1, 13+2, 48, 30))); //utc +2 Assert.That(message.EventType, Is.EqualTo(WebhookEventType.SubscriptionPaymentPendingRetry)); Assert.That(message.AttemptNumber, Is.EqualTo(1)); Assert.That(message.Key, Is.EqualTo("secret")); Assert.That(message.Links, Is.Not.Empty); Assert.That(message.Links[0].url, Is.EqualTo("https://api.neteller.com/v1/subscriptions/234234224/invoices/99102")); }
public void ParseMessage() { string content = @" { ""mode"": ""test"", ""id"": ""5359569e-0cb0-4287-ac6a-356826cce032"", ""eventDate"": ""2014-10-01T13:48:30Z"", ""eventType"": ""subscription_payment_pending_retry"", ""attemptNumber"": ""1"", ""key"": ""secret"", ""links"": [ { ""url"": ""https://api.neteller.com/v1/subscriptions/234234224/invoices/99102"", ""rel"": ""invoice"", ""method"": ""GET"" } ] }" ; var webhook = new WebhookHandler(); WebhookMessage message = webhook.GetMessage(content); Assert.That(message.Mode, Is.EqualTo("test")); Assert.That(message.Id, Is.EqualTo("5359569e-0cb0-4287-ac6a-356826cce032")); Assert.That(message.EventDate, Is.EqualTo(DateTime.Parse("2014-10-01T13:48:30", null, DateTimeStyles.AssumeUniversal))); //don't test - dependent on current thread locale timezone //locale Assert.That(message.EventDate, Is.EqualTo(new DateTime(2014, 10, 1, 13+2, 48, 30))); //utc +2 Assert.That(message.EventType, Is.EqualTo(WebhookEventType.SubscriptionPaymentPendingRetry)); Assert.That(message.AttemptNumber, Is.EqualTo(1)); Assert.That(message.Key, Is.EqualTo("secret")); Assert.That(message.Links, Is.Not.Empty); Assert.That(message.Links[0].url, Is.EqualTo("https://api.neteller.com/v1/subscriptions/234234224/invoices/99102")); }