public void JsonDeserialization_WhenGivenNoThreshold_InitializesToErrorByDefault(NotificationLevel expectedThreshold, string type) { var json = "{ \"Notifiers\": [{ \"$type\": \" " + type + "\" }] }"; var settings = NimatorSettings.FromJson(json); Assert.That(settings.Notifiers, Is.Not.Empty); Assert.That(settings.Notifiers.Single().Threshold, Is.EqualTo(expectedThreshold)); }
public void JsonDeserialization_WhenGivenBasicJson_CanInstantiateSettings() { var json = "{ \"Notifiers\": [] }"; var settings = NimatorSettings.FromJson(json); Assert.That(settings, Is.Not.Null); Assert.That(settings.Notifiers, Is.Empty); }
public void FromJson_ForBasicJsonString_ReturnsBasicSettings() { var json = "{}"; var sut = NimatorSettings.FromJson(json); Assert.That(sut, Is.Not.Null); CollectionAssert.IsEmpty(sut.Notifiers); }
public void Serialization_WhenGivenDefaultExample_CanDoRoundTrip() { var settings = NimatorSettings.GetExample(); var json = settings.ToJson(); var roundTripSettings = NimatorSettings.FromJson(json); var roundTripJson = roundTripSettings.ToJson(); Assert.That(json, Is.EqualTo(roundTripJson)); }
public void JsonDeserialization_WhenGivenNameOfEnum_CanInstantiateSettings() { var json = @"{ ""Notifiers"": [{ ""$type"": ""Nimator.Settings.ConsoleSettings, Nimator"", ""Threshold"": ""Critical"" }] }"; var settings = NimatorSettings.FromJson(json); Assert.That(settings.Notifiers, Is.Not.Empty); Assert.That(settings.Notifiers.Single().Threshold, Is.EqualTo(NotificationLevel.Critical)); }
public void Serialization_WhenGivenCustomExample_CanDoRoundTrip() { var settings = new NimatorSettings { Notifiers = new NotifierSettings[] { new OpsGenieSettings { Threshold = NotificationLevel.Error, ApiKey = "abc-123", HeartbeatName = "heartbeat", TeamName = "A-Team" }, new SlackSettings { Threshold = NotificationLevel.Warning, Url = "http://www.cp.nl/dummy/url", }, new ConsoleSettings { Threshold = NotificationLevel.Warning, } }, Layers = new LayerSettings[] { new LayerSettings { Name = "Layer A", Checks = new ICheckSettings[] { new NoopCheckSettings { DelayResultInMs = 500, LevelToSimulate = NotificationLevel.Error, }, } } }, }; var json = settings.ToJson(); var roundTripSettings = NimatorSettings.FromJson(json); var roundTripJson = roundTripSettings.ToJson(); Assert.That(json, Is.EqualTo(roundTripJson)); }