public void Maps_informational_as_info()
        {
            var entry = CreateTestEntry(EventLevel.Informational);
            var sut = new EventEntryJsonPacketFactory();
            var packet = sut.Create("prjid", entry, null);

            Assert.Equal(ErrorLevel.Info, packet.Level);
        }
        public void Maps_error_as_error()
        {
            var entry = CreateTestEntry(EventLevel.Error);
            var sut = new EventEntryJsonPacketFactory();
            var packet = sut.Create("prjid", entry, null);

            Assert.Equal(ErrorLevel.Error, packet.Level);
        }
        public void Maps_critical_as_fatal()
        {
            var entry = CreateTestEntry(EventLevel.Critical);
            var sut = new EventEntryJsonPacketFactory();
            var packet = sut.Create("prjid", entry, null);

            Assert.Equal(ErrorLevel.Fatal, packet.Level);
        }
        public void Maps_always_as_debug()
        {
            var entry = CreateTestEntry(EventLevel.LogAlways);
            var sut = new EventEntryJsonPacketFactory();
            var packet = sut.Create("prjid", entry, null);

            Assert.Equal(ErrorLevel.Debug, packet.Level);
        }
        public void Maps_basic_properties()
        {
            var entry = CreateTestEntry(EventLevel.Informational);
            var sut = new EventEntryJsonPacketFactory();

            var packet = sut.Create("prjid", entry, null);

            Assert.Equal("prjid", packet.Project);
            Assert.Null(packet.Exceptions);
            Assert.Equal(entry.FormattedMessage, packet.Message);
            Assert.Equal(entry.Timestamp.UtcDateTime, packet.TimeStamp);
        }
        public void Maps_extras_from_payload()
        {
            var entry = CreateTestEntry(EventLevel.Informational);
            var sut = new EventEntryJsonPacketFactory();

            var packet = sut.Create("prjid", entry, null);

            Assert.Equal(new Dictionary<string, object>
            {
                {"Field1", "value1"},
                {"Field2", 2},
                {"Field3", "value3"}
            }, packet.Extra);
        }
        public void Maps_tags_from_properties()
        {
            var entry = CreateTestEntry(EventLevel.Informational);
            var sut = new EventEntryJsonPacketFactory();

            var packet = sut.Create("prjid", entry, null);

            Assert.Equal(new Dictionary<string, string>
            {
                {"EventKeywords", entry.Schema.KeywordsDescription},
                {"EventOpcode", entry.Schema.OpcodeName},
                {"EventTask", entry.Schema.TaskName},
                {"EventName", entry.Schema.EventName},
                {"EventVersion", entry.Schema.Version.ToString(CultureInfo.InvariantCulture)}
            }, packet.Tags);
        }