internal static Dokumentpakke GetDokumentpakkeMedFlereVedlegg(int antall = 3) { var dokumentpakke = new Dokumentpakke(GetHoveddokumentEnkel()); dokumentpakke.LeggTilVedlegg(GetVedlegg(antall)); return(dokumentpakke); }
public void OppretteForsendelse() { var hoveddokument = new Dokument( tittel: "Dokumenttittel", dokumentsti: "/Dokumenter/Hoveddokument.pdf", mimeType: "application/pdf", språkkode: "NO", filnavn: "filnavn" ); var dokumentpakke = new Dokumentpakke(hoveddokument); var vedleggssti = "/Dokumenter/Vedlegg.pdf"; var vedlegg = new Dokument( tittel: "tittel", dokumentsti: vedleggssti, mimeType: "application/pdf", språkkode: "NO", filnavn: "filnavn"); dokumentpakke.LeggTilVedlegg(vedlegg); Avsender avsender = null; //Som initiert tidligere PostInfo postInfo = null; //Som initiert tidligere var forsendelse = new Forsendelse(avsender, postInfo, dokumentpakke); }
internal static Dokumentpakke GetDokumentpakkeWithMultipleVedlegg(int antall = 3) { var dokumentpakke = new Dokumentpakke(GetHoveddokumentSimple()); dokumentpakke.LeggTilVedlegg(GetVedlegg(antall)); return(dokumentpakke); }
public void VedleggTittelSkalSettesIManifestet() { //Arrange //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 enkelForsendelse = new Forsendelse(DomeneUtility.GetAvsender(), DomeneUtility.GetDigitalPostInfoEnkelMedTestSertifikat(), dokumentPakke, Prioritet.Normal, Guid.NewGuid().ToString()); var asiceArkiv = DomeneUtility.GetAsicEArkiv(enkelForsendelse); var manifestXml = asiceArkiv.Manifest.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.AreEqual(vedleggTittel, vedleggNodeInnerText); }
public void HoveddokumentTittelSkalSettesIManifestet() { //Arrange var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Tester.testdata"); const string hoveddokumentTittel = "hoveddokument tittel"; var dokument = new Dokument(hoveddokumentTittel, resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var vedlegg = new Dokument("vedlegg tittel", resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var dokumentPakke = new Dokumentpakke(dokument); dokumentPakke.LeggTilVedlegg(vedlegg); var message = new Forsendelse(DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoWithTestCertificate(), dokumentPakke, Prioritet.Normal, Guid.NewGuid().ToString()); 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:hoveddokument", namespaceManager).InnerText; Assert.Equal(hoveddokumentTittel, vedleggNodeInnerText); }
public AsicEArkiv(Forsendelse forsendelse, GuidUtility guidHandler, X509Certificate2 avsenderSertifikat) { Manifest = new Manifest(forsendelse); Signatur = new Signatur(forsendelse, Manifest, avsenderSertifikat); _forsendelse = forsendelse; _dokumentpakke = _forsendelse.Dokumentpakke; _guidHandler = guidHandler; }
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) ); }
public void OpprettForsendelseMedUtvidelse() { var raw = "<?xml version=\"1.0\" encoding=\"utf-8\"?><lenke xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://begrep.difi.no/sdp/utvidelser/lenke\"><url>https://www.test.no</url><beskrivelse lang=\"nb\">This was raw string</beskrivelse></lenke>"; MetadataDocument metadataDocument = new MetadataDocument("lenke.xml", "application/vnd.difi.dpi.lenke", raw); Avsender avsender = null; //Som initiert tidligere PostInfo postInfo = null; //Som initiert tidligere Dokumentpakke dokumentpakke = null; //Som initiert tidligere var forsendelse = new Forsendelse(avsender, postInfo, dokumentpakke) { MetadataDocument = metadataDocument }; }
private static Forsendelse GenererForsendelse(Avsender avsender, PostInfo postInfo) { ResourceUtility resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Testklient.Resources"); var hoveddokument = resourceUtility.ReadAllBytes(true, "Hoveddokument.pdf"); var vedlegg = resourceUtility.ReadAllBytes(true, "Vedlegg.txt"); //Forsendelse var dokumentpakke = new Dokumentpakke(new Dokument("Sendt" + DateTime.Now, hoveddokument, "application/pdf", "NO", "OWASP TOP 10.pdf")); dokumentpakke.LeggTilVedlegg(new Dokument("Vedlegg", vedlegg, "text/plain", "NO", "Vedlegg.txt")); return(new Forsendelse(avsender, postInfo, dokumentpakke, Prioritet.Prioritert, MpcId, "NO")); }
public async Task <Transportkvittering> SendMessage(StandardBusinessDocument standardBusinessDocument, Dokumentpakke dokumentpakke, MetadataDocument metadataDocument) { var openRequestUri = new Uri(ClientConfiguration.Miljø.Url, "/api/messages/out/"); var putRequestUri = new Uri(openRequestUri, $"{standardBusinessDocument.GetConversationId()}"); JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions { IgnoreNullValues = true, }; string json = JsonSerializer.Serialize(standardBusinessDocument, standardBusinessDocument.GetType(), jsonSerializerOptions); JObject sbdobj = JObject.Parse(json); sbdobj.Add(standardBusinessDocument.any is DigitalForretningsMelding ? "digital" : "print", sbdobj["any"]); sbdobj.Remove("any"); string newjson = sbdobj.ToString(); StringContent content = new StringContent(newjson, Encoding.UTF8, "application/json"); try { await CreateMessage(content, openRequestUri); await addDocument(dokumentpakke.Hoveddokument, putRequestUri); if (metadataDocument != null) { await addDocument(metadataDocument, putRequestUri); } foreach (Dokument vedlegg in dokumentpakke.Vedlegg) { await addDocument(vedlegg, putRequestUri); } await CloseMessage(putRequestUri); return(new TransportOkKvittering()); } catch (TransportFeiletException e) { _logger.LogError($"Feil ifbm opprettelse av forsendelse mot integrasjonspunkt: {e.TransportFeiletKvittering.ToString()}"); return(e.TransportFeiletKvittering); } }
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); }
internal static Dokumentpakke GetDokumentpakkeUtenVedlegg() { var dokumentpakke = new Dokumentpakke(GetHoveddokumentEnkel()); return(dokumentpakke); }