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