From f26d05fdce0ba68d291adb1a4d75f80f6e1b7cf8 Mon Sep 17 00:00:00 2001 From: Jen Young Date: Wed, 18 Jun 2025 14:12:44 -0700 Subject: [PATCH] Addd Fax and FaxLine tests --- .../src/Dropbox.Sign.Test/Api/FaxApiTests.cs | 65 ++++++++++++++ .../Dropbox.Sign.Test/Api/FaxLineApiTests.cs | 54 +++++++++++ .../java/com/dropbox/sign/api/FaxApiTest.java | 58 ++++++++++++ .../com/dropbox/sign/api/FaxLineApiTest.java | 58 ++++++++++++ .../java/com/dropbox/sign/api/FaxApiTest.java | 69 ++++++++++++++ .../com/dropbox/sign/api/FaxLineApiTest.java | 68 ++++++++++++++ sdks/node/tests/api/faxApi.test.ts | 89 ++++++++++++++++++ sdks/node/tests/api/faxLineApi.test.ts | 86 ++++++++++++++++++ sdks/php/test/Api/FaxApiTest.php | 90 +++++++++++++++++++ sdks/php/test/Api/FaxLineApiTest.php | 87 ++++++++++++++++++ sdks/python/tests/test_fax_api.py | 71 +++++++++++++++ sdks/python/tests/test_fax_line_api.py | 68 ++++++++++++++ sdks/ruby/spec/api/fax_api_spec.rb | 69 ++++++++++++++ sdks/ruby/spec/api/fax_line_api_spec.rb | 67 ++++++++++++++ test_fixtures/FaxGetResponse.json | 3 +- test_fixtures/FaxLineCreateRequest.json | 6 ++ test_fixtures/FaxLineListResponse.json | 26 ++++++ test_fixtures/FaxLineResponse.json | 18 ++++ test_fixtures/FaxListResponse.json | 3 +- test_fixtures/FaxResponse.json | 24 +++++ test_fixtures/FaxSendResponse.json | 16 ---- 21 files changed, 1075 insertions(+), 20 deletions(-) create mode 100644 sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs create mode 100644 sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs create mode 100644 sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java create mode 100644 sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java create mode 100644 sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java create mode 100644 sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java create mode 100644 sdks/node/tests/api/faxApi.test.ts create mode 100644 sdks/node/tests/api/faxLineApi.test.ts create mode 100644 sdks/php/test/Api/FaxApiTest.php create mode 100644 sdks/php/test/Api/FaxLineApiTest.php create mode 100644 sdks/python/tests/test_fax_api.py create mode 100644 sdks/python/tests/test_fax_line_api.py create mode 100644 sdks/ruby/spec/api/fax_api_spec.rb create mode 100644 sdks/ruby/spec/api/fax_line_api_spec.rb create mode 100644 test_fixtures/FaxLineCreateRequest.json create mode 100644 test_fixtures/FaxLineListResponse.json create mode 100644 test_fixtures/FaxLineResponse.json create mode 100644 test_fixtures/FaxResponse.json delete mode 100644 test_fixtures/FaxSendResponse.json diff --git a/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs new file mode 100644 index 000000000..1c9882326 --- /dev/null +++ b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Xunit; +using System.Text.Json; + +using Dropbox.Sign.Api; +using Dropbox.Sign.Model; + +namespace Dropbox.Sign.Test.Api +{ + public class FaxApiTests + { + [Fact] + public void SendFaxTest() + { + var requestData = TestHelper.GetJsonContents(nameof(FaxSendRequest)); + var responseData = TestHelper.GetJsonContents(nameof(FaxGetResponse)); + + var obj = FaxSendRequest.Init( + requestData.ToString() + ); + + obj.Files = new List { + new FileStream( + TestHelper.RootPath + "/pdf-sample.pdf", + FileMode.Open, + FileAccess.Read, + FileShare.Read + ) + }; + + var responseObj = FaxGetResponse.Init(responseData.ToString()); + + var api = MockRestClientHelper.CreateApiExpectMultiFormRequest(responseObj); + var response = api.FaxSend(obj); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxListTest() + { + var responseData = TestHelper.GetJsonContents(nameof(FaxListResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxList(); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxGetTest() + { + var faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d"; + + var responseData = TestHelper.GetJsonContents(nameof(FaxGetResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxGet(faxId); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + } +} diff --git a/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs new file mode 100644 index 000000000..a4e00cccc --- /dev/null +++ b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Xunit; +using System.Text.Json; + +using Dropbox.Sign.Api; +using Dropbox.Sign.Model; + +namespace Dropbox.Sign.Test.Api +{ + public class FaxLineApiTests + { + [Fact] + public void FaxLineCreateTest() + { + var requestData = TestHelper.GetJsonContents(nameof(FaxLineCreateRequest)); + var responseData = TestHelper.GetJsonContents(nameof(FaxLineResponse)); + + var obj = FaxLineCreateRequest.Init( + requestData.ToString() + ); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxLineCreate(obj); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxLineListTest() + { + var responseData = TestHelper.GetJsonContents(nameof(FaxLineListResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxLineList(); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxLineGetTest() + { + var faxLineNumber = "14155557897"; + + var responseData = TestHelper.GetJsonContents(nameof(FaxLineResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxLineGet(faxLineNumber); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + } +} diff --git a/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java new file mode 100644 index 000000000..ff1ae8185 --- /dev/null +++ b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java @@ -0,0 +1,58 @@ +package com.dropbox.sign.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.dropbox.sign.ApiClient; +import com.dropbox.sign.TestHelper; +import com.dropbox.sign.model.*; +import com.fasterxml.jackson.databind.JsonNode; +import java.io.File; +import org.junit.jupiter.api.Test; + +public class FaxApiTest { + @Test + public void faxSendTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName()); + FaxGetResponse expectedResponse = FaxGetResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + JsonNode requestData = TestHelper.getJsonContents(FaxSendRequest.class.getSimpleName()); + + FaxSendRequest request = FaxSendRequest.init(requestData.toString()); + request.addFilesItem(new File("test_fixtures/pdf-sample.pdf")); + + FaxApi api = new FaxApi(apiClient); + FaxGetResponse response = api.faxSend(request); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxGetTest() throws Exception { + String faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d"; + + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName()); + FaxGetResponse expectedResponse = FaxGetResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxApi api = new FaxApi(apiClient); + FaxGetResponse response = api.faxGet(faxId); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxListTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxListResponse.class.getSimpleName()); + FaxListResponse expectedResponse = FaxListResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxApi api = new FaxApi(apiClient); + FaxListResponse response = api.faxList(); + + assertEquals(expectedResponse, response); + } +} diff --git a/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java new file mode 100644 index 000000000..50ea98706 --- /dev/null +++ b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java @@ -0,0 +1,58 @@ +package com.dropbox.sign.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.dropbox.sign.ApiClient; +import com.dropbox.sign.TestHelper; +import com.dropbox.sign.model.*; +import com.fasterxml.jackson.databind.JsonNode; +import org.junit.jupiter.api.Test; + +public class FaxLineApiTest { + @Test + public void faxLineCreateTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName()); + FaxLineResponse expectedResponse = FaxLineResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + JsonNode requestData = + TestHelper.getJsonContents(FaxLineCreateRequest.class.getSimpleName()); + + FaxLineCreateRequest request = FaxLineCreateRequest.init(requestData.toString()); + + FaxLineApi api = new FaxLineApi(apiClient); + FaxLineResponse response = api.faxLineCreate(request); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxLineGetTest() throws Exception { + String faxLineNumber = "14155557897"; + + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName()); + FaxLineResponse expectedResponse = FaxLineResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxLineApi api = new FaxLineApi(apiClient); + FaxLineResponse response = api.faxLineGet(faxLineNumber); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxLineListTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxLineListResponse.class.getSimpleName()); + FaxLineListResponse expectedResponse = + FaxLineListResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxLineApi api = new FaxLineApi(apiClient); + FaxLineListResponse response = api.faxLineList(); + + assertEquals(expectedResponse, response); + } +} diff --git a/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java new file mode 100644 index 000000000..8ddaf5866 --- /dev/null +++ b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java @@ -0,0 +1,69 @@ +package com.dropbox.sign.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; + +import com.dropbox.sign.ApiClient; +import com.dropbox.sign.TestHelper; +import com.dropbox.sign.model.*; +import com.fasterxml.jackson.databind.JsonNode; +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +public class FaxApiTest { + @Test + public void faxSendTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName()); + FaxGetResponse expectedResponse = + FaxGetResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + JsonNode requestData = + TestHelper.getJsonContents( + FaxSendRequest.class.getSimpleName()); + + FaxSendRequest request = + FaxSendRequest.init(requestData.toString()); + request.addFilesItem(new File("test_fixtures/pdf-sample.pdf")); + + FaxApi api = new FaxApi(apiClient); + FaxGetResponse response = api.faxSend(request); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxGetTest() throws Exception { + String faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d"; + + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName()); + FaxGetResponse expectedResponse = + FaxGetResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxApi api = new FaxApi(apiClient); + FaxGetResponse response = api.faxGet(faxId); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxListTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxListResponse.class.getSimpleName()); + FaxListResponse expectedResponse = + FaxListResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxApi api = new FaxApi(apiClient); + FaxListResponse response = api.faxList(); + + assertEquals(expectedResponse, response); + } +} diff --git a/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java new file mode 100644 index 000000000..5e805a7f5 --- /dev/null +++ b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java @@ -0,0 +1,68 @@ +package com.dropbox.sign.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; + +import com.dropbox.sign.ApiClient; +import com.dropbox.sign.TestHelper; +import com.dropbox.sign.model.*; +import com.fasterxml.jackson.databind.JsonNode; +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +public class FaxLineApiTest { + @Test + public void faxLineCreateTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName()); + FaxLineResponse expectedResponse = + FaxLineResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + JsonNode requestData = + TestHelper.getJsonContents( + FaxLineCreateRequest.class.getSimpleName()); + + FaxLineCreateRequest request = + FaxLineCreateRequest.init(requestData.toString()); + + FaxLineApi api = new FaxLineApi(apiClient); + FaxLineResponse response = api.faxLineCreate(request); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxLineGetTest() throws Exception { + String faxLineNumber = "14155557897"; + + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName()); + FaxLineResponse expectedResponse = + FaxLineResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxLineApi api = new FaxLineApi(apiClient); + FaxLineResponse response = api.faxLineGet(faxLineNumber); + + assertEquals(expectedResponse, response); + } + + @Test + public void faxLineListTest() throws Exception { + JsonNode expectedResponseData = + TestHelper.getJsonContents(FaxLineListResponse.class.getSimpleName()); + FaxLineListResponse expectedResponse = + FaxLineListResponse.init(expectedResponseData.toString()); + ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse); + + FaxLineApi api = new FaxLineApi(apiClient); + FaxLineListResponse response = api.faxLineList(); + + assertEquals(expectedResponse, response); + } +} diff --git a/sdks/node/tests/api/faxApi.test.ts b/sdks/node/tests/api/faxApi.test.ts new file mode 100644 index 000000000..a943da17b --- /dev/null +++ b/sdks/node/tests/api/faxApi.test.ts @@ -0,0 +1,89 @@ +import 'jest'; + +import { FaxApi } from '../../api/'; +import * as m from '../../model/'; +import { + getFixtureData, + setExpectedResponse, + diffJson, +} from '../test_utils'; + +const axios = require('axios'); +const fs = require('fs'); +const MockAdapter = require('axios-mock-adapter'); + +describe('FaxApiTest', () => { + let mock: typeof MockAdapter; + + beforeEach(() => { + mock = new MockAdapter(axios); + }); + + const api = new FaxApi(); + const rootFilePath = __dirname + '/../../test_fixtures'; + + it('testFaxSend', () => { + const requestClass = 'FaxSendRequest'; + const requestData = getFixtureData(requestClass)['default']; + + const responseClass = 'FaxGetResponse'; + const responseData = getFixtureData(responseClass)['default']; + + setExpectedResponse(mock, responseData, 200); + + const obj = m.FaxSendRequest.init(requestData); + obj.files = [fs.createReadStream(`${rootFilePath}/pdf-sample.pdf`)]; + + api.faxSend(obj).then(response => { + const diff = diffJson( + response.body, + m.FaxGetResponse.init(responseData), + ); + + expect(response.body.constructor.name).toBe(responseClass); + expect(diff).toBeFalsy(); + }).catch(error => { + throw new Error('Should not have thrown error: ' + error); + }); + }); + + it('testFaxGet', () => { + const faxId = 'c2e9691c85d9d6fa6ae773842e3680b2b8650f1d'; + + const responseClass = 'FaxGetResponse'; + const responseData = getFixtureData(responseClass)['default']; + + setExpectedResponse(mock, responseData, 200); + + api.faxGet(faxId).then(response => { + const diff = diffJson( + response.body, + m.FaxGetResponse.init(responseData), + ); + + expect(response.body.constructor.name).toBe(responseClass); + expect(diff).toBeFalsy(); + }).catch(error => { + throw new Error('Should not have thrown error: ' + error); + }); + }); + + it('testFaxList', () => { + const responseClass = 'FaxListResponse'; + const responseData = getFixtureData(responseClass)['default']; + + setExpectedResponse(mock, responseData, 200); + + api.faxList().then(response => { + const diff = diffJson( + response.body, + m.FaxListResponse.init(responseData), + ); + + expect(response.body.constructor.name).toBe(responseClass); + expect(diff).toBeFalsy(); + }).catch(error => { + throw new Error('Should not have thrown error: ' + error); + }); + }); +}); diff --git a/sdks/node/tests/api/faxLineApi.test.ts b/sdks/node/tests/api/faxLineApi.test.ts new file mode 100644 index 000000000..2d0ff9967 --- /dev/null +++ b/sdks/node/tests/api/faxLineApi.test.ts @@ -0,0 +1,86 @@ +import 'jest'; + +import { FaxLineApi } from '../../api/'; +import * as m from '../../model/'; +import { + getFixtureData, + setExpectedResponse, + diffJson, +} from '../test_utils'; + +const axios = require('axios'); +const fs = require('fs'); +const MockAdapter = require('axios-mock-adapter'); + +describe('FaxLineApiTest', () => { + let mock: typeof MockAdapter; + + beforeEach(() => { + mock = new MockAdapter(axios); + }); + + const api = new FaxLineApi(); + const rootFilePath = __dirname + '/../../test_fixtures'; + + it('testFaxLineCreate', () => { + const requestClass = 'FaxLineCreateRequest'; + const requestData = getFixtureData(requestClass)['default']; + + const responseClass = 'FaxLineResponse'; + const responseData = getFixtureData(responseClass)['default']; + + setExpectedResponse(mock, responseData, 200); + + api.faxLineCreate(requestData).then(response => { + const diff = diffJson( + response.body, + m.FaxLineResponse.init(responseData), + ); + + expect(response.body.constructor.name).toBe(responseClass); + expect(diff).toBeFalsy(); + }).catch(error => { + throw new Error('Should not have thrown error: ' + error); + }); + }); + + it('testFaxLineGet', () => { + const faxLineNumber = '14155557897'; + + const responseClass = 'FaxLineResponse'; + const responseData = getFixtureData(responseClass)['default']; + + setExpectedResponse(mock, responseData, 200); + + api.faxLineGet(faxLineNumber).then(response => { + const diff = diffJson( + response.body, + m.FaxLineResponse.init(responseData), + ); + + expect(response.body.constructor.name).toBe(responseClass); + expect(diff).toBeFalsy(); + }).catch(error => { + throw new Error('Should not have thrown error: ' + error); + }); + }); + + it('testFaxLineList', () => { + const responseClass = 'FaxLineListResponse'; + const responseData = getFixtureData(responseClass)['default']; + + setExpectedResponse(mock, responseData, 200); + + api.faxLineList().then(response => { + const diff = diffJson( + response.body, + m.FaxLineListResponse.init(responseData), + ); + + expect(response.body.constructor.name).toBe(responseClass); + expect(diff).toBeFalsy(); + }).catch(error => { + throw new Error('Should not have thrown error: ' + error); + }); + }); +}); diff --git a/sdks/php/test/Api/FaxApiTest.php b/sdks/php/test/Api/FaxApiTest.php new file mode 100644 index 000000000..fe40e1e45 --- /dev/null +++ b/sdks/php/test/Api/FaxApiTest.php @@ -0,0 +1,90 @@ +client = new GuzzleHttp\Client([ + 'handler' => GuzzleHttp\HandlerStack::create($this->handler), + ]); + + $this->api = new Api\FaxApi( + Configuration::getDefaultConfiguration(), + $this->client, + ); + } + + public function testFaxSend() + { + $requestClass = Model\FaxSendRequest::class; + $requestData = TestUtils::getFixtureData($requestClass)['default']; + + $responseClass = Model\FaxGetResponse::class; + $responseData = TestUtils::getFixtureData($responseClass)['default']; + + $this->setExpectedResponse($responseData); + + $obj = Model\FaxSendRequest::init( + $requestData + ); + $obj->setFiles([ + new SplFileObject(self::ROOT_FILE_PATH . '/pdf-sample.pdf'), + ]); + + $response = $this->api->faxSend($obj); + $serialized = TestUtils::toArray($response); + + $this->assertInstanceOf($responseClass, $response); + $this->assertEquals($responseData, $serialized); + $this->assertEquals($responseData, TestUtils::toArray($response)); + } + + public function testFaxList() + { + $responseClass = Model\FaxListResponse::class; + $responseData = TestUtils::getFixtureData($responseClass)['default']; + + $this->setExpectedResponse($responseData); + + $response = $this->api->faxList(); + $serialized = TestUtils::toArray($response); + + $this->assertInstanceOf($responseClass, $response); + $this->assertEquals($responseData, $serialized); + $this->assertEquals($responseData, TestUtils::toArray($response)); + } + + public function testFaxGet() + { + $faxId = 'c2e9691c85d9d6fa6ae773842e3680b2b8650f1d'; + + $responseClass = Model\FaxGetResponse::class; + $responseData = TestUtils::getFixtureData($responseClass)['default']; + + $this->setExpectedResponse($responseData); + + $response = $this->api->faxGet($faxId); + $serialized = TestUtils::toArray($response); + + $this->assertInstanceOf($responseClass, $response); + $this->assertEquals($responseData, $serialized); + $this->assertEquals($responseData, TestUtils::toArray($response)); + } +} diff --git a/sdks/php/test/Api/FaxLineApiTest.php b/sdks/php/test/Api/FaxLineApiTest.php new file mode 100644 index 000000000..82e5b2fc7 --- /dev/null +++ b/sdks/php/test/Api/FaxLineApiTest.php @@ -0,0 +1,87 @@ +client = new GuzzleHttp\Client([ + 'handler' => GuzzleHttp\HandlerStack::create($this->handler), + ]); + + $this->api = new Api\FaxLineApi( + Configuration::getDefaultConfiguration(), + $this->client, + ); + } + + public function testFaxSend() + { + $requestClass = Model\FaxLineCreateRequest::class; + $requestData = TestUtils::getFixtureData($requestClass)['default']; + + $responseClass = Model\FaxLineResponse::class; + $responseData = TestUtils::getFixtureData($responseClass)['default']; + + $this->setExpectedResponse($responseData); + + $obj = Model\FaxLineCreateRequest::init( + $requestData + ); + + $response = $this->api->faxLineCreate($obj); + $serialized = TestUtils::toArray($response); + + $this->assertInstanceOf($responseClass, $response); + $this->assertEquals($responseData, $serialized); + $this->assertEquals($responseData, TestUtils::toArray($response)); + } + + public function testFaxLineList() + { + $responseClass = Model\FaxLineListResponse::class; + $responseData = TestUtils::getFixtureData($responseClass)['default']; + + $this->setExpectedResponse($responseData); + + $response = $this->api->faxLineList(); + $serialized = TestUtils::toArray($response); + + $this->assertInstanceOf($responseClass, $response); + $this->assertEquals($responseData, $serialized); + $this->assertEquals($responseData, TestUtils::toArray($response)); + } + + public function testFaxLineGet() + { + $faxLineNumber = '14155557897'; + + $responseClass = Model\FaxLineResponse::class; + $responseData = TestUtils::getFixtureData($responseClass)['default']; + + $this->setExpectedResponse($responseData); + + $response = $this->api->faxLineGet($faxLineNumber); + $serialized = TestUtils::toArray($response); + + $this->assertInstanceOf($responseClass, $response); + $this->assertEquals($responseData, $serialized); + $this->assertEquals($responseData, TestUtils::toArray($response)); + } +} diff --git a/sdks/python/tests/test_fax_api.py b/sdks/python/tests/test_fax_api.py new file mode 100644 index 000000000..b97509b1c --- /dev/null +++ b/sdks/python/tests/test_fax_api.py @@ -0,0 +1,71 @@ +import unittest + +from dropbox_sign import ApiClient, Configuration, apis, models as m +from test_utils import get_fixture_data, MockPoolManager, get_base_path + + +class TestFaxApi(unittest.TestCase): + def setUp(self): + self.configuration = Configuration() + self.api_client = ApiClient(self.configuration) + self.mock_pool = MockPoolManager(self) + self.api_client.rest_client.pool_manager = self.mock_pool + + self.api = apis.FaxApi(self.api_client) + + def test_fax_send(self): + request_class = "FaxSendRequest" + request_data = get_fixture_data(request_class)["default"] + + response_class = "FaxGetResponse" + response_data = get_fixture_data(response_class)["default"] + + self.mock_pool.expect_request( + content_type="multipart/form-data", + data=request_data, + response=response_data, + ) + expected = m.FaxGetResponse.init(response_data) + obj = m.FaxSendRequest.init(request_data) + obj.files = [open(f"{get_base_path()}/pdf-sample.pdf", "rb")] + + result = self.api.fax_send(obj) + + self.assertEqual(result.__class__.__name__, response_class) + self.assertEqual(result, expected) + + obj.files[0].close() + + def test_fax_get(self): + fax_id = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d" + + response_class = "FaxGetResponse" + response_data = get_fixture_data(response_class)["default"] + + self.mock_pool.expect_request( + content_type="application/json", response=response_data + ) + expected = m.FaxGetResponse.init(response_data) + + result = self.api.fax_get(fax_id) + + self.assertEqual(result.__class__.__name__, response_class) + self.assertEqual(result, expected) + + def test_fax_list(self): + response_class = "FaxListResponse" + response_data = get_fixture_data(response_class)["default"] + + self.mock_pool.expect_request( + content_type="application/json", response=response_data + ) + expected = m.FaxListResponse.init(response_data) + + result = self.api.fax_list() + + self.assertEqual(result.__class__.__name__, response_class) + self.assertEqual(result, expected) + + +if __name__ == "__main__": + unittest.main() diff --git a/sdks/python/tests/test_fax_line_api.py b/sdks/python/tests/test_fax_line_api.py new file mode 100644 index 000000000..569a08b76 --- /dev/null +++ b/sdks/python/tests/test_fax_line_api.py @@ -0,0 +1,68 @@ +import unittest + +from dropbox_sign import ApiClient, Configuration, apis, models as m +from test_utils import get_fixture_data, MockPoolManager, get_base_path + + +class TestFaxLineApi(unittest.TestCase): + def setUp(self): + self.configuration = Configuration() + self.api_client = ApiClient(self.configuration) + self.mock_pool = MockPoolManager(self) + self.api_client.rest_client.pool_manager = self.mock_pool + + self.api = apis.FaxLineApi(self.api_client) + + def test_fax_line_create(self): + request_class = "FaxLineCreateRequest" + request_data = get_fixture_data(request_class)["default"] + + response_class = "FaxLineResponse" + response_data = get_fixture_data(response_class)["default"] + + self.mock_pool.expect_request( + content_type="application/json", response=response_data + ) + + expected = m.FaxLineResponse.init(response_data) + + result = self.api.fax_line_create(obj) + + self.assertEqual(result.__class__.__name__, response_class) + self.assertEqual(result, expected) + + obj.files[0].close() + + def test_fax_line_get(self): + fax_line_number = "14155557897" + + response_class = "FaxLineResponse" + response_data = get_fixture_data(response_class)["default"] + + self.mock_pool.expect_request( + content_type="application/json", response=response_data + ) + expected = m.FaxLineResponse.init(response_data) + + result = self.api.fax_line_get(fax_line_number) + + self.assertEqual(result.__class__.__name__, response_class) + self.assertEqual(result, expected) + + def test_fax_line_list(self): + response_class = "FaxLineListResponse" + response_data = get_fixture_data(response_class)["default"] + + self.mock_pool.expect_request( + content_type="application/json", response=response_data + ) + expected = m.FaxLineListResponse.init(response_data) + + result = self.api.fax_line_list() + + self.assertEqual(result.__class__.__name__, response_class) + self.assertEqual(result, expected) + + +if __name__ == "__main__": + unittest.main() diff --git a/sdks/ruby/spec/api/fax_api_spec.rb b/sdks/ruby/spec/api/fax_api_spec.rb new file mode 100644 index 000000000..95e673a1e --- /dev/null +++ b/sdks/ruby/spec/api/fax_api_spec.rb @@ -0,0 +1,69 @@ +=begin +#Dropbox Sign API + +#Dropbox Sign v3 API + +The version of the OpenAPI document: 3.0.0 +Contact: apisupport@hellosign.com +Generated by: https://openapi-generator.tech +OpenAPI Generator version: 5.3.0 + +=end + +require 'spec_helper' +require 'json_spec' +require_relative '../test_utils' + +root_file_path = __dir__ + "/../../test_fixtures" + +describe Dropbox::Sign::FaxApi do + context 'FaxApiTest' do + api = Dropbox::Sign::FaxApi.new + + it 'testFaxSend' do + request_class = 'FaxSendRequest' + request_data = get_fixture_data(request_class)[:default] + + response_class = 'FaxGetResponse' + response_data = get_fixture_data(response_class)[:default] + + set_expected_response(200, JSON.dump(response_data)) + expected = Dropbox::Sign::FaxGetResponse.init(response_data) + obj = Dropbox::Sign::FaxSendRequest.init(request_data) + obj.files = [File.new("#{root_file_path}/pdf-sample.pdf", "r")] + + result = api.fax_send(obj) + + expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}") + expect(result.to_json).to be_json_eql(JSON.dump(expected)) + end + + it 'testFaxGet' do + signature_request_id = 'c2e9691c85d9d6fa6ae773842e3680b2b8650f1d' + + response_class = 'FaxGetResponse' + response_data = get_fixture_data(response_class)[:default] + + set_expected_response(200, JSON.dump(response_data)) + expected = Dropbox::Sign::FaxGetResponse.init(response_data) + + result = api.fax_get(signature_request_id) + + expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}") + expect(result.to_json).to be_json_eql(JSON.dump(expected)) + end + + it 'testFaxList' do + response_class = 'FaxListResponse' + response_data = get_fixture_data(response_class)[:default] + + set_expected_response(200, JSON.dump(response_data)) + expected = Dropbox::Sign::FaxListResponse.init(response_data) + + result = api.fax_list() + + expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}") + expect(result.to_json).to be_json_eql(JSON.dump(expected)) + end + end +end diff --git a/sdks/ruby/spec/api/fax_line_api_spec.rb b/sdks/ruby/spec/api/fax_line_api_spec.rb new file mode 100644 index 000000000..a6a6edffc --- /dev/null +++ b/sdks/ruby/spec/api/fax_line_api_spec.rb @@ -0,0 +1,67 @@ +=begin +#Dropbox Sign API + +#Dropbox Sign v3 API + +The version of the OpenAPI document: 3.0.0 +Contact: apisupport@hellosign.com +Generated by: https://openapi-generator.tech +OpenAPI Generator version: 5.3.0 + +=end + +require 'spec_helper' +require 'json_spec' +require_relative '../test_utils' + +root_file_path = __dir__ + "/../../test_fixtures" + +describe Dropbox::Sign::FaxApi do + context 'FaxLineApiTest' do + api = Dropbox::Sign::FaxLineApi.new + + it 'testFaxLineCreate' do + request_class = 'FaxLineCreateRequest' + request_data = get_fixture_data(request_class)[:default] + + response_class = 'FaxLineResponse' + response_data = get_fixture_data(response_class)[:default] + + set_expected_response(200, JSON.dump(response_data)) + expected = Dropbox::Sign::FaxLineResponse.init(response_data) + + result = api.fax_line_create(request_data) + + expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}") + expect(result.to_json).to be_json_eql(JSON.dump(expected)) + end + + it 'testFaxLineGet' do + fax_line_number = '14155557897' + + response_class = 'FaxLineResponse' + response_data = get_fixture_data(response_class)[:default] + + set_expected_response(200, JSON.dump(response_data)) + expected = Dropbox::Sign::FaxLineResponse.init(response_data) + + result = api.fax_line_get(fax_line_number) + + expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}") + expect(result.to_json).to be_json_eql(JSON.dump(expected)) + end + + it 'testFaxLineList' do + response_class = 'FaxLineListResponse' + response_data = get_fixture_data(response_class)[:default] + + set_expected_response(200, JSON.dump(response_data)) + expected = Dropbox::Sign::FaxLineListResponse.init(response_data) + + result = api.fax_line_list() + + expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}") + expect(result.to_json).to be_json_eql(JSON.dump(expected)) + end + end +end diff --git a/test_fixtures/FaxGetResponse.json b/test_fixtures/FaxGetResponse.json index 2eda936be..0d668e0e3 100644 --- a/test_fixtures/FaxGetResponse.json +++ b/test_fixtures/FaxGetResponse.json @@ -20,12 +20,11 @@ "transmissions": [ { "recipient": "recipient@dropboxsign.com", - "sender": "me@dropboxsign.com", "sent_at": 1723231831, "status_code": "success" } ], - "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2", + "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2" } } } diff --git a/test_fixtures/FaxLineCreateRequest.json b/test_fixtures/FaxLineCreateRequest.json new file mode 100644 index 000000000..91d11c8f8 --- /dev/null +++ b/test_fixtures/FaxLineCreateRequest.json @@ -0,0 +1,6 @@ +{ + "default": { + "country": "US", + "area_code": 949 + } +} diff --git a/test_fixtures/FaxLineListResponse.json b/test_fixtures/FaxLineListResponse.json new file mode 100644 index 000000000..c241c1b93 --- /dev/null +++ b/test_fixtures/FaxLineListResponse.json @@ -0,0 +1,26 @@ +{ + "default": { + "list_info": { + "num_pages": 1, + "num_results": 1, + "page": 1, + "page_size": 1 + }, + "fax_lines": [ + { + "number": "14155557897", + "created_at": 1750196223, + "updated_at": 1750196223, + "accounts": [ + { + "account_id": "a3367a4130f3624687ea7de6f09df951a44923dd", + "email_address": "me@dropboxsign.com", + "is_locked": false, + "is_paid_hs": false, + "is_paid_hf": true + } + ] + } + ] + } +} diff --git a/test_fixtures/FaxLineResponse.json b/test_fixtures/FaxLineResponse.json new file mode 100644 index 000000000..3855a8a65 --- /dev/null +++ b/test_fixtures/FaxLineResponse.json @@ -0,0 +1,18 @@ +{ + "default": { + "fax_line": { + "number": "14155557897", + "created_at": 1750196223, + "updated_at": 1750196223, + "accounts": [ + { + "account_id": "a3367a4130f3624687ea7de6f09df951a44923dd", + "email_address": "me@dropboxsign.com", + "is_locked": false, + "is_paid_hs": false, + "is_paid_hf": true + } + ] + } + } +} diff --git a/test_fixtures/FaxListResponse.json b/test_fixtures/FaxListResponse.json index a9ebf63cf..d0ce7feb6 100644 --- a/test_fixtures/FaxListResponse.json +++ b/test_fixtures/FaxListResponse.json @@ -27,12 +27,11 @@ "transmissions": [ { "recipient": "recipient@dropboxsign.com", - "sender": "me@dropboxsign.com", "sent_at": 1723231831, "status_code": "success" } ], - "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2", + "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2" } ] } diff --git a/test_fixtures/FaxResponse.json b/test_fixtures/FaxResponse.json new file mode 100644 index 000000000..32a44d568 --- /dev/null +++ b/test_fixtures/FaxResponse.json @@ -0,0 +1,24 @@ +{ + "default": { + "fax": { + "fax_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", + "title": "example title", + "original_title": "example original title", + "metadata": {}, + "created_at": 1750105080, + "sender": "14155557068", + "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2", + "final_copy_uri": "/v3/transmission/final_copy/c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", + "transmissions": [ + { + "recipient": "18005550199", + "status_code": "transmitting" + } + ], + "transmission_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", + "from": "14155557068", + "test_mode": false + } + } +} + diff --git a/test_fixtures/FaxSendResponse.json b/test_fixtures/FaxSendResponse.json deleted file mode 100644 index b651c7836..000000000 --- a/test_fixtures/FaxSendResponse.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "default": { - "fax": { - "fax_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", - "title": "example title", - "original_title": "example original title", - "subject": "example subject", - "message": "example message", - "metadata": [ ], - "created_at": 1726774555, - "sender": "me@dropboxsign.com", - "transmissions": [], - "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2" - } - } -}