public void WhenLevelMappingIsSpecifiedPriorityIsComputed(LogEventLevel level, Priority expectedPriority)
        {
            using var app = new OpsgenieApp
                  {
                      ApiClient        = new TestOpsgenieApiClient(),
                      DefaultPriority  = Priority.P2.ToString(),
                      PriorityProperty = "@Level",
                      EventPriority    = "Warning=P3,Debug=P1"
                  };

            app.Attach(TestAppHost.Instance);

            var evt      = Some.LogEvent(level: level);
            var priority = app.ComputePriority(evt);

            Assert.Equal(expectedPriority, priority);
        }
        public void WhenMappedPropertyIsMissingPriorityIsDefault()
        {
            using var app = new OpsgenieApp
                  {
                      ApiClient        = new TestOpsgenieApiClient(),
                      DefaultPriority  = Priority.P2.ToString(),
                      PriorityProperty = "Test",
                      EventPriority    = "B=P3,A=P1"
                  };

            app.Attach(TestAppHost.Instance);

            var evt      = Some.LogEvent();
            var priority = app.ComputePriority(evt);

            Assert.Equal(Priority.P2, priority);
        }
        public void WhenValueMappingIsSpecifiedPriorityIsComputed(object value, Priority expectedPriority)
        {
            using var app = new OpsgenieApp
                  {
                      ApiClient        = new TestOpsgenieApiClient(),
                      DefaultPriority  = Priority.P2.ToString(),
                      PriorityProperty = "Test",
                      EventPriority    = "B=P3,A=P1"
                  };

            app.Attach(TestAppHost.Instance);

            var evt = Some.LogEvent(include: new Dictionary <string, object> {
                ["Test"] = value
            });
            var priority = app.ComputePriority(evt);

            Assert.Equal(expectedPriority, priority);
        }