public void UnitTests_Fax_SendMultipleFilesNoOptions() { var testToNumber = "8088675309"; Action <IRestRequest> requestAsserts = req => { var parameters = ParametersHelper.ToDictionary(req.Parameters); Assert.AreEqual(testToNumber, parameters["to[]"]); Assert.AreEqual(3, parameters.Count()); }; var clientBuilder = new IRestClientBuilder { Op = "send", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var testFile = BinaryFixtures.getTestPdfFile(); var result = phaxio.SendFax(testToNumber, new List <FileInfo> { testFile, testFile }); Assert.AreEqual("1234", result.Id, "FaxId should be the same."); }
public void UnitTests_Fax_DownloadFax_WithOptions() { Action <IRestRequest> requestAsserts = req => { var parameters = ParametersHelper.ToDictionary(req.Parameters); Assert.AreEqual(parameters["id"], "1234"); Assert.AreEqual(parameters["type"], "l"); }; var clientBuilder = new IRestClientBuilder { Op = "faxFile", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.BuildUntyped()); var testPdf = BinaryFixtures.getTestPdfFile(); var pdfBytes = phaxio.DownloadFax("1234", "l"); Assert.IsNotEmpty(pdfBytes); var expectedPdf = BinaryFixtures.GetTestPdf(); Assert.AreEqual(expectedPdf, pdfBytes, "PDFs should be the same."); }
public void UnitTests_Fax_SendSingleWithTags() { var testToNumber = "8088675309"; var testOptions = new FaxOptions { Tags = new Dictionary <string, string> { { "key1", "value1" }, { "key2", "value2" } } }; Action <IRestRequest> requestAsserts = req => { var parameters = ParametersHelper.ToDictionary(req.Parameters); Assert.AreEqual(testToNumber, parameters["to[]"]); foreach (var pair in testOptions.Tags) { var tagKey = "tag[" + pair.Key + "]"; Assert.IsTrue(parameters.ContainsKey(tagKey)); Assert.AreEqual(pair.Value, parameters[tagKey]); } }; var clientBuilder = new IRestClientBuilder { Op = "send", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var testFile = BinaryFixtures.getTestPdfFile(); var result = phaxio.SendFax(testToNumber, testFile, testOptions); Assert.AreEqual("1234", result.Id, "FaxId should be the same."); }
public void UnitTests_GetHostedDocument_WithMetadata() { var metadata = "key"; var filename = "hostedoc.pdf"; Action <IRestRequest> requestAsserts = req => { var parameters = ParametersHelper.ToDictionary(req.Parameters); Assert.AreEqual(parameters["name"], filename); Assert.AreEqual(parameters["metadata"], metadata); }; var clientBuilder = new IRestClientBuilder { Op = "getHostedDocument", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.BuildUntyped()); var testPdf = BinaryFixtures.getTestPdfFile(); var pdfBytes = phaxio.GetHostedDocument(filename, metadata: metadata); Assert.IsNotEmpty(pdfBytes); var expectedPdf = BinaryFixtures.GetTestPdf(); Assert.AreEqual(expectedPdf, pdfBytes, "PDFs should be the same."); }
public void UnitTests_Fax_SendSingleFileSomeOptions() { var testToNumber = "8088675309"; var testOptions = new FaxOptions { HeaderText = "headertext", StringData = "somedata", StringDataType = "html", IsBatch = true }; Action <IRestRequest> requestAsserts = req => { var parameters = ParametersHelper.ToDictionary(req.Parameters); Assert.AreEqual(testToNumber, parameters["to[]"]); var props = typeof(FaxOptions).GetProperties(); foreach (var prop in props) { var serializeAs = prop.GetCustomAttributes(false) .OfType <SerializeAsAttribute>() .FirstOrDefault(); if (serializeAs != null) { object expectedValue = prop.GetValue(testOptions, null); if (expectedValue == null) { Assert.False(parameters.ContainsKey(serializeAs.Value)); } else { Assert.AreEqual(expectedValue, parameters[serializeAs.Value]); } } } }; var clientBuilder = new IRestClientBuilder { Op = "send", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var testFile = BinaryFixtures.getTestPdfFile(); var result = phaxio.SendFax(testToNumber, testFile, testOptions); Assert.AreEqual("1234", result.Id, "FaxId should be the same."); }
public void UnitTests_Fax_SendSingleFileOptions() { var testToNumber = "8088675309"; var testOptions = new FaxOptions { HeaderText = "headertext", StringData = "somedata", StringDataType = "html", IsBatch = true, BatchDelaySeconds = 10, AvoidBatchCollision = true, CallbackUrl = "https://example.com/callback", CancelTimeoutAfter = 20, CallerId = "3213214321", FailureErrorType = "failure_type" }; Action <IRestRequest> requestAsserts = req => { var parameters = ParametersHelper.ToDictionary(req.Parameters); Assert.AreEqual(testToNumber, parameters["to[]"]); var props = typeof(FaxOptions).GetProperties(); foreach (var prop in props) { var serializeAs = prop.GetCustomAttributes(false) .OfType <SerializeAsAttribute>() .FirstOrDefault(); if (serializeAs != null) { object expectedValue = prop.GetValue(testOptions, null); Assert.AreEqual(expectedValue, parameters[serializeAs.Value]); } } }; var clientBuilder = new IRestClientBuilder { Op = "send", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var testFile = BinaryFixtures.getTestPdfFile(); var result = phaxio.SendFax(testToNumber, testFile, testOptions); Assert.AreEqual("1234", result.Id, "FaxId should be the same."); }
public void UnitTests_Fax_SendSingleFileNoOptions() { var testToNumber = "8088675309"; Action <IRestRequest> requestAsserts = req => { Assert.AreEqual(req.Parameters[2].Value, testToNumber); }; var clientBuilder = new IRestClientBuilder { Op = "send", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var testFile = BinaryFixtures.getTestPdfFile(); var result = phaxio.SendFax(testToNumber, testFile); Assert.That(result.Success, Is.True, $"unsuccessful call: {result.Message}"); Assert.That(result.Id, Is.Not.Null, $"no fax ID returned: {result.Message}"); Assert.AreEqual("1234", result.Id, "FaxId should be the same."); }
public IRestClient BuildUntyped() { var mockIRestClient = new Mock <IRestClient>(); if (Op == "createPhaxCodeDownload") { mockIRestClient.Setup(x => x.Execute(It.IsAny <IRestRequest>())) .Returns <IRestRequest>(req => { var response = new RestResponse(); var authFailed = false; checks(req, () => { authFailed = true; }); if (authFailed) { response.ContentType = "application/json"; response.Content = JsonResponseFixtures.Fixtures["authFail"]; } else { response.ContentType = "image/png"; response.RawBytes = BinaryFixtures.GetTestPhaxCode(); } return(response); }); } else if (Op == "attachPhaxCodeToPdf") { mockIRestClient.Setup(x => x.Execute(It.IsAny <IRestRequest>())) .Returns <IRestRequest>(req => { var response = new RestResponse(); var authFailed = false; checks(req, () => { authFailed = true; }); if (authFailed) { response.ContentType = "application/json"; response.Content = JsonResponseFixtures.Fixtures["authFail"]; } else { response.ContentType = "application/pdf"; response.RawBytes = BinaryFixtures.GetTestPdf(); } return(response); }); } else if (Op == "attachPhaxCodeToPdfStream") { mockIRestClient.Setup(x => x.Execute(It.IsAny <IRestRequest>())) .Returns <IRestRequest>(req => { var response = new RestResponse(); var authFailed = false; checks(req, () => { authFailed = true; }); if (authFailed) { response.ContentType = "application/json"; response.Content = JsonResponseFixtures.Fixtures["authFail"]; } else { response.ContentType = "application/pdf"; var writer = req.ResponseWriter; var testPdf = BinaryFixtures.getTestPdfFile(); writer(testPdf.OpenRead()); } return(response); }); } else if (Op == "faxFile") { mockIRestClient.Setup(x => x.Execute(It.IsAny <IRestRequest>())) .Returns <IRestRequest>(req => { var response = new RestResponse(); var authFailed = false; checks(req, () => { authFailed = true; }); if (authFailed) { response.ContentType = "application/json"; response.Content = JsonResponseFixtures.Fixtures["authFail"]; } else { response.ContentType = "application/pdf"; response.RawBytes = BinaryFixtures.GetTestPdf(); } return(response); }); } else if (Op == "getHostedDocument") { mockIRestClient.Setup(x => x.Execute(It.IsAny <IRestRequest>())) .Returns <IRestRequest>(req => { var response = new RestResponse(); var authFailed = false; checks(req, () => { authFailed = true; }); if (authFailed) { response.ContentType = "application/json"; response.Content = JsonResponseFixtures.Fixtures["authFail"]; } else { response.ContentType = "application/pdf"; response.RawBytes = BinaryFixtures.GetTestPdf(); } return(response); }); } return(mockIRestClient.Object); }