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_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_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_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_Phaxio_InvalidSecretThrowsException() { var clientBuilder = new IRestClientBuilder { Op = "accountStatus" }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, "bad_secret", clientBuilder.Build()); Assert.Throws(typeof(ApplicationException), () => phaxio.GetAccountStatus()); }
public void UnitTests_Phaxio_InvalidKeyThrowsException() { var clientBuilder = new IRestClientBuilder { Op = "accountStatus" }; var phaxio = new PhaxioClient("bad_key", IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); Assert.Throws(typeof(ApplicationException), () => phaxio.GetAccountStatus()); }
public void UnitTests_Phaxio_ValidKeys() { var clientBuilder = new IRestClientBuilder { Op = "accountStatus" }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var account = phaxio.GetAccountStatus(); var expectedAccount = PocoFixtures.GetTestAccount(); }
public void UnitTests_Numbers_ListNumbers() { var clientBuilder = new IRestClientBuilder { Op = "numberList" }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var actualNumbers = phaxio.ListNumbers(); var expectedNumbers = PocoFixtures.GetTestPhoneNumbers(); Assert.AreEqual(expectedNumbers.Count, actualNumbers.Count, "Number 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_AccountStatus() { var clientBuilder = new IRestClientBuilder { Op = "accountStatus" }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var account = phaxio.GetAccountStatus(); var expectedAccount = PocoFixtures.GetTestAccount(); Assert.AreEqual(expectedAccount.FaxesSentThisMonth, account.FaxesSentThisMonth, "FaxesSentThisMonth should be the same."); Assert.AreEqual(expectedAccount.FaxesSentToday, account.FaxesSentToday, "FaxesSentThisWeek should be the same."); Assert.AreEqual(expectedAccount.Balance, account.Balance, "Balance should be the same."); }
public void UnitTests_Fax_Resend() { Action <IRestRequest> requestAsserts = req => { Assert.AreEqual(req.Parameters[2].Value, "123"); }; var clientBuilder = new IRestClientBuilder { Op = "resendFax", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var result = phaxio.ResendFax("123"); Assert.True(result.Success, "Should be success."); }
public void UnitTests_Numbers_Release() { var number = "8088675309"; Action <IRestRequest> requestAsserts = req => { Assert.AreEqual(req.Parameters[2].Value, number); }; var clientBuilder = new IRestClientBuilder { Op = "releaseNumber", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var result = phaxio.ReleaseNumber(number); Assert.True(result.Success, "Should be success."); }
public void UnitTests_Numbers_Provision() { var areaCode = "808"; Action <IRestRequest> requestAsserts = req => { Assert.AreEqual(req.Parameters[2].Value, areaCode); }; var clientBuilder = new IRestClientBuilder { Op = "provisionNumber", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var actualNumber = phaxio.ProvisionNumber(areaCode); var expectedNumber = PocoFixtures.GetTestPhoneNumber(); Assert.AreEqual(expectedNumber.Number, actualNumber.Number, "Number 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 void UnitTests_Numbers_ListNumbersWithOptions() { var areaCode = "808"; var number = "8088675309"; Action <IRestRequest> requestAsserts = req => { Assert.AreEqual(req.Parameters[2].Value, areaCode); Assert.AreEqual(req.Parameters[3].Value, number); }; var clientBuilder = new IRestClientBuilder { Op = "numberList", RequestAsserts = requestAsserts }; var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build()); var actualNumbers = phaxio.ListNumbers(areaCode, number); var expectedNumbers = PocoFixtures.GetTestPhoneNumbers(); Assert.AreEqual(expectedNumbers.Count, actualNumbers.Count, "Number should be the same"); }