Exemple #1
0
            public void KonstruktørForIdentiskHash()
            {
                //Arrange
                var prioritet = Prioritet.Normal;
                var mpcId     = "mpcId";
                var språkkode = "NO";

                var konversasjonsid = Guid.NewGuid();
                var forsendelse     = new Forsendelse(
                    DomainUtility.GetAvsender(),
                    DomainUtility.GetDigitalPostInfoSimple(),
                    DomainUtility.GetDokumentpakkeWithoutAttachments(),
                    konversasjonsid,
                    prioritet,
                    mpcId,
                    språkkode);

                //Act

                //Assert

                Assert.Equal(konversasjonsid, forsendelse.KonversasjonsId);
                Assert.NotNull(forsendelse.Avsender);
                Assert.NotNull(forsendelse.PostInfo);
                Assert.NotNull(forsendelse.Dokumentpakke);
                Assert.Equal(prioritet, forsendelse.Prioritet);
                Assert.Equal(mpcId, forsendelse.MpcId);
                Assert.Equal(språkkode, forsendelse.Språkkode);
            }
            public void ConstructorGeneratesBytes()
            {
                //Arrange
                var message = new Forsendelse(DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoSimple(), DomainUtility.GetDokumentpakkeWithMultipleVedlegg());

                var asiceArchive = DomainUtility.GetAsiceArchive(message);

                //Act
                var archiveBytes = asiceArchive.UnencryptedBytes;

                //Assert
                using (var memoryStream = new MemoryStream(archiveBytes))
                {
                    using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Read))
                    {
                        Assert.True(archive.Entries.Any(entry => entry.FullName == "manifest.xml"));
                        Assert.True(archive.Entries.Any(entry => entry.FullName == "META-INF/signatures.xml"));
                        Assert.True(archive.Entries.Any(entry => entry.FullName == message.Dokumentpakke.Hoveddokument.Filnavn));

                        foreach (var document in message.Dokumentpakke.Vedlegg)
                        {
                            Assert.True(archive.Entries.Any(entry => entry.FullName == document.Filnavn));
                        }
                    }
                }
            }
Exemple #3
0
            public void KonstruktørMedOptionalParametere()
            {
                //Arrange
                var prioritet = Prioritet.Normal;
                var mpcId     = "mpcId";
                var språkkode = "NO";

                var forsendelse = new Forsendelse(
                    DomainUtility.GetAvsender(),
                    DomainUtility.GetDigitalPostInfoSimple(),
                    DomainUtility.GetDokumentpakkeWithoutAttachments(),
                    prioritet,
                    mpcId,
                    språkkode
                    );

                //Act

                //Assert
                Assert.NotNull(forsendelse.Avsender);
                Assert.NotNull(forsendelse.PostInfo);
                Assert.NotNull(forsendelse.Dokumentpakke);
                Assert.Equal(prioritet, forsendelse.Prioritet);
                Assert.Equal(mpcId, forsendelse.MpcId);
                Assert.Equal(språkkode, forsendelse.Språkkode);
            }
            public void VedleggTittelSkalSettesIManifestet()
            {
                //Arrange
                var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Tester.testdata");
                var dokument        = new Dokument("hoved", resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf");
                var vedleggTittel   = "tittel";
                var vedlegg         = new Dokument(vedleggTittel, resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"),
                                                   "application/pdf");

                var dokumentPakke = new Dokumentpakke(dokument);

                dokumentPakke.LeggTilVedlegg(vedlegg);

                var message    = new Forsendelse(DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoSimple(), dokumentPakke, Prioritet.Normal, Guid.NewGuid().ToString());
                var asiceArkiv = DomainUtility.GetAsiceArchive(message);

                var manifestXml      = new Manifest(message).Xml();
                var namespaceManager = new XmlNamespaceManager(manifestXml.NameTable);

                namespaceManager.AddNamespace("ns9", NavneromUtility.DifiSdpSchema10);
                namespaceManager.AddNamespace("ds", NavneromUtility.XmlDsig);
                //Act

                //Assert

                var vedleggNodeInnerText = manifestXml.DocumentElement.SelectSingleNode("//ns9:vedlegg", namespaceManager).InnerText;

                Assert.Equal(vedleggTittel, vedleggNodeInnerText);
            }
Exemple #5
0
            public void EnkelKonstruktør()
            {
                //Arrange
                var forsendelse = new Forsendelse(
                    DomainUtility.GetAvsender(),
                    DomainUtility.GetDigitalPostInfoSimple(),
                    DomainUtility.GetDokumentpakkeWithoutAttachments()
                    );

                //Act

                //Assert
                Assert.NotNull(forsendelse.Avsender);
                Assert.NotNull(forsendelse.PostInfo);
                Assert.NotNull(forsendelse.Dokumentpakke);
            }
Exemple #6
0
            public void EnkelKonstruktørUtenVarslingstidspunkt()
            {
                //Arrange
                var postInfo    = DomainUtility.GetDigitalPostInfoSimple();
                var mobilnummer = "12345678";
                var varsel      = "Et lite varsel pr SMS.";

                postInfo.SmsVarsel = new SmsVarsel(mobilnummer, varsel);

                //Act

                //Assert
                var smsVarsel = postInfo.SmsVarsel;

                Assert.Equal(mobilnummer, smsVarsel.Mobilnummer);
                Assert.Equal(varsel, smsVarsel.Varslingstekst);
            }
Exemple #7
0
            public void KonstruktørMedVarslingstidspunktSomArgumenter()
            {
                //Arrange
                var postInfo    = DomainUtility.GetDigitalPostInfoSimple();
                var mobilnummer = "12345678";
                var varsel      = "Et lite varsel pr SMS.";

                postInfo.SmsVarsel = new SmsVarsel(mobilnummer, varsel, 0, 10, 15);
                var forventedeVarslingerEtterDager = new List <int> {
                    0, 10, 15
                };

                //Act

                //Assert
                var smsVarsel = postInfo.SmsVarsel;

                Assert.Equal(mobilnummer, smsVarsel.Mobilnummer);
                Assert.Equal(varsel, smsVarsel.Varslingstekst);
            }
            public void EnkelKonstruktørMedVarslingstidspunktSomArgumenter()
            {
                //Arrange
                var postInfo             = DomainUtility.GetDigitalPostInfoSimple();
                var epostadresse         = "*****@*****.**";
                var varsel               = "Et lite varsel pr Epost.";
                var varslingerEtterDager = new List <int> {
                    0, 10, 15
                };

                postInfo.EpostVarsel = new EpostVarsel(epostadresse, varsel, 0, 10, 15);

                //Act

                //Assert
                var epostVarsel = postInfo.EpostVarsel;

                Assert.Equal(epostadresse, epostVarsel.Epostadresse);
                Assert.Equal(varsel, epostVarsel.Varslingstekst);
            }
            public void SuccessfullySetsLanguageOnDocumentsWithNoLanguageCodeFromMessage()
            {
                //Arrange
                var sender = DomainUtility.GetAvsender();
                var simpleDigitalPostInfo = DomainUtility.GetDigitalPostInfoSimple();

                string undefinedLanguageCode = null;
                var    primaryDocument       = new Dokument("Tiitle", new byte[3], "application/pdf", undefinedLanguageCode);
                var    documentBundle        = new Dokumentpakke(primaryDocument);
                var    definedLanguageCode   = "en";

                documentBundle.LeggTilVedlegg(new Dokument("Appendix", new byte[2], "application/pdf", definedLanguageCode));

                var messageLanguageCode = "no";
                //Act
                var forsendelse = new Forsendelse(sender, simpleDigitalPostInfo, documentBundle, Prioritet.Normal, "mpcId", messageLanguageCode);

                //Assert
                Assert.Equal(messageLanguageCode, documentBundle.Hoveddokument.Språkkode);
                Assert.Equal(definedLanguageCode, documentBundle.Vedlegg.First().Språkkode);
            }
            public void ThrowsExceptionOnInvalidManifest()
            {
                //Arrange
                const string invalidFileNameNotFourCharacters = "T";
                var          asiceConfiguration       = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø);
                var          dokumentpakkeUtenVedlegg = new Dokumentpakke(new Dokument("", new byte[3], "application/pdf", "nb", invalidFileNameNotFourCharacters));
                var          forsendelse = new Forsendelse(new Avsender(new Organisasjonsnummer("123456789")), DomainUtility.GetDigitalPostInfoSimple(), dokumentpakkeUtenVedlegg, Guid.NewGuid());

                //Act
                Assert.Throws <XmlValidationException>(() =>
                                                       AsiceGenerator.Create(forsendelse, new GuidUtility(), DomainUtility.GetAvsenderCertificate(), asiceConfiguration)
                                                       );
            }