summaryrefslogtreecommitdiffstats
path: root/SendGrid/UnitTest/UnitTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'SendGrid/UnitTest/UnitTest.cs')
-rw-r--r--SendGrid/UnitTest/UnitTest.cs69
1 files changed, 69 insertions, 0 deletions
diff --git a/SendGrid/UnitTest/UnitTest.cs b/SendGrid/UnitTest/UnitTest.cs
new file mode 100644
index 0000000..0b5e2bd
--- /dev/null
+++ b/SendGrid/UnitTest/UnitTest.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Net;
+using System.Net.Http;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Newtonsoft.Json.Linq;
+using SendGrid;
+
+namespace UnitTest
+{
+ [TestClass]
+ public class UnitTest
+ {
+ static string _baseUri = "https://api.sendgrid.com/";
+ static string _apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY", EnvironmentVariableTarget.User);
+ public Client client = new Client(_apiKey, _baseUri);
+ private static string _api_key_id = "";
+
+ [TestMethod]
+ public void ApiKeysIntegrationTest()
+ {
+ TestGet();
+ TestPost();
+ TestPatch();
+ TestDelete();
+ }
+
+ private void TestGet()
+ {
+ HttpResponseMessage response = client.ApiKeys.Get();
+ Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
+ string rawString = response.Content.ReadAsStringAsync().Result;
+ dynamic jsonObject = JObject.Parse(rawString);
+ string jsonString = jsonObject.result.ToString();
+ Assert.IsNotNull(jsonString);
+ }
+
+ private void TestPost()
+ {
+ HttpResponseMessage response = client.ApiKeys.Post("CSharpTestKey");
+ Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
+ string rawString = response.Content.ReadAsStringAsync().Result;
+ dynamic jsonObject = JObject.Parse(rawString);
+ string api_key = jsonObject.api_key.ToString();
+ _api_key_id = jsonObject.api_key_id.ToString();
+ string name = jsonObject.name.ToString();
+ Assert.IsNotNull(api_key);
+ Assert.IsNotNull(_api_key_id);
+ Assert.IsNotNull(name);
+ }
+
+ private void TestPatch()
+ {
+ HttpResponseMessage response = client.ApiKeys.Patch(_api_key_id, "CSharpTestKeyPatched");
+ Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
+ string rawString = response.Content.ReadAsStringAsync().Result;
+ dynamic jsonObject = JObject.Parse(rawString);
+ _api_key_id = jsonObject.api_key_id.ToString();
+ string name = jsonObject.name.ToString();
+ Assert.IsNotNull(_api_key_id);
+ Assert.IsNotNull(name);
+ }
+
+ private void TestDelete()
+ {
+ HttpResponseMessage response = client.ApiKeys.Delete(_api_key_id);
+ Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
+ }
+ }
+}