Exemple #1
0
        /// <summary>
        /// Constructs an actual <see cref="IOpsGenieApiClient"/>.
        /// </summary>
        /// <param name="httpHandler">The <see cref="IHttpRequestHandler"/> to use</param>
        /// <param name="settings">The <see href="https://www.opsgenie.com/">opsgenie</see> API settings</param>
        public OpsGenieApiClient(
            IHttpRequestHandler httpHandler,
            OpsGenieSettings settings)
        {
            if (httpHandler == null)
            {
                throw new ArgumentNullException(nameof(httpHandler));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (string.IsNullOrWhiteSpace(settings.ApiKey))
            {
                throw new ArgumentException("settings.ApiKey was not set", nameof(settings.ApiKey));
            }
            if (string.IsNullOrWhiteSpace(settings.HeartbeatName))
            {
                throw new ArgumentException("settings.HeartbeatName was not set", nameof(settings.HeartbeatName));
            }

            this.httpHandler = httpHandler;

            headerApiKeyValue = $"GenieKey {settings.ApiKey}";

            var encodedHeartbeatName = HttpUtility.UrlEncode(settings.HeartbeatName);

            heartbeatUrl = $"https://api.opsgenie.com/v2/heartbeats/{encodedHeartbeatName}/ping";
        }
        public override void SetUp()
        {
            base.SetUp();

            fakeSettings = new OpsGenieSettings
            {
                Threshold     = NotificationLevel.Error,
                HeartbeatName = "dummy-heartbeat",
                TeamName      = "dummy-team",
                ApiKey        = "dummy-api-key",
            };
        }
        private OpsGenieSettings NewOpsGenieSettingsWith(Action <OpsGenieSettings> modify)
        {
            var settings = new OpsGenieSettings
            {
                ApiKey        = "dummy-api-key",
                HeartbeatName = "dummy-hearbeat",
                TeamName      = "dummy-teamname",
            };

            modify(settings);
            return(settings);
        }
        public void Setup()
        {
            settings = new OpsGenieSettings
            {
                Threshold     = NotificationLevel.Error,
                HeartbeatName = "dummy-heartbeat",
                TeamName      = "dummy-team",
                ApiKey        = "dummy-api-key",
            };

            sut = new OpsGenieAlertConverter(settings);
        }
Exemple #5
0
        /// <summary>
        /// Constructs a settings based <see cref="IOpsGenieAlertConverter"/>.
        /// </summary>
        /// <param name="settings">Settings for the alert</param>
        public OpsGenieAlertConverter(OpsGenieSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (string.IsNullOrWhiteSpace(settings.TeamName))
            {
                throw new ArgumentException("settings.TeamName was not set", nameof(settings.TeamName));
            }

            this.settings = settings;
        }
        public void Setup()
        {
            httpHandler = new Mock <IHttpRequestHandler>();

            settings = new OpsGenieSettings
            {
                Threshold     = NotificationLevel.Error,
                HeartbeatName = "dummy-heartbeat",
                TeamName      = "dummy-team",
                ApiKey        = "dummy-api-key",
            };

            sut = new OpsGenieApiClient(httpHandler.Object, settings);
        }
        public void Setup()
        {
            client    = new Mock <IOpsGenieApiClient>();
            converter = new Mock <IOpsGenieAlertConverter>();
            settings  = new OpsGenieSettings
            {
                Threshold     = NotificationLevel.Error,
                HeartbeatName = "dummy-heartbeat",
                TeamName      = "dummy-team",
                ApiKey        = "dummy-api-key",
            };

            sut = new OpsGenieNotifier(client.Object, converter.Object, settings);
        }
        public OpsGenieNotifier(OpsGenieSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (string.IsNullOrWhiteSpace(settings.ApiKey))
            {
                throw new ArgumentException("settings.ApiKey was not set", nameof(settings));
            }
            if (string.IsNullOrWhiteSpace(settings.HeartbeatName))
            {
                throw new ArgumentException("settings.HeartbeatName was not set", nameof(settings));
            }
            if (string.IsNullOrWhiteSpace(settings.TeamName))
            {
                throw new ArgumentException("settings.TeamName was not set", nameof(settings));
            }

            this.settings = settings;
        }
        /// <summary>
        /// Construct an <see cref="INotifier"/> for <see href="https://www.opsgenie.com/">opsgenie</see>.
        /// </summary>
        /// <param name="client">Api client</param>
        /// <param name="converter">From <see cref="INimatorResult"/> to <see cref="OpsGenieAlertRequest"/></param>
        /// <param name="settings">For threshold configuration</param>
        public OpsGenieNotifier(
            IOpsGenieApiClient client,
            IOpsGenieAlertConverter converter,
            OpsGenieSettings settings)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }
            if (converter == null)
            {
                throw new ArgumentNullException(nameof(converter));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            this.client    = client;
            this.converter = converter;
            this.settings  = settings;
        }