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 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); }