Example #1
0
        public void PostUser()
        {
            UserRequest request = new UserRequest();

            request.Id          = "*****@*****.**";
            request.Login       = "******";
            request.OptoutEmail = OptoutStatus.Basic;
            request.Vars        = new Hashtable()
            {
                ["foobar"] = "test"
            };
            request.Fields = new Hashtable()
            {
                ["vars"]         = 1,
                ["optout_email"] = 1
            };

            SailthruResponse response = client.SetUser(request);

            Assert.IsTrue(response.IsOK());

            Assert.AreEqual(response.HashtableResponse["optout_email"], "basic");

            Hashtable vars = response.HashtableResponse["vars"] as Hashtable;

            Assert.AreEqual(vars["foobar"], "test");
        }
Example #2
0
        public void PostListEraseJob()
        {
            Hashtable jobParams = new Hashtable()
            {
                ["lists"] = new string[] { "foo", "bar" }
            };

            SailthruResponse response = client.ProcessJob("list_erase", null, null, jobParams);

            Assert.IsTrue(response.IsOK());
            Assert.AreEqual(response.HashtableResponse["name"], "Bulk List Erase: 2 requested");
        }
Example #3
0
        public void Timeout()
        {
            EventRequest request = new EventRequest();

            request.Id    = "*****@*****.**";
            request.Event = "trigger_timeout";

            SailthruClient clientWithTimeout = new SailthruClient("3386", "3386", server.ApiUrl);

            clientWithTimeout.Timeout = 1000;
            SailthruResponse response = clientWithTimeout.PostEvent(request);

            Assert.IsFalse(response.IsOK());
        }
Example #4
0
        public void PostImportJob()
        {
            List <String> emails = new List <String>()
            {
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**"
            };

            SailthruResponse response = client.ProcessImportJob("test_list", emails);

            Assert.IsTrue(response.IsOK());
            Assert.AreEqual(response.HashtableResponse["name"], "List Import: test_list");
        }
Example #5
0
        public void PostEvent()
        {
            EventRequest request = new EventRequest();

            request.Id    = "*****@*****.**";
            request.Event = "hello";
            request.Vars  = new Hashtable()
            {
                ["var1"] = "yes"
            };

            SailthruResponse response = client.PostEvent(request);

            Assert.IsTrue(response.IsOK());
        }
Example #6
0
        public void PostPurchase()
        {
            PurchaseRequest request = new PurchaseRequest();

            request.Email        = "*****@*****.**";
            request.PurchaseKeys = new Hashtable()
            {
                ["extid"] = "12345"
            };

            Hashtable item1 = new Hashtable();

            item1.Add("qty", 1);
            item1.Add("id", "abc");
            item1.Add("title", "This new product");
            item1.Add("price", 1099);
            item1.Add("url", "http://www.example.com/thisnewproduct.html");

            Hashtable item2 = new Hashtable();

            item2.Add("qty", 2);
            item2.Add("id", "def");
            item2.Add("title", "water bottle");
            item2.Add("price", 199);
            item2.Add("url", "http://www.example.com/water.html");

            ArrayList items = new ArrayList();

            items.Add(item1);
            items.Add(item2);
            request.Items = items;

            SailthruResponse response = client.Purchase(request);

            Assert.IsTrue(response.IsOK());

            Hashtable purchaseResult = (Hashtable)response.HashtableResponse["purchase"];

            Assert.AreEqual(purchaseResult["price"], 1497);
            Assert.AreEqual(purchaseResult["qty"], 3);

            Hashtable purchaseKeys = purchaseResult["purchase_keys"] as Hashtable;

            Assert.AreEqual(purchaseKeys["extid"], "12345");
        }
Example #7
0
        public void GetListWithFields()
        {
            Hashtable request = new Hashtable();

            request["list"]   = "List With 2 Users";
            request["fields"] = new Dictionary <string, object>()
            {
                ["vars"] = 1
            };

            Hashtable parameters = new Hashtable()
            {
                ["json"] = JsonConvert.SerializeObject(request)
            };

            SailthruResponse response = client.ApiGet("list", parameters);

            Assert.IsTrue(response.IsOK());
        }
Example #8
0
        public void PostUpdateJob()
        {
            string filename = Path.GetTempFileName();

            using (StreamWriter writer = new StreamWriter(filename))
            {
                writer.WriteLine("{\"id\":\"[email protected]\", \"signup_date\":\"1987-08-01\"}");
                writer.WriteLine("{\"id\":\"[email protected]\", \"signup_date\":\"1987-08-01\"}");
                writer.WriteLine("{\"id\":\"[email protected]\", \"signup_date\":\"1987-08-01\"}");
            }

            Hashtable updateParams = new Hashtable()
            {
                ["file"] = filename
            };

            SailthruResponse response = client.ProcessJob("update", null, null, updateParams);

            Assert.IsTrue(response.IsOK());
            Assert.AreEqual(response.HashtableResponse["name"], "Bulk Update");
        }
Example #9
0
        public void UnicodeResponse()
        {
            string unicodeString = "ä好😃⇔";

            UserRequest request = new UserRequest();

            request.Id   = "*****@*****.**";
            request.Vars = new Hashtable()
            {
                ["unicode"] = unicodeString
            };
            request.Fields = new Hashtable()
            {
                ["vars"] = 1,
            };

            SailthruResponse response = client.SetUser(request);

            Assert.IsTrue(response.IsOK());

            Hashtable vars = response.HashtableResponse["vars"] as Hashtable;

            Assert.AreEqual(vars["unicode"], unicodeString);
        }