public async Task RequestNewRedirectUrlUsingSignerUrl() { ClientConfiguration clientConfiguration = null; //As initialized earlier Job job = null; //As created earlier var directClient = new DirectClient(clientConfiguration); var directJobResponse = await directClient.Create(job); // Step 1: foreach (var signer in directJobResponse.Signers) { //Persist signer URL in sender system var signerResponseSignerUrl = signer.SignerUrl; } // ... some time later ... // Step 2: Request new redirect URL for signer Uri persistedSignerUrl = null; //Persisted URL from step 1. var signerWithUpdatedRedirectUrl = await directClient .RequestNewRedirectUrl( NewRedirectUrlRequest .FromSignerUrl(persistedSignerUrl) ); var newRedirectUrl = signerWithUpdatedRedirectUrl.RedirectUrl; }
public async Task Can_request_new_redirect_url() { var directClient = new DirectClient(GetClientConfiguration()) { HttpClient = GetHttpClientWithHandler(new FakeHttpClientHandlerForNewRedirectUrlResponse()) }; await directClient.RequestNewRedirectUrl(NewRedirectUrlRequest.FromSignerUrl(new Uri("http://someSignerUrl.no"))); }
public static List <SignerResponse> GetResponseSigners() { return(new List <SignerResponse>() { new SignerResponse( new PersonalIdentificationNumber("12345678910"), new Uri("http://responseurl.no"), NewRedirectUrlRequest.FromSignerUrl(new Uri("http://signerurl.no")) ) }); }
public void Converts_direct_job_with_multiple_signers_successfully() { //Arrange const string pin = "12345678910"; const string signerUrl = "https://api.signering.posten.no/api/123456789/direct/signature-jobs/1/signers/1"; const string redirectUrl = "https://api.signering.posten.no/redirect/#/c316e5b62df86a5d80e517b3ff4532738a9e7e43d4ae6075d427b1b58355bc63"; const string pin2 = "10987654321"; const string signerUrl2 = "https://api.signering.posten.no/api/123456789/direct/signature-jobs/1/signers/2"; const string redirectUrl2 = "https://api.signering.posten.no/redirect/#/sdflkj34kl2l34kjl234jkh2jhgj234gk5jln2n34gkj234hhjjlg234l34g234"; var source = new directsignaturejobresponse { signaturejobid = 1444, reference = "senders-reference", redirecturl = new[] { new signerspecificurl { signer = pin, Value = redirectUrl }, new signerspecificurl { signer = pin2, Value = redirectUrl2 } }, statusurl = "https://api.signering.posten.no/api/signature-jobs/1/status", signer = new[] { new directsignerresponse() { href = signerUrl, ItemElementName = ItemChoiceType1.personalidentificationnumber, redirecturl = redirectUrl, Item = pin, }, new directsignerresponse() { href = signerUrl2, ItemElementName = ItemChoiceType1.personalidentificationnumber, redirecturl = redirectUrl2, Item = pin2, } } }; var expected = new JobResponse( source.signaturejobid, source.reference, new List <SignerResponse>() { new SignerResponse(new PersonalIdentificationNumber(pin), new Uri(redirectUrl), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl))), new SignerResponse(new PersonalIdentificationNumber(pin2), new Uri(redirectUrl2), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl2))), }, new StatusUrl(new Uri(source.statusurl)) ); //Act var result = new JobResponse(source); //Assert var comparator = new Comparator(); comparator.AreEqual(expected, result, out var differences); Assert.Empty(differences); }
public void Create_from_identifier() { const string redirectUrl = "http://example.com/redirect"; const string customIdentifier = "Some Custom Identifier"; const string signerUrl = "http://example.com/signer/1"; var source = new directsignerresponse { redirecturl = redirectUrl, Item = customIdentifier, ItemElementName = ItemChoiceType1.signeridentifier, href = signerUrl }; var expected = new SignerResponse(new CustomIdentifier(customIdentifier), new Uri(redirectUrl), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl))); var actual = new SignerResponse(source); Assert.Equal(expected, actual); }
public void Create_from_personal_identification_number() { var redirectUrl = "http://example.com/redirect"; var personalIdentificationNumber = "01013300001"; var signerUrl = "http://example.com/signer/1"; var source = new directsignerresponse { redirecturl = redirectUrl, Item = personalIdentificationNumber, ItemElementName = ItemChoiceType1.personalidentificationnumber, href = signerUrl }; var expected = new SignerResponse(new PersonalIdentificationNumber(personalIdentificationNumber), new Uri(redirectUrl), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl))); var actual = new SignerResponse(source); Assert.Equal(expected, actual); }