public async Task TestActivateDripCampaignAsyncWithAllParameters() { Trace.WriteLine(String.Format("POST /drip_campaigns/{0}/activate with all parameters", DEFAULT_CAMPAIGN_ID)); // Build the drip campaign object var recipient = new EmailRecipient(DEFAULT_RECIPIENT_EMAIL_ADDRESS, DEFAULT_EMAIL_NAME); var dripCampaign = new DripCampaign(recipient); dripCampaign.cc.Add(new EmailRecipient(DEFAULT_CC_EMAIL_ADDRESS_1, DEFAULT_EMAIL_NAME)); dripCampaign.cc.Add(new EmailRecipient(DEFAULT_CC_EMAIL_ADDRESS_2, DEFAULT_EMAIL_NAME)); dripCampaign.bcc.Add(new EmailRecipient(DEFAULT_BCC_EMAIL_ADDRESS_1, DEFAULT_EMAIL_NAME)); dripCampaign.bcc.Add(new EmailRecipient(DEFAULT_BCC_EMAIL_ADDRESS_2, DEFAULT_EMAIL_NAME)); dripCampaign.sender.address = DEFAULT_SENDER_EMAIL_ADDRESS; dripCampaign.sender.name = DEFAULT_SENDER_NAME; dripCampaign.sender.reply_to = DEFAULT_REPLY_TO_EMAIL_ADDRESS; dripCampaign.tags.Add(DEFAULT_TAG_1); dripCampaign.tags.Add(DEFAULT_TAG_2); dripCampaign.tags.Add(DEFAULT_TAG_3); dripCampaign.locale = DEFAULT_LOCALE; dripCampaign.esp_account = DEFAULT_ESP_ACCOUNT_ID; dripCampaign.email_data.Add("amount", "$12.00"); // Make the API call try { var dripCampaignResponse = await dripCampaign.ActivateAsync(DEFAULT_CAMPAIGN_ID); // Validate the response SendwithusClientTest.ValidateResponse(dripCampaignResponse); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }
public async Task TestBatchApiRequestsTenRequestsAsync() { Trace.WriteLine("POST /batch"); // Start the batch request BatchApiRequest.StartNewBatchRequest(); // Make the API calls to be batched (at least one of each type) try { await TemplateTest.BuildAndSendCreateTemplateRequestWithAllParametersAsync(); // POST await Snippet.GetSnippetsAsync(); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await RenderTest.BuildAndSendRenderTemplateRequestWithAllParametersId(); // POST await Log.GetLogEventsAsync(BatchApiRequestTest.DEFAULT_LOG_ID); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await EmailTest.BuildAndSendEmailWithAllParametersAsync(); // POST await DripCampaign.GetDripCampaignsAsync(); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET // Make the batch Api Reqeust var batchResponses = await BatchApiRequest.SendBatchApiRequest(); // Validate the response to the batch API request ValidateBatchApiCallResponses(batchResponses, 10); // Validate the response to the individual API calls ValidateIndividualBatchedApiCallResponse <Template>(batchResponses[0]); ValidateIndividualBatchedApiCallResponse <List <Snippet> >(batchResponses[1]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[2]); ValidateIndividualBatchedApiCallResponse <RenderTemplateResponse>(batchResponses[3]); ValidateIndividualBatchedApiCallResponse <List <Log> >(batchResponses[4]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[5]); ValidateIndividualBatchedApiCallResponse <EmailResponse>(batchResponses[6]); ValidateIndividualBatchedApiCallResponse <List <DripCampaignDetails> >(batchResponses[7]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[8]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[9]); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }
public async Task TestGetDripCampaignAsync() { Trace.WriteLine(String.Format("GET /drip_campaigns/{0}", DEFAULT_CAMPAIGN_ID)); // Make the API call try { var response = await DripCampaign.GetDripCampaignAsync(DEFAULT_CAMPAIGN_ID); // Validate the response SendwithusClientTest.ValidateResponse(response); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }
public async Task TestGetDripCampaignsAsync() { Trace.WriteLine("GET /drip_campaigns"); // Make the API call try { var dripCampaignDetails = await DripCampaign.GetDripCampaignsAsync(); // Validate the response SendwithusClientTest.ValidateResponse(dripCampaignDetails); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }
public async Task TestDeactivateFromAllDripCampaignsAsync() { Trace.WriteLine(String.Format("POST /drip_campaigns/{0}/deactivate", DEFAULT_CAMPAIGN_ID)); // Make the API call try { var dripCampaignDeactivateResponse = await DripCampaign.DeactivateFromAllCampaignsAsync(DEFAULT_RECIPIENT_EMAIL_ADDRESS); // Validate the response SendwithusClientTest.ValidateResponse(dripCampaignDeactivateResponse); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }
public async Task TestActivateDripCampaignWithInvalidParameters() { Trace.WriteLine(String.Format("POST /drip_campaigns/{0}/activate with invalid campaign ID", INVALID_CAMPAIGN_ID)); // Build the drip campaign object var recipient = new EmailRecipient(DEFAULT_RECIPIENT_EMAIL_ADDRESS); var dripCampaign = new DripCampaign(recipient); // Make the API call try { var response = await dripCampaign.ActivateAsync(INVALID_CAMPAIGN_ID); } catch (AggregateException exception) { // Make sure the response was HTTP 400 Bad Request SendwithusClientTest.ValidateException(exception, HttpStatusCode.BadRequest); } }
public async Task TestActivateDripCampaignAsyncWithMinimumParameters() { Trace.WriteLine(String.Format("POST /drip_campaigns/{0}/activate with minimum parameters", DEFAULT_CAMPAIGN_ID)); // Build the drip campaign object var recipient = new EmailRecipient(DEFAULT_RECIPIENT_EMAIL_ADDRESS); var dripCampaign = new DripCampaign(recipient); // Make the API call try { var dripCampaignResponse = await dripCampaign.ActivateAsync(DEFAULT_CAMPAIGN_ID); // Validate the response SendwithusClientTest.ValidateResponse(dripCampaignResponse); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }
public async Task TestBatchApiRequestsTwelveRequestsWithoutOverrideAsync() { Trace.WriteLine("POST /batch"); // Start the batch request BatchApiRequest.StartNewBatchRequest(); // Override the maximum number of API calls that can be included in this batch BatchApiRequest.OverrideMaximumBatchRequests(12); // Make the API calls to be batched (at least one of each type) try { await TemplateTest.BuildAndSendCreateTemplateRequestWithAllParametersAsync(); // POST await Snippet.GetSnippetsAsync(); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await RenderTest.BuildAndSendRenderTemplateRequestWithAllParametersId(); // POST await Log.GetLogEventsAsync(BatchApiRequestTest.DEFAULT_LOG_ID); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await EmailTest.BuildAndSendEmailWithAllParametersAsync(); // POST await DripCampaign.GetDripCampaignsAsync(); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET // Make the batch Api Request var batchResponses = await BatchApiRequest.SendBatchApiRequest(); // Validate the response to the batch API request ValidateBatchApiCallResponses(batchResponses, 11); // Validate the response to the individual API calls ValidateIndividualBatchedApiCallResponse <Template>(batchResponses[0]); ValidateIndividualBatchedApiCallResponse <List <Snippet> >(batchResponses[1]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[2]); ValidateIndividualBatchedApiCallResponse <RenderTemplateResponse>(batchResponses[3]); ValidateIndividualBatchedApiCallResponse <List <Log> >(batchResponses[4]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[5]); ValidateIndividualBatchedApiCallResponse <EmailResponse>(batchResponses[6]); ValidateIndividualBatchedApiCallResponse <List <DripCampaignDetails> >(batchResponses[7]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[8]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[9]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[10]); } catch (InvalidOperationException exception) { Trace.WriteLine(String.Format("Successfully caught exception triggered by adding too many API calls to the batch API request. Error message: {0}", exception.Message)); Assert.IsTrue(true); } finally { // Return the max batch request limit to its default value BatchApiRequest.SetMaximumBatchRequestsToDefault(); } }
public async Task TestBatchApiRequestsElevenRequestsWithoutOverrideAsync() { Trace.WriteLine("POST /batch"); // Start the batch request BatchApiRequest.StartNewBatchRequest(); try { // Make the API calls to be batched (at least one of each type) await TemplateTest.BuildAndSendCreateTemplateRequestWithAllParametersAsync(); // POST await Snippet.GetSnippetsAsync(); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await RenderTest.BuildAndSendRenderTemplateRequestWithAllParametersId(); // POST await Log.GetLogEventsAsync(BatchApiRequestTest.DEFAULT_LOG_ID); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await EmailTest.BuildAndSendEmailWithAllParametersAsync(); // POST await DripCampaign.GetDripCampaignsAsync(); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET // Add the 11th API Request try { await Customer.GetCustomerAsync(CustomerTest.DEFAULT_CUSTOMER_EMAIL_ADDRESS); // GET } catch (InvalidOperationException exception) { Trace.WriteLine(String.Format("Successfully caught exception triggered by adding too many API calls to the batch API request. Error message: {0}", exception.Message)); Assert.IsTrue(true); } // Send the batch AP Request and make sure it still goes through (with the previous 10 requests included) var batchResponses = await BatchApiRequest.SendBatchApiRequest(); // Validate the response to the batch API request ValidateBatchApiCallResponses(batchResponses, 10); // Validate the response to the individual API calls ValidateIndividualBatchedApiCallResponse <Template>(batchResponses[0]); ValidateIndividualBatchedApiCallResponse <List <Snippet> >(batchResponses[1]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[2]); ValidateIndividualBatchedApiCallResponse <RenderTemplateResponse>(batchResponses[3]); await Log.GetLogEventsAsync(BatchApiRequestTest.DEFAULT_LOG_ID); // GET ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[5]); ValidateIndividualBatchedApiCallResponse <EmailResponse>(batchResponses[6]); ValidateIndividualBatchedApiCallResponse <List <DripCampaignDetails> >(batchResponses[7]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[8]); ValidateIndividualBatchedApiCallResponse <Customer>(batchResponses[9]); } catch (AggregateException exception) { Assert.Fail(exception.ToString()); } }