public void SenderDomainCRU() { BrickStreetConnect brickst = makeClient(); HttpStatusCode status; String statusMessage; SenderDomain s1 = new SenderDomain(); s1.Name = "example.com"; s1.SigningAlg = 0; s1.DefaultDomain = false; SenderDomain s2 = brickst.AddSenderDomain(s1, out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(s2); Assert.IsTrue(s2.Id.HasValue); Assert.AreEqual(s2.Name, s1.Name); Assert.AreEqual(s2.SigningAlg, s1.SigningAlg); Assert.AreEqual(s2.DefaultDomain, s1.DefaultDomain); s2.Name = "example2.com"; SenderDomain s3 = brickst.UpdateSenderDomain(s2, out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(s3); Assert.IsTrue(s3.Id.HasValue); Assert.AreEqual(s3.Id.Value, s2.Id.Value); Assert.AreEqual(s3.Name, s2.Name); Assert.AreEqual(s3.SigningAlg, s2.SigningAlg); Assert.AreEqual(s3.DefaultDomain, s2.DefaultDomain); }
/// <summary> /// The list senders. /// </summary> /// <param name="request">The request.</param> /// <returns> /// a <see cref="SenderDomain" /> /// </returns> public async Task <SenderDomain> CheckSenderDomain(SenderCheckDomainRequest request) { string path = "senders/check-domain.json"; SenderDomain response = await Post <SenderDomain>(path, request).ConfigureAwait(false); return(response); }
public async Task Should_Return_Sender_Domain() { // Setup string apiKey = ConfigurationManager.AppSettings["APIKey"]; // Exercise var api = new MandrillApi(apiKey); // Verify SenderDomain domain = await api.CheckSenderDomain(new SenderCheckDomainRequest("example.com")); Assert.IsNotNull(domain); }
public void SenderDomainsGetAll() { BrickStreetConnect brickst = makeClient(); HttpStatusCode status; String statusMessage; List <SenderDomain> domains = brickst.GetSenderDomains(out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(domains); foreach (SenderDomain d in domains) { long id = d.Id.Value; SenderDomain fetched = brickst.GetSenderDomain(id, out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); } }
public SenderDomain AddSenderDomain(SenderDomain newDomain, out HttpStatusCode status, out string statusMessage) { RestClient restClient = createClient(); RestRequest restRequest = new RestRequest { Resource = "data/senderDomain", RequestFormat = DataFormat.Json, Method = Method.POST }; // we handle our own serialization instead of calling AddBody JsonSerializerSettings serSettings = new JsonSerializerSettings(); serSettings.DefaultValueHandling = DefaultValueHandling.Ignore; serSettings.NullValueHandling = NullValueHandling.Ignore; string serialized = JsonConvert.SerializeObject(newDomain, serSettings); restRequest.AddParameter("application/json", serialized, ParameterType.RequestBody); IRestResponse restResponse = restClient.Execute(restRequest); status = restResponse.StatusCode; if (status != HttpStatusCode.OK) { statusMessage = restResponse.Content; return(null); } else { statusMessage = null; } serialized = restResponse.Content; SenderDomain obj = JsonConvert.DeserializeObject <SenderDomain>(serialized); return(obj); }
public SenderDomain GetSenderDomain(long id, out HttpStatusCode status, out string statusMessage) { string uri = "data/senderDomain/id/{id}"; string paramName = "id"; string paramVal = id.ToString(); RestClient restClient = createClient(); RestRequest restRequest = new RestRequest { Resource = uri, RequestFormat = DataFormat.Json, Method = Method.GET }; restRequest.AddParameter(paramName, paramVal, ParameterType.UrlSegment); // // NOTE: The JSON deserializer built into the RestSharp // package does not work well with our classes, so we use Newtonsoft instead. // IRestResponse restResponse = restClient.Execute(restRequest); status = restResponse.StatusCode; if (status != HttpStatusCode.OK) { statusMessage = restResponse.Content; return(null); } else { statusMessage = null; } string content = restResponse.Content; SenderDomain obj = JsonConvert.DeserializeObject <SenderDomain>(content); return(obj); }
public void ConversationAddGetSenders() { BrickStreetConnect brickStreetConnect = makeClient(); HttpStatusCode status; string statusMessage; // get sender name and domain Sender defSender = null; SenderDomain defDomain = null; // // get default sender // List <Sender> senders = brickStreetConnect.GetSenders(out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(senders); foreach (Sender s in senders) { Sender fetched = brickStreetConnect.GetSender(s.Id.Value, out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(fetched); Assert.IsTrue(fetched.DefaultSender.HasValue); if (fetched.DefaultSender.Value) { defSender = fetched; break; } } Assert.IsNotNull(defSender); // // get default sender domain // List <SenderDomain> domains = brickStreetConnect.GetSenderDomains(out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(domains); foreach (SenderDomain d in domains) { SenderDomain fetched = brickStreetConnect.GetSenderDomain(d.Id.Value, out status, out statusMessage); Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(fetched); Assert.IsTrue(fetched.DefaultDomain.HasValue); if (fetched.DefaultDomain.Value) { defDomain = fetched; break; } } Assert.IsNotNull(defDomain); string cname = "TEST" + DateTime.Now.Ticks.ToString(); Conversation conv = new Conversation { Name = cname, DepartmentID = ConnectDepartmentID, SenderID = defSender.Id.Value, SenderDomain = defDomain.Id.Value }; Conversation dbConv = brickStreetConnect.AddConversation(conv, out status, out statusMessage); if (status != HttpStatusCode.OK) { Console.WriteLine("ERROR: STATUS:" + status.ToString() + " " + statusMessage); } Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(dbConv); Assert.IsNotNull(dbConv.Id); Assert.AreEqual(cname, dbConv.Name); Assert.AreEqual(dbConv.SenderID.Value, defSender.Id.Value); Assert.AreEqual(dbConv.SenderDomain.Value, defDomain.Id.Value); // // test get methods // conv = brickStreetConnect.GetConversation((long)dbConv.Id, out status, out statusMessage); if (status != HttpStatusCode.OK) { Console.WriteLine("ERROR: STATUS:" + status.ToString() + " " + statusMessage); } Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(conv); Assert.IsNotNull(conv.Id); Assert.AreEqual(dbConv.Name, conv.Name); Assert.AreEqual(dbConv.SenderID.Value, defSender.Id.Value); Assert.AreEqual(dbConv.SenderDomain.Value, defDomain.Id.Value); conv = brickStreetConnect.GetConversationByName(cname, out status, out statusMessage); if (status != HttpStatusCode.OK) { Console.WriteLine("ERROR: STATUS:" + status.ToString() + " " + statusMessage); } Assert.AreEqual(HttpStatusCode.OK, status); Assert.IsNotNull(conv); Assert.IsNotNull(conv.Id); Assert.AreEqual(dbConv.Name, conv.Name); Assert.AreEqual(dbConv.SenderID.Value, defSender.Id.Value); Assert.AreEqual(dbConv.SenderDomain.Value, defDomain.Id.Value); }