public async void TestRunWithUnDeSerializableMessage()
        {
            string data   = "This message is not deserializable...";
            var    result = await TeamsNotification.RunFromDataString(data, null);

            Assert.NotEqual(typeof(OkObjectResult), result.GetType());
        }
        public async void TestRunWithSNoMessage()
        {
            string data   = "";
            var    result = await TeamsNotification.RunFromDataString(data, null);

            Assert.NotEqual(typeof(OkObjectResult), result.GetType());
        }
        public async void TestRunWithNoTrigram()
        {
            string data = BasicMessage;

            data.Replace(@"""trigram"": ""EFG""", @"""trigram"": ""EFGBARTRIGRAM""");
            var result = await TeamsNotification.RunFromDataString(data, null);

            Assert.NotEqual(typeof(OkObjectResult), result.GetType());
        }
        public async void TestRunWithSBasicMessage()
        {
            //TODO: Answer from real Teams URL should be mocked.

            string data   = BasicMessage;
            var    result = await TeamsNotification.RunFromDataString(data, null);

            Assert.Equal(typeof(OkObjectResult), result.GetType());
        }
        public async void TestRunWithNoMatchingWebHook()
        {
            string data = BasicMessage;

            data.Replace(@"""WebhookURL"": """"", @"""WebhookURL"": ""Bad Webhook URL""");
            var result = await TeamsNotification.RunFromDataString(data, null);

            Assert.NotEqual(typeof(OkObjectResult), result.GetType());
        }
        public async void TestRunWithWebHookNotResponding()
        {
            const string DefaultWebhookUrlEnvironmenent = "WebhookURL";

            Environment.SetEnvironmentVariable(DefaultWebhookUrlEnvironmenent, "http://www.caf.fr");

            string data = BasicMessage;

            data.Replace(@"""WebhookURL"": """"", @"""WebhookURL"": ""http://www.caf.fr""");
            var result = await TeamsNotification.RunFromDataString(data, null);

            Assert.NotEqual(typeof(OkObjectResult), result.GetType());
        }
        public async void TestRunWithNoWebHookInEnvVariable()
        {
            const string DefaultWebhookUrlEnvironmenent = "WebhookURL";

            // Saving current environment variable and setting its value to null (deletes it)
            string WebhookURL = Environment.GetEnvironmentVariable(DefaultWebhookUrlEnvironmenent);

            Environment.SetEnvironmentVariable(DefaultWebhookUrlEnvironmenent, null);

            string data   = BasicMessage;
            var    result = await TeamsNotification.RunFromDataString(data, null);

            // Restoring environment variable so that the next tests can be run
            Environment.SetEnvironmentVariable(DefaultWebhookUrlEnvironmenent, WebhookURL);

            Assert.NotEqual(typeof(OkObjectResult), result.GetType());
        }