Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }