Пример #1
0
        public void Can_Create_HelloSignClient_with_Config()
        {
            var exampleConfig = new HelloSignConfig("Example-of-Api-Key", "http://path/to/api/endpoing", 123456);
            var apiClient = new HelloSignClient(exampleConfig);

            Assert.NotNull(apiClient.Config);
        }
Пример #2
0
        public void Update_Account_Response_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\UpdateAccount.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.UpdateAccount("https://www.example.com/callback");
                var expected = new HSAccount
                {
                    AccountId = "5008b25c7f67153e57d5a357b1687968068fb465",
                    EmailAddress = "*****@*****.**",
                    IsPaidHS = true,
                    IsPaidHF = false,
                    Quotas = new HSQuotas { ApiSignatureRequest = 1250 },
                    CallbackUrl = "https://www.example.com/callback",
                };

                Assert.Equal(expected, t.Result.Account);
            }
        }
Пример #3
0
        public void Send_SignatureRequest_FileUrls_Response_Test()
        {
            var requestData = new HSSendSignatureRequestData
            {
                Title = "NDA for Project X",
                Subject = "NDA We Talk about",
                Message = "Bla Bla Bla",
                Signers = new List<HSSigner> { new HSSigner { Name = "John", EmailAddress = "*****@*****.**", Order = "1", Pin = "1234" } },
                FileUrls = new List<string> { "http://www.hollywood-arts.org/wp-content/uploads/2014/05/pdf-sample.pdf" },
            };

            using (var httpClient = FakeClientWithJsonResponse("TestData\\SignatureRequest.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.SendSignatureRequest(requestData);

                Assert.Equal("a9f4825edef25f47e7b", t.Result.SignatureRequest.SignatureRequestId);
            }
        }
Пример #4
0
        public void Send_SignatureRequest_Files_Response_Test()
        {
            var requestData = new HSSendSignatureRequestData
            {
                Title = "NDA for Project X",
                Subject = "NDA We Talk about",
                Message = "Bla Bla Bla",
                Signers = new List<HSSigner> {new HSSigner {Name = "John", EmailAddress = "*****@*****.**"}},
                Files = new List<FileInfo> {new FileInfo("TestData\\pdf-sample.pdf")}
            };

            using (var httpClient = FakeClientWithJsonResponse("TestData\\SignatureRequest.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.SendSignatureRequest(requestData);
                t.Wait();
                Assert.Equal("a9f4825edef25f47e7b", t.Result.SignatureRequest.SignatureRequestId);
            }
        }
Пример #5
0
        public void Send_Invalid_SignatureRequest_Get_Exception()
        {
            var requestData = new HSSendSignatureRequestData
            {
                Title = "NDA for Project X",
                Subject = "NDA We Talk about",
                Message = "Bla Bla Bla",
                Files = new List<FileInfo> {new FileInfo("TestData\\pdf-sample.pdf")}
            };

            using (var httpClient = FakeClientWithJsonResponse("TestData\\SignatureRequest.json"))
            {
                var apiClient = new HelloSignClient(httpClient);

                Assert.Throws<ArgumentException>(() => {
                    apiClient.SendSignatureRequest(requestData);
                });
            }
        }
Пример #6
0
        public void RemindSignatureRequestTest()
        {
            var requestData = new HSRemindSignatureRequestData
            {
                SignatureRequestId = "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
                EmailAddress="*****@*****.**",
            };

            using (var httpClient = FakeClientWithJsonResponse("TestData\\SignatureRequest-Remind.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.RemindSignatureRequest(requestData);

                Assert.Equal("2f9781e1a8e2045224d808c153c2e1d3df6f8f2f", t.Result.SignatureRequest.SignatureRequestId);
            }
        }
Пример #7
0
        public void Get_Warning_Response_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\Warning.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.GetAccount();

                var warnings = new List<HSWarning>();
                var expected = new HSWarning
                {
                    WarningMsg = "This SignatureRequest will be placed on hold until the user confirms their email address.",
                    WarningName = "unconfirmed"
                };
                warnings.Add(expected);

                Assert.False(t.Result.IsSuccess);
                Assert.True(t.Result.HasWarnings);
                Assert.Equal(warnings[0], t.Result.Warnings[0]);
            }
        }
Пример #8
0
        public void Get_SignatureRequest_Response_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\GetSignatureRequest.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.GetSignatureRequest("fa5c8a0b0f492d768749333ad6fcc214c111e967");

                Assert.Equal("fa5c8a0b0f492d768749333ad6fcc214c111e967", t.Result.SignatureRequest.SignatureRequestId);
            }
        }
Пример #9
0
        public void Download_SignatureRequest_without_FileStorage_throw_Exception_Test()
        {
            using (var httpClient = FakeClientWithFileResponse("sample.pdf","TestData\\pdf-sample.pdf"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var outputPath = new FileInfo("TestData\\sample.pdf");
                if (outputPath.Exists)
                    outputPath.Delete();

                Assert.Throws<IOException>(() =>
                {
                    var t = apiClient.DownloadSignatureRequestDocuments(new HSDownloadSignatureRequestData { SignatureRequestId = "DUMMY-SIGNATURE-ID", FileType = "pdf" }, outputPath.DirectoryName);
                    t.Wait();
                });
            }
        }
Пример #10
0
        public void Get_Account_Response_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\GetAccount-OK.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.GetAccount();

                var expected = new HSAccount
                {
                    AccountId = "abcXYZ",
                    EmailAddress = "*****@*****.**",
                    IsPaidHS = true,
                    IsPaidHF = false,
                    CallbackUrl = null,
                    RoleCode = null,
                    Quotas = new HSQuotas
                    {
                        ApiSignatureRequest = 1250,
                        DocumentsLeft = null,
                        TemplatesLeft = null
                    }
                };

                Assert.Equal(expected, t.Result.Account);
            }
        }
Пример #11
0
        public void Download_SignatureRequest_Document_Response_Test()
        {
            using (var httpClient = FakeClientWithFileResponse("sample.pdf","TestData\\pdf-sample.pdf"))
            {
                var apiClient = new HelloSignClient(httpClient) {FileStorage = new WindowsFileStorage()};
                var outputPath = new FileInfo("TestData\\sample.pdf");
                if (outputPath.Exists)
                    outputPath.Delete();

                var t = apiClient.DownloadSignatureRequestDocuments(new HSDownloadSignatureRequestData { SignatureRequestId = "DUMMY-SIGNATURE-ID", FileType = "pdf" }, outputPath.DirectoryName);
                t.Wait();

                Assert.True(outputPath.Exists);
            }
        }
Пример #12
0
        public void Create_Account_withou_Email_Password_throws_Exception()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\CreateAccount.json"))
            {
                var apiClient = new HelloSignClient(httpClient);

                Assert.Throws<ArgumentNullException>(() => {
                    var t = apiClient.CreateAccount("", null);
                });
            }
        }
Пример #13
0
        public void Create_Account_Response_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\CreateAccount.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.CreateAccount("*****@*****.**", "somepassowrd");
                var expected = new HSAccount
                {
                    AccountId = "a2b31224f7e6fb5581d2f8cbd91cf65fa2f86aae",
                    EmailAddress = "*****@*****.**",
                    IsPaidHS = false,
                    IsPaidHF = false,
                    Quotas = new HSQuotas
                    {
                        DocumentsLeft = 3,
                        ApiSignatureRequest = 0,
                        TemplatesLeft = 1
                    }
                };

                Assert.Equal(expected, t.Result.Account);
            }
        }
Пример #14
0
        public void Verify_Account_Response_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\VerifyAccount.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.VerifyAccount("*****@*****.**");
                var expected = new HSAccount
                {
                    EmailAddress = "*****@*****.**"
                };

                Assert.Equal(expected, t.Result.Account);
            }
        }
Пример #15
0
        public void Get_Unauthorized_Error_Test()
        {
            using (var httpClient = FakeClientWithJsonResponse("TestData\\Error.json"))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.GetAccount();

                var expected = new HSError
                {
                    ErrorMsg = "Unauthorized user.",
                    ErrorName = "unauthorized"
                };

                Assert.False(t.Result.IsSuccess);
                Assert.True(t.Result.HasError);
                Assert.Equal(expected, t.Result.Error);
            }
        }
Пример #16
0
        public void CancelSignatureRequestTest()
        {
            using (var httpClient = FakeClientWithJsonResponse(null))
            {
                var apiClient = new HelloSignClient(httpClient);
                var t = apiClient.CancelSignatureRequest("abcdeng");

                Assert.Equal(true, t.Result);
            }
        }
Пример #17
0
 public void Can_Create_HelloSignClient_with_Api_Key()
 {
     var apiCient = new HelloSignClient("Example-of-Api-Key");
     Assert.NotNull(apiCient.Config);
 }