public void ValidMessage_ProducesValidJson() { var name = "foo"; var value = 1923; var instance = "i-349da92"; var collectedAt = new DateTime(2012, 1, 2); var collectedAtEpochSeconds = (long)collectedAt.Subtract(CustomMetricsMessage.EpochTime).TotalSeconds; var dp = new DataPoint(name, value, collectedAt, instance); var now = DateTime.UtcNow; var msg = new CustomMetricsMessage(dp); var json = msg.ToJson(); Assert.NotNull(json); var deserialized = (JObject)JsonConvert.DeserializeObject(json); Assert.Equal(CustomMetricsMessage.ProtocolVersion, deserialized["proto_version"].Value <int>()); Assert.True(deserialized["timestamp"].Value <long>() >= CustomMetricsMessage.EpochTime.Subtract(now).TotalSeconds); var pointsArray = deserialized["data"].Value <JArray>(); Assert.NotNull(pointsArray); Assert.Equal(1, pointsArray.Count); var data0 = (JObject)pointsArray[0]; Assert.Equal(name, data0["name"].Value <string>()); Assert.Equal(value, data0["value"].Value <int>()); Assert.Equal(instance, data0["instance"].Value <string>()); Assert.Equal(collectedAtEpochSeconds, data0["collected_at"].Value <long>()); }
public void ValidMessage_ProducesValidJson() { var name = "foo"; var value = 1923; var instance = "i-349da92"; var collectedAt = new DateTime(2012, 1, 2); var collectedAtEpochSeconds = (long) collectedAt.Subtract(CustomMetricsMessage.EpochTime).TotalSeconds; var dp = new DataPoint(name, value, collectedAt, instance); var now = DateTime.UtcNow; var msg = new CustomMetricsMessage(dp); var json = msg.ToJson(); Assert.NotNull(json); var deserialized = (JObject)JsonConvert.DeserializeObject(json); Assert.Equal(CustomMetricsMessage.ProtocolVersion, deserialized["proto_version"].Value<int>()); Assert.True(deserialized["timestamp"].Value<long>() >= CustomMetricsMessage.EpochTime.Subtract(now).TotalSeconds); var pointsArray = deserialized["data"].Value<JArray>(); Assert.NotNull(pointsArray); Assert.Equal(1, pointsArray.Count); var data0 = (JObject)pointsArray[0]; Assert.Equal(name, data0["name"].Value<string>()); Assert.Equal(value, data0["value"].Value<int>()); Assert.Equal(instance, data0["instance"].Value<string>()); Assert.Equal(collectedAtEpochSeconds, data0["collected_at"].Value<long>()); }