public ActionResult Index(Subscribe model) { if (ModelState.IsValid) { string connection = ConfigurationManager.AppSettings["InternalAPIURL"]; var appAccessToken = ConfigurationManager.AppSettings["AppKey"]; SubscribeRequest subscribeRequest = new SubscribeRequest(connection, appAccessToken, model.Email); SubscribeResponse subscribeResponse = subscribeRequest.Send(); if (subscribeResponse.StatusCode == System.Net.HttpStatusCode.OK) { TempData["Success"] = "You have been subscribed to our newsletter!"; return(RedirectToAction("Index", "Home")); } else if (subscribeResponse.StatusCode == System.Net.HttpStatusCode.BadRequest) { TempData["Errors"] = "That email address is already subscribed."; return(RedirectToAction("Index", "Home")); } else { TempData["Errors"] = "There was an error processing your request."; return(RedirectToAction("Index", "Home")); } } else { return(View(model)); } }
public void Subscribe() { KeyVaultClient KeyVault; try { var azureServiceTokenProvider = new AzureServiceTokenProvider(); var _token = azureServiceTokenProvider.GetAccessTokenAsync("https://vault.azure.net").Result; KeyVault = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback)); } catch (Exception e) { throw e; } var bundle = KeyVault.GetSecretAsync("https://pr-kv-uks-dev.vault.azure.net/secrets/AppConnectionKey").Result; string appAccessToken = bundle.Value; string email = "*****@*****.**"; SubscribeRequest request = new SubscribeRequest(connection, appAccessToken, email); SubscribeResponse response = request.Send(); Assert.AreEqual(response.StatusCode, System.Net.HttpStatusCode.OK); }