public void Converts_document_successfully()
            {
                //Arrange
                const string   subject       = "Subject";
                const string   message       = "Message";
                const FileType fileType      = FileType.Pdf;
                var            documentBytes = new byte[] { 0x21, 0x22 };

                var source = new Document(
                    subject,
                    message,
                    fileType,
                    documentBytes
                    );

                var expected = new directdocument
                {
                    title       = subject,
                    description = message,
                    href        = source.FileName,
                    mime        = "application/pdf"
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
Beispiel #2
0
            public void PrintReturnRecipientFromNorwegianAddress()
            {
                //Arrange
                var source = new PrintReturnRecipient(
                    "Name",
                    new NorwegianAddress("0001", "Oslo", "Addr1", "Addr2", "Addr3"));

                var expectedDto = new printrecipient
                {
                    name = source.Name,
                    Item = new norwegianaddress
                    {
                        zipcode      = ((NorwegianAddress)source.Address).PostalCode,
                        city         = ((NorwegianAddress)source.Address).City,
                        addressline1 = source.Address.AddressLine1,
                        addressline2 = source.Address.AddressLine2,
                        addressline3 = source.Address.AddressLine3
                    }
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);
            }
Beispiel #3
0
            public void Converts_signer_with_notifications_using_lookup_successfully()
            {
                //Arrange
                var source = new Signer(
                    new PersonalIdentificationNumber("11111111111"),
                    new NotificationsUsingLookup()
                    );
                var expected = new portalsigner
                {
                    Item  = ((PersonalIdentificationNumber)source.Identifier).Value,
                    Item1 = new notificationsusinglookup {
                        email = new enabled()
                    },
                    onbehalfof          = signingonbehalfof.SELF,
                    onbehalfofSpecified = true,
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
        private static JobStatusChanged ParseResponseToPortalJobStatusChangeResponse(string requestContent, DateTime nextPermittedPollTime)
        {
            var deserialized = SerializeUtility.Deserialize <portalsignaturejobstatuschangeresponse>(requestContent);
            var portalJobStatusChangeResponse = DataTransferObjectConverter.FromDataTransferObject(deserialized, nextPermittedPollTime);

            return(portalJobStatusChangeResponse);
        }
Beispiel #5
0
            public void ForeignAddress()
            {
                //Arrange
                var source = new ForeignAddress(
                    CountryIdentifier.Countrycode,
                    "SE",
                    "Adresselinje1",
                    "Adresselinje2",
                    "Adresselinje3",
                    "Adresselinje4"
                    );

                var expectedDto = new foreignaddress
                {
                    ItemElementName = ItemChoiceType2.countrycode,
                    Item            = "SE",
                    addressline1    = source.AddressLine1,
                    addressline2    = source.AddressLine2,
                    addressline3    = source.AddressLine3,
                    addressline4    = source.Addressline4
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);
            }
            public void Converts_signer_with_signer_identifier_successfully()
            {
                //Arrange
                const string customIdentifier = "custom-identifier";

                var source = new Signer(new CustomIdentifier(customIdentifier))
                {
                    OnBehalfOf = OnBehalfOf.Other
                };
                var expected = new directsigner
                {
                    ItemElementName     = ItemChoiceType.signeridentifier,
                    Item                = customIdentifier,
                    onbehalfofSpecified = true,
                    onbehalfof          = signingonbehalfof.OTHER
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
Beispiel #7
0
            public void SmsNotification()
            {
                //Arrange
                var atTimes = new List <DateTime> {
                    DateTime.Now, DateTime.Now.AddHours(3)
                };
                var afterHours = new List <int> {
                    4, 5
                };

                var source = new SmsNotification();

                source.NotifyAfterHours.AddRange(afterHours);
                source.NotifyAtTimes.AddRange(atTimes);

                var expectedDto = new smsnotification
                {
                    afterhours = afterHours.ToArray(),
                    at         = atTimes.Select(a => new listedtime {
                        timeSpecified = true, time = a
                    }).ToArray()
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actual);
            }
Beispiel #8
0
        public async Task <IIdentificationResult> IdentifyAsync(IIdentification identification)
        {
            _logger.LogDebug($"Outgoing identification request: {identification}");

            var uri = new Uri("identification", UriKind.Relative);

            var identifyResponse = RequestHelper.PostIdentification <identificationresult>(identification, uri);

            if (identifyResponse.IsFaulted)
            {
                var exception = identifyResponse.Exception?.InnerException;

                _logger.LogWarning($"Identification failed, {exception}");

                if (identifyResponse.Exception != null)
                {
                    throw identifyResponse.Exception.InnerException;
                }
            }

            var identificationResultDataTransferObject = await identifyResponse.ConfigureAwait(false);

            var identificationResult = DataTransferObjectConverter.FromDataTransferObject(identificationResultDataTransferObject);

            _logger.LogDebug($"Response received for identification to recipient, ResultType '{identificationResult.ResultType}', Data '{identificationResult.Data}'.");

            return(identificationResult);
        }
Beispiel #9
0
            public void Converts_signer_identified_by_sms()
            {
                //Arrange
                var source = new Signer(
                    new ContactInformation {
                    Sms = new Sms("11111111")
                }
                    );

                var expected = new portalsigner
                {
                    Item  = new enabled(),
                    Item1 = new notifications
                    {
                        Items = new object[]
                        {
                            new sms {
                                number = "11111111"
                            }
                        }
                    },
                    onbehalfof          = signingonbehalfof.SELF,
                    onbehalfofSpecified = true,
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
Beispiel #10
0
            public void Converts_signer_with_contact_information_identifier()
            {
                //Arrange
                var source = new Signer(new ContactInformation {
                    Email = new Email("*****@*****.**")
                });

                var expected = new portalsigner
                {
                    Item  = new enabled(),
                    Item1 = new notifications
                    {
                        Items = new object[] { new email {
                                                   address = ((ContactInformation)source.Identifier).Email.Address
                                               } }
                    },
                    onbehalfof          = signingonbehalfof.SELF,
                    onbehalfofSpecified = true,
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
Beispiel #11
0
            public void Converts_portal_document_successfully()
            {
                //Arrange
                var source = new Document("subject", "message", FileType.Pdf, new byte[] { 0xb2, 0xb3 })
                {
                    NonsensitiveTitle = "NonsensitiveTitle"
                };
                var expected = new portaldocument
                {
                    title             = source.Title,
                    nonsensitivetitle = source.NonsensitiveTitle,
                    description       = source.Message,
                    href = source.FileName,
                    mime = source.MimeType
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
Beispiel #12
0
            public void Converts_portal_job_with_polling_queue_successfully()
            {
                //Arrange
                var document           = DomainUtility.GetPortalDocument();
                var signers            = DomainUtility.GetSigners(2);
                var reference          = "reference";
                var custompollingqueue = "CustomPollingQueue";
                var sender             = new Sender(BringPublicOrganizationNumber, new PollingQueue(custompollingqueue));
                var source             = new Job(document, signers, reference, sender);

                var expected = new portalsignaturejobrequest
                {
                    reference    = reference,
                    pollingqueue = custompollingqueue
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
Beispiel #13
0
        /// <summary>
        ///     Get the current status for the given <see cref="StatusReference" />, which references the status for a specific
        ///     job.
        ///     When processing of the status is complete (e.g. retrieving <see cref="GetPades(PadesReference)">PAdES</see> and/or
        ///     <see cref="GetXades(XadesReference)">XAdES</see> documents for a <see cref="JobStatus.CompletedSuccessfully" /> job
        ///     where all the signers have <see cref="SignatureStatus.Signed" /> their documents), the returned  status
        ///     must be confirmed via <see cref="Confirm(ConfirmationReference)" />.
        /// </summary>
        /// <param name="statusReference">The reference to the status of a specific job.</param>
        /// <returns>
        ///     the <see cref="JobStatusResponse" /> for the job referenced by the given <see cref="StatusReference" />,
        ///     never null.
        /// </returns>
        public async Task <JobStatusResponse> GetStatus(StatusReference statusReference)
        {
            var request = new HttpRequestMessage
            {
                RequestUri = statusReference.Url(),
                Method     = HttpMethod.Get
            };

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));

            var requestResult = await HttpClient.SendAsync(request).ConfigureAwait(false);

            var requestContent = requestResult.Content.ReadAsStringAsync().Result;

            switch (requestResult.StatusCode)
            {
            case HttpStatusCode.OK:
                var nextPermittedPollTime = DateTime.Now;
                var jobStatusResponse     = DataTransferObjectConverter.FromDataTransferObject(SerializeUtility.Deserialize <directsignaturejobstatusresponse>(requestContent), nextPermittedPollTime);
                _logger.LogDebug($"Requested status for JobId: {jobStatusResponse.JobId}, status was: {jobStatusResponse.Status}.");
                return(jobStatusResponse);

            default:
                throw RequestHelper.HandleGeneralException(requestResult.StatusCode, requestContent);
            }
        }
Beispiel #14
0
            public void Converts_notifications_with_sms_and_email_successfully()
            {
                //Arrange
                var sms   = new Sms("99999999");
                var email = new Email("*****@*****.**");

                var source   = new Notifications(sms, email);
                var expected = new notifications
                {
                    Items = new object[]
                    {
                        new email {
                            address = email.Address
                        },
                        new sms {
                            number = sms.Number
                        }
                    }
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
Beispiel #15
0
            public void Converts_error_successfully()
            {
                //Arrange
                var source = new error
                {
                    errorcode    = "errorcode",
                    errormessage = "errormessage",
                    errortype    = "errortype"
                };

                var expected = new Error
                {
                    Code    = source.errorcode,
                    Message = source.errormessage,
                    Type    = source.errortype
                };

                //Act
                var actual = DataTransferObjectConverter.FromDataTransferObject(source);

                //Assert
                var compartor = new Comparator();
                IEnumerable <IDifference> differences;

                compartor.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
Beispiel #16
0
        public async Task <ISearchDetailsResult> SearchAsync(string search)
        {
            _logger.LogDebug($"Outgoing search request, term: '{search}'.");

            search = search.RemoveReservedUriCharacters();
            var uri = new Uri($"recipients/search/{Uri.EscapeUriString(search)}", UriKind.Relative);

            if (search.Length < MinimumSearchLength)
            {
                var emptyResult = new SearchDetailsResult {
                    PersonDetails = new List <SearchDetails>()
                };

                var taskSource = new TaskCompletionSource <ISearchDetailsResult>();
                taskSource.SetResult(emptyResult);
                return(await taskSource.Task.ConfigureAwait(false));
            }

            var searchDetailsResultDataTransferObject = await RequestHelper.Get <recipients>(uri).ConfigureAwait(false);

            var searchDetailsResult = DataTransferObjectConverter.FromDataTransferObject(searchDetailsResultDataTransferObject);

            _logger.LogDebug($"Response received for search with term '{search}' retrieved.");

            return(searchDetailsResult);
        }
Beispiel #17
0
            public void Converts_signer_with_pin_and_notifications_successfully()
            {
                //Arrange
                var source = new Signer(
                    new PersonalIdentificationNumber("11111111111"),
                    new Notifications(new Email("*****@*****.**"))
                    );
                var expected = new portalsigner
                {
                    Item  = ((PersonalIdentificationNumber)source.Identifier).Value,
                    Item1 = new notifications
                    {
                        Items = new object[]
                        {
                            new email {
                                address = source.Notifications.Email.Address
                            }
                        }
                    },
                    onbehalfof          = signingonbehalfof.SELF,
                    onbehalfofSpecified = true,
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }
Beispiel #18
0
            public void PrintReturnRecipientFromForeignAddress()
            {
                //Arrange
                var source = new PrintReturnRecipient(
                    "Name",
                    new ForeignAddress(
                        CountryIdentifier.Country,
                        "NORGE",
                        "Adresselinje1",
                        "Adresselinje2",
                        "Adresselinje3",
                        "Adresselinje4"
                        ));

                var expectedDto = new printrecipient
                {
                    name = source.Name,
                    Item = new foreignaddress
                    {
                        ItemElementName = ItemChoiceType2.country,
                        Item            = ((ForeignAddress)source.Address).CountryIdentifierValue,
                        addressline1    = source.Address.AddressLine1,
                        addressline2    = source.Address.AddressLine2,
                        addressline3    = source.Address.AddressLine3,
                        addressline4    = ((ForeignAddress)source.Address).Addressline4
                    }
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);
            }
Beispiel #19
0
        private void ThrowNotEmptyResponseError(string responseContent)
        {
            var errorDataTransferObject = SerializeUtil.Deserialize <error>(responseContent);
            var error = DataTransferObjectConverter.FromDataTransferObject(errorDataTransferObject);

            _logger.LogError("Error occured, check inner Error object for more information.", error);
            throw new ClientResponseException("Error occured, check inner Error object for more information.", error);
        }
            public void Converts_manifest_with_signature_type_successfully()
            {
                //Arrange
                const string organizationNumberSender     = "12345678902";
                const string documentSubject              = "Subject";
                const string documentMessage              = "Message";
                var          pdfDocumentBytes             = GetPdfDocumentBytes();
                var          personalIdentificationNumber = "12345678901";
                var          expectedMimeType             = "application/pdf";

                var source = new Manifest(
                    new Sender(organizationNumberSender),
                    new Document(documentSubject, documentMessage, FileType.Pdf, pdfDocumentBytes),
                    new[]
                {
                    new Signer(new PersonalIdentificationNumber(personalIdentificationNumber))
                    {
                        SignatureType = SignatureType.AdvancedSignature
                    }
                }
                    );

                var expected = new directsignaturejobmanifest
                {
                    sender = new sender {
                        organizationnumber = organizationNumberSender
                    },
                    document = new directdocument
                    {
                        title       = documentSubject,
                        description = documentMessage,
                        href        = source.Document.FileName,
                        mime        = expectedMimeType
                    },
                    signer = new[]
                    {
                        new directsigner
                        {
                            ItemElementName        = ItemChoiceType.personalidentificationnumber,
                            Item                   = personalIdentificationNumber,
                            signaturetype          = signaturetype.ADVANCED_ELECTRONIC_SIGNATURE,
                            signaturetypeSpecified = true,
                            onbehalfof             = signingonbehalfof.SELF,
                            onbehalfofSpecified    = true
                        }
                    }
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
Beispiel #21
0
            public void PrintIfUnread()
            {
                //Arrange
                DateTime     printifunreadafter = DateTime.Now.AddDays(3);
                PrintDetails printDetails       = new PrintDetails(
                    new PrintRecipient(
                        "Name",
                        new NorwegianAddress("0001", "Oslo", "Addr1", "Addr2", "Addr3")),
                    new PrintReturnRecipient(
                        "ReturnName",
                        new NorwegianAddress("0001", "OsloRet", "Addr1Ret", "Addr2Ret", "Addr3Ret")));

                var source        = new PrintIfUnread(printifunreadafter, printDetails);
                var sourceAddress = source.PrintDetails.PrintRecipient.Address;
                var returnAddress = source.PrintDetails.PrintReturnRecipient.Address;

                var expectedDtoPrintDetails = new printdetails
                {
                    recipient = new printrecipient
                    {
                        name = source.PrintDetails.PrintRecipient.Name,
                        Item = new norwegianaddress
                        {
                            zipcode      = ((NorwegianAddress)sourceAddress).PostalCode,
                            city         = ((NorwegianAddress)sourceAddress).City,
                            addressline1 = sourceAddress.AddressLine1,
                            addressline2 = sourceAddress.AddressLine2,
                            addressline3 = sourceAddress.AddressLine3
                        }
                    },
                    returnaddress = new printrecipient
                    {
                        name = source.PrintDetails.PrintReturnRecipient.Name,
                        Item = new norwegianaddress
                        {
                            zipcode      = ((NorwegianAddress)returnAddress).PostalCode,
                            city         = ((NorwegianAddress)returnAddress).City,
                            addressline1 = returnAddress.AddressLine1,
                            addressline2 = returnAddress.AddressLine2,
                            addressline3 = returnAddress.AddressLine3
                        }
                    }
                };

                var expectedDto = new printifunread
                {
                    printifunreadafter = printifunreadafter,
                    printdetails       = expectedDtoPrintDetails
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);

                Assert.Null(DataTransferObjectConverter.ToDataTransferObject((IPrintIfUnread)null));
            }
Beispiel #22
0
            public void PrintDetails()
            {
                //Arrange
                var source = new PrintDetails(
                    new PrintRecipient(
                        "Name",
                        new NorwegianAddress("0001", "Oslo", "Addr1", "Addr2", "Addr3")),
                    new PrintReturnRecipient(
                        "ReturnName",
                        new NorwegianAddress("0001", "OsloRet", "Addr1Ret", "Addr2Ret", "Addr3Ret")));

                List <PrintInstruction> printinstruction = new List <PrintInstruction>();

                printinstruction.Add(new PrintInstruction("test", "testing"));
                source.PrintInstructions = new PrintInstructions(printinstruction);

                var sourceAddress = source.PrintRecipient.Address;
                var returnAddress = source.PrintReturnRecipient.Address;

                var expectedDto = new printdetails
                {
                    recipient = new printrecipient
                    {
                        name = source.PrintRecipient.Name,
                        Item = new norwegianaddress
                        {
                            zipcode      = ((NorwegianAddress)sourceAddress).PostalCode,
                            city         = ((NorwegianAddress)sourceAddress).City,
                            addressline1 = sourceAddress.AddressLine1,
                            addressline2 = sourceAddress.AddressLine2,
                            addressline3 = sourceAddress.AddressLine3
                        }
                    },
                    returnaddress = new printrecipient
                    {
                        name = source.PrintReturnRecipient.Name,
                        Item = new norwegianaddress
                        {
                            zipcode      = ((NorwegianAddress)returnAddress).PostalCode,
                            city         = ((NorwegianAddress)returnAddress).City,
                            addressline1 = returnAddress.AddressLine1,
                            addressline2 = returnAddress.AddressLine2,
                            addressline3 = returnAddress.AddressLine3
                        }
                    },
                    printinstructions = new printinstruction[] { new printinstruction {
                                                                     key = "test", value = "testing"
                                                                 } }
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);

                Assert.Null(DataTransferObjectConverter.ToDataTransferObject((IPrintDetails)null));
            }
Beispiel #23
0
            public void Converts_manifest_without_availability_successfully()
            {
                //Arrange
                const string organizationNumberSender = "12345678902";
                var          source = new Manifest(new Sender(organizationNumberSender), DomainUtility.GetPortalDocument(),
                                                   new List <Signer>
                {
                    new Signer(new PersonalIdentificationNumber("01043100358"), new NotificationsUsingLookup()),
                    new Signer(new PersonalIdentificationNumber("01043100319"), new NotificationsUsingLookup())
                });

                var expected = new portalsignaturejobmanifest
                {
                    sender = new sender {
                        organizationnumber = organizationNumberSender
                    },
                    document = new portaldocument
                    {
                        title       = source.Document.Title,
                        description = source.Document.Message,
                        href        = source.Document.FileName,
                        mime        = source.Document.MimeType
                    },
                    signers = new[]
                    {
                        new portalsigner
                        {
                            Item  = ((PersonalIdentificationNumber)source.Signers.ElementAt(0).Identifier).Value,
                            Item1 = new notificationsusinglookup {
                                email = new enabled()
                            },
                            onbehalfof          = signingonbehalfof.SELF,
                            onbehalfofSpecified = true,
                        },
                        new portalsigner
                        {
                            Item  = ((PersonalIdentificationNumber)source.Signers.ElementAt(1).Identifier).Value,
                            Item1 = new notificationsusinglookup {
                                email = new enabled()
                            },
                            onbehalfof          = signingonbehalfof.SELF,
                            onbehalfofSpecified = true,
                        }
                    }
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
            public void Converts_direct_job_status_with_multiple_signers_successfully()
            {
                //Arrange
                var now = DateTime.Now;

                var source = new directsignaturejobstatusresponse
                {
                    signaturejobid     = 77,
                    reference          = null,
                    signaturejobstatus = directsignaturejobstatus.FAILED,
                    status             = new[]
                    {
                        new signerstatus {
                            signer = "12345678910", Value = "REJECTED", since = now
                        },
                        new signerstatus {
                            signer = "10987654321", Value = "SIGNED", since = now
                        }
                    },
                    xadesurl = new[]
                    {
                        new signerspecificurl {
                            signer = "10987654321", Value = "https://example.com/xades-url"
                        }
                    },
                    confirmationurl = "https://example.com/confirmation-url"
                };

                var nextPermittedPollTime = DateTime.Now;

                var expected = new JobStatusResponse(
                    source.signaturejobid,
                    source.reference,
                    JobStatus.Failed,
                    new JobReferences(new Uri("https://example.com/confirmation-url"), null),
                    new List <Signature>
                {
                    new Signature("12345678910", null, SignatureStatus.Rejected, now),
                    new Signature("10987654321", new XadesReference(new Uri("https://example.com/xades-url")), SignatureStatus.Signed, now)
                },
                    nextPermittedPollTime
                    );

                //Act
                var result = DataTransferObjectConverter.FromDataTransferObject(source, nextPermittedPollTime);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
Beispiel #25
0
            public void Successful_manifest_to_bytes()
            {
                //Arrange
                var manifest = DomainUtility.GetPortalManifest();
                var manifestDataTranferObject = DataTransferObjectConverter.ToDataTransferObject(manifest);
                var expectedResult            = SerializeUtility.Serialize(manifestDataTranferObject);

                //Act
                var bytes        = manifest.Bytes;
                var actualResult = Encoding.UTF8.GetString(bytes);

                //Assert
                Assert.Equal(expectedResult, actualResult);
            }
            public void ReturnsCorrectDataForIdentification()
            {
                //Arrange
                var identification = new Identification(new RecipientById(IdentificationType.PersonalIdentificationNumber, "00000000000"));

                //Act
                var action  = new IdentificationAction(identification);
                var content = action.RequestContent;

                //Assert
                var identificationDto = DataTransferObjectConverter.ToDataTransferObject(identification);
                var expected          = SerializeUtil.Serialize(identificationDto);

                Assert.Equal(expected, content.InnerXml);
            }
Beispiel #27
0
            public void IdentificationByOrganizationNumber()
            {
                //Arrange
                var source      = new Identification(new RecipientById(IdentificationType.OrganizationNumber, "123456789"));
                var expectedDto = new identification
                {
                    ItemElementName = ItemChoiceType.organisationnumber,
                    Item            = ((RecipientById)source.DigipostRecipient).Id
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);
            }
            public void Converts_signed_direct_job_status_successfully()
            {
                //Arrange
                var now = DateTime.Now;

                var source = new directsignaturejobstatusresponse
                {
                    signaturejobid     = 77,
                    reference          = "senders-reference",
                    signaturejobstatus = directsignaturejobstatus.COMPLETED_SUCCESSFULLY,
                    status             = new[] { new signerstatus {
                                                     signer = "12345678910", Value = "SIGNED", since = now
                                                 } },
                    confirmationurl = "http://signatureRoot.digipost.no/confirmation",
                    xadesurl        = new[] { new signerspecificurl {
                                                  signer = "12345678910", Value = "http://signatureRoot.digipost.no/xades"
                                              } },
                    padesurl = "http://signatureRoot.digipost.no/pades"
                };

                var nextPermittedPollTime = DateTime.Now;

                var expected = new JobStatusResponse(
                    source.signaturejobid,
                    source.reference,
                    JobStatus.CompletedSuccessfully,
                    new JobReferences(new Uri(source.confirmationurl), new Uri(source.padesurl)),
                    new List <Signature> {
                    new Signature("12345678910", new XadesReference(new Uri("http://signatureRoot.digipost.no/xades")), SignatureStatus.Signed, now)
                },
                    nextPermittedPollTime
                    );

                //Act
                var result = DataTransferObjectConverter.FromDataTransferObject(source, nextPermittedPollTime);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
Beispiel #29
0
            public void InitializesClassAndParentProperties()
            {
                //Arrange
                var businessCertificate = CoreDomainUtility.GetTestCertificate();
                var clientConfiguration = CoreDomainUtility.GetClientConfiguration();
                var directJob           = new Job(DomainUtility.GetDirectDocument(), DomainUtility.GetSigner(), "reference", DomainUtility.GetExitUrls(), CoreDomainUtility.GetSender());
                var serializedJob       = SerializeUtility.Serialize(DataTransferObjectConverter.ToDataTransferObject(directJob));

                var asiceBundle = DirectAsiceGenerator.CreateAsice(directJob, businessCertificate, clientConfiguration);

                //Act
                var action = new CreateAction(directJob, asiceBundle);

                //Assert
                Assert.Equal(directJob, action.RequestContent);
                Assert.Equal(serializedJob, action.RequestContentXml.InnerXml);

                Assert.Null(action.MultipartFormDataContent);
            }
Beispiel #30
0
            public void Converts_notifications_using_lookup_successfully()
            {
                //Arrange
                var source = new NotificationsUsingLookup {
                    SmsIfAvailable = true
                };
                var expected = new notificationsusinglookup {
                    email = new enabled(), sms = new enabled()
                };

                //Act
                var actual = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, actual, out differences);
                Assert.Empty(differences);
            }