示例#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);
            }
示例#2
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 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));
                        }
                    }
                }
            }
            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);
            }
示例#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);
            }
            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);
            }