public void EventMessageIsTruncated() { string message = new string('a', 4001); var serviceCheckBytes = DogStatsDSerializer.SerializeEvent(AlertType.Info, "", message, EventPriority.Normal, Array.Empty <byte>(), null, Array.Empty <byte>(), null); string serviceCheckStr = Encoding.UTF8.GetString(serviceCheckBytes.Array !, serviceCheckBytes.Offset, serviceCheckBytes.Count); Assert.AreEqual($"_e{{000,4000}}:|{message.Substring(0, 4000)}", serviceCheckStr); }
public void EventAggregationKeyIsTruncated() { string aggregationKey = new string('a', 101); var serviceCheckBytes = DogStatsDSerializer.SerializeEvent(AlertType.Info, "", "", EventPriority.Normal, Array.Empty <byte>(), aggregationKey, Array.Empty <byte>(), null); string serviceCheckStr = Encoding.UTF8.GetString(serviceCheckBytes.Array !, serviceCheckBytes.Offset, serviceCheckBytes.Count); Assert.AreEqual($"_e{{000,0000}}:||k:{aggregationKey.Substring(0, 100)}", serviceCheckStr); }
public void EventTitleIsTruncated() { string title = new string('a', 101); var serviceCheckBytes = DogStatsDSerializer.SerializeEvent(AlertType.Info, title, "", EventPriority.Normal, Array.Empty <byte>(), null, Array.Empty <byte>(), null); string serviceCheckStr = Encoding.UTF8.GetString(serviceCheckBytes.Array !, serviceCheckBytes.Offset, serviceCheckBytes.Count); Assert.AreEqual($"_e{{100,0000}}:{title.Substring(0, 100)}|", serviceCheckStr); }
public void SerializeEvent(AlertType alertType, string title, string message, EventPriority priority, string?source, string?aggregationKey, string?constantTags, string?extraTags, string expected) { byte[] sourceBytes = source != null?Encoding.ASCII.GetBytes(source) : Array.Empty <byte>(); byte[] constantTagsBytes = DogStatsDSerializer.ValidateAndSerializeTags(TestHelper.ParseTags(constantTags)); var eventBytes = DogStatsDSerializer.SerializeEvent(alertType, title, message, priority, sourceBytes, aggregationKey, constantTagsBytes, TestHelper.ParseTags(extraTags)); string eventStr = Encoding.UTF8.GetString(eventBytes.Array !, eventBytes.Offset, eventBytes.Count); Assert.AreEqual(expected, eventStr); ArrayPool <byte> .Shared.Return(eventBytes.Array !); }