/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// Behandlingsansvarlig til Meldingsformidler. Det kan være flere databehandlere som har /// ansvar for forskjellige steg i prosessen med å formidle en digital postmelding. /// </param> /// <param name="klientkonfigurasjon">Klientkonfigurasjon for klienten. Brukes for å sette parametere /// som proxy, timeout og URI til meldingsformidler. For å bruke standardkonfigurasjon, lag /// SikkerDigitalPostKlient uten Klientkonfigurasjon som parameter.</param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon) { _databehandler = databehandler; _klientkonfigurasjon = klientkonfigurasjon; Logging.Initialize(klientkonfigurasjon); FileUtility.BasePath = klientkonfigurasjon.StandardLoggSti; }
private static Klientkonfigurasjon SettOppKlientkonfigurasjon() { var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //klientkonfigurasjon.LoggXmlTilFil = false; //klientkonfigurasjon.StandardLoggSti = @"Z:\aleksander sjafjell On My Mac\Development\Shared\sdp-data\Logg"; return klientkonfigurasjon; }
public void SendDigitaltPåVegneAvIntegrasjon() { //Arrange const string testDepartementetAvsenderOrgnummer = "987656789"; const string postenDatabehandlerOrgnummer = "984661185"; var avsender = new Avsender(testDepartementetAvsenderOrgnummer); var databehandler = new Databehandler(postenDatabehandlerOrgnummer, DomeneUtility.GetAvsenderSertifikat()); var forsendelse = new Forsendelse(avsender, DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), Prioritet.Normal, Guid.NewGuid().ToString()); var klientKonfig = new Klientkonfigurasjon { MeldingsformidlerUrl = new Uri(Settings.Default.UrlMeldingsformidler), LoggXmlTilFil = true }; //Act var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig); var transportkvittering = sdpKlient.Send(forsendelse, true); //Assert Assert.IsNotNull(transportkvittering); var kvittering = HentKvitteringOgBekreft(sdpKlient, "Send digital paa vegne av", forsendelse); Assert.IsTrue(kvittering is Leveringskvittering, "Klarte ikke hente kvittering eller feilet kvittering"); }
public void SendsBytesThroughDocumentBundleProcessors() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø) { Dokumentpakkeprosessorer = new List <IDokumentpakkeProsessor> { new SimpleDocumentBundleProcessor(), new SimpleDocumentBundleProcessor() } }; var forsendelse = DomainUtility.GetForsendelseSimple(); var asiceAttachableProcessors = clientConfiguration.Dokumentpakkeprosessorer.Select(p => new AsiceAttachableProcessor(forsendelse, p)); var asiceAttachables = new IAsiceAttachable[] { DomainUtility.GetHoveddokumentSimple() }; //Act var asiceArchive = new AsiceArchive(DomainUtility.GetMottakerCertificate(), new GuidUtility(), asiceAttachableProcessors, asiceAttachables); var bytes = asiceArchive.Bytes; //Assert foreach (var simpleProcessor in clientConfiguration.Dokumentpakkeprosessorer.Cast <SimpleDocumentBundleProcessor>()) { Assert.True(simpleProcessor.StreamLength > 1000); Assert.True(simpleProcessor.CouldReadBytesStream); Assert.Equal(0, simpleProcessor.Initialposition); } }
/// <param name="databehandler"> /// Teknisk avsender er den parten som har ansvarlig for den tekniske utførelsen av sendingen. /// Teknisk avsender er den aktøren som står for utførelsen av den tekniske sendingen. /// Hvis sendingen utføres av en databehandler vil dette være databehandleren. /// Hvis sendingen utføres av behandlingsansvarlige selv er dette den behandlingsansvarlige. /// </param> /// <param name="klientkonfigurasjon">Klientkonfigurasjon for klienten. Brukes for å sette parametere /// som proxy, timeout og URI til meldingsformidler. For å bruke standardkonfigurasjon, lag /// SikkerDigitalPostKlient uten Klientkonfigurasjon som parameter.</param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon) { _databehandler = databehandler; _klientkonfigurasjon = klientkonfigurasjon; Logging.Initialize(klientkonfigurasjon); FileUtility.BasePath = klientkonfigurasjon.StandardLoggSti; }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, AsicEArkiv asicEArkiv, Databehandler databehandler, GuidUtility guidHandler, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; AsicEArkiv = asicEArkiv; Databehandler = databehandler; GuidHandler = guidHandler; Konfigurasjon = konfigurasjon; }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, DocumentBundle documentBundle, Databehandler databehandler, GuidUtility guidUtility, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; DocumentBundle = documentBundle; Databehandler = databehandler; GuidUtility = guidUtility; Konfigurasjon = konfigurasjon; }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, AsicEArkiv asicEArkiv, Databehandler databehandler, GuidUtility guidHandler, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; AsicEArkiv = asicEArkiv; Databehandler = databehandler; GuidHandler = guidHandler; Konfigurasjon = konfigurasjon; }
private static void LeggTilLogging(Klientkonfigurasjon klientkonfigurasjon) { // Legger til logging til outputvinduet klientkonfigurasjon.Logger = (severity, konversasjonsId, metode, melding) => { Debug.WriteLine("{0} - {1} [{2}]", DateTime.Now, melding, konversasjonsId.GetValueOrDefault()); }; }
internal RequestHelper(Klientkonfigurasjon klientkonfigurasjon, ILoggerFactory loggerFactory, params DelegatingHandler[] additionalHandlers) { ClientConfiguration = klientkonfigurasjon; _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger <RequestHelper>(); HttpClient = HttpClientWithHandlerChain(additionalHandlers); }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, DocumentBundle documentBundle, Databehandler databehandler, GuidUtility guidUtility, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; DocumentBundle = documentBundle; Databehandler = databehandler; GuidUtility = guidUtility; Konfigurasjon = konfigurasjon; }
/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// <see cref="Avsender" /> til Meldingsformidler. /// </param> /// <param name="klientkonfigurasjon"> /// Brukes for å sette parametere som proxy, timeout, logging av forespørsel/respons og selve dokumentpakken. /// </param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon) { ValidateDatabehandlerCertificateAndThrowIfInvalid(databehandler, klientkonfigurasjon.Miljø); Databehandler = databehandler; Klientkonfigurasjon = klientkonfigurasjon; RequestHelper = new RequestHelper(klientkonfigurasjon); }
/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// <see cref="Avsender" /> til Meldingsformidler. /// </param> /// <param name="klientkonfigurasjon"> /// Brukes for å sette parametere som proxy, timeout, logging av forespørsel/respons og selve dokumentpakken. /// </param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon) { ValidateDatabehandlerCertificateAndThrowIfInvalid(databehandler, klientkonfigurasjon.Miljø); Databehandler = databehandler; Klientkonfigurasjon = klientkonfigurasjon; RequestHelper = new RequestHelper(klientkonfigurasjon); CertificateValidationProperties = new CertificateValidationProperties(klientkonfigurasjon.Miljø.GodkjenteKjedeSertifikater, Klientkonfigurasjon.MeldingsformidlerOrganisasjon); }
public void Fails_if_invalid_certificate() { //Arrange var databehandler = new Databehandler(new Organisasjonsnummer("988015814"), DomainUtility.GetAvsenderEnhetstesterSertifikat()); var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act Assert.Throws<SecurityException>(()=> new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon)); }
public void Fails_if_invalid_certificate() { //Arrange var databehandler = new Databehandler(new Organisasjonsnummer("988015814"), DomainUtility.GetAvsenderEnhetstesterSertifikat()); var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act Assert.Throws <SecurityException>(() => new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon)); }
public void NonExistingFolderShouldThrowException() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act Assert.Throws <DirectoryNotFoundException>(() => clientConfiguration.AktiverLagringAvDokumentpakkeTilDisk(@"c:\nonexistentfolder\theoddsofthisexistingis\extremelylow") ); }
private static Klientkonfigurasjon SettOppKlientkonfigurasjon() { var klientkonfigurasjon = new Klientkonfigurasjon(); LeggTilLogging(klientkonfigurasjon); klientkonfigurasjon.MeldingsformidlerUrl = new Uri("https://qaoffentlig.meldingsformidler.digipost.no/api/ebms"); klientkonfigurasjon.LoggXmlTilFil = false; klientkonfigurasjon.StandardLoggSti = @"Z:\aleksander sjafjell On My Mac\Development\Shared\sdp-data\Logg"; return(klientkonfigurasjon); }
public void NonExistingFolderShouldThrowException() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act Assert.Throws<DirectoryNotFoundException>(() => clientConfiguration.AktiverLagringAvDokumentpakkeTilDisk(@"c:\nonexistentfolder\theoddsofthisexistingis\extremelylow") ); }
public void AddsDocumentBundleToDiskProcessor() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act clientConfiguration.AktiverLagringAvDokumentpakkeTilDisk(Path.GetTempPath()); //Assert Assert.True(clientConfiguration.Dokumentpakkeprosessorer.Any(p => p.GetType() == typeof (LagreDokumentpakkeTilDiskProsessor))); }
public void Initializes_fields() { //Arrange var clientConfiguration = new Klientkonfigurasjon(SikkerDigitalPostKlientTests.IntegrasjonsPunktLocalHostMiljø); //Act var requestHelper = new RequestHelper(clientConfiguration, new NullLoggerFactory()); //Assert Assert.Equal(clientConfiguration, requestHelper.ClientConfiguration); }
public void AddsDocumentBundleToDiskProcessor() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act clientConfiguration.AktiverLagringAvDokumentpakkeTilDisk(Path.GetTempPath()); //Assert Assert.True(clientConfiguration.Dokumentpakkeprosessorer.Any(p => p.GetType() == typeof(LagreDokumentpakkeTilDiskProsessor))); }
public void Initializes_fields() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act var requestHelper = new RequestHelper(clientConfiguration); //Assert Assert.Equal(clientConfiguration, requestHelper.ClientConfiguration); }
public void Initializes_fields() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act var requestHelper = new RequestHelper(clientConfiguration); //Assert Assert.Equal(clientConfiguration, requestHelper.ClientConfiguration); }
public void ExistingFolderShouldNotThrowException() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); var path = Path.GetTempPath(); //Act clientConfiguration.AktiverLagringAvDokumentpakkeTilDisk(path); //Assert Assert.True(clientConfiguration.Dokumentpakkeprosessorer.Any(p => p.GetType() == typeof(LagreDokumentpakkeTilDiskProsessor))); }
public void ExistingFolderShouldNotThrowException() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); var path = Path.GetTempPath(); //Act clientConfiguration.AktiverLagringAvDokumentpakkeTilDisk(path); //Assert Assert.True(clientConfiguration.Dokumentpakkeprosessorer.Any(p => p.GetType() == typeof (LagreDokumentpakkeTilDiskProsessor))); }
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) ); }
/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// <see cref="Avsender" /> til Meldingsformidler. /// </param> /// <param name="klientkonfigurasjon"> /// Brukes for å sette parametere som proxy, timeout, logging av forespørsel/respons og selve dokumentpakken. /// </param> /// <param name="loggerFactory"> /// Brukes for å sette loggeren. /// </param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger <SikkerDigitalPostKlient>(); _loggerFactory = loggerFactory; //ValidateDatabehandlerCertificateAndThrowIfInvalid(databehandler, klientkonfigurasjon.Miljø); Databehandler = databehandler; Klientkonfigurasjon = klientkonfigurasjon; RequestHelper = new RequestHelper(klientkonfigurasjon, _loggerFactory); //CertificateValidationProperties = new CertificateValidationProperties(klientkonfigurasjon.Miljø.GodkjenteKjedeSertifikater, Klientkonfigurasjon.MeldingsformidlerOrganisasjon); }
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("123456789"), DomainUtility.GetDigitalPostInfoSimple(), dokumentpakkeUtenVedlegg, Guid.NewGuid()); //Act Assert.Throws<XmlValidationException>(() => AsiceGenerator.Create(forsendelse, new GuidUtility(), DomainUtility.GetAvsenderCertificate(), asiceConfiguration) ); }
public void Initializes_fields() { //Arrange var databehandler = new Databehandler(new Organisasjonsnummer("988015814"), DomainUtility.GetAvsenderCertificate()); var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon); //Assert Assert.Equal(klientkonfigurasjon, sikkerDigitalPostKlient.Klientkonfigurasjon); Assert.Equal(databehandler, sikkerDigitalPostKlient.Databehandler); Assert.IsType<RequestHelper>(sikkerDigitalPostKlient.RequestHelper); }
public void Initializes_fields() { //Arrange var databehandler = new Databehandler(DomainUtility.Organisasjonsnummer(), DomainUtility.GetAvsenderCertificate()); var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon); //Assert Assert.Equal(klientkonfigurasjon, sikkerDigitalPostKlient.Klientkonfigurasjon); Assert.Equal(databehandler, sikkerDigitalPostKlient.Databehandler); Assert.IsType <RequestHelper>(sikkerDigitalPostKlient.RequestHelper); }
public void Initializes_fields() { //Arrange var databehandler = new Databehandler(DomainUtility.PostenOrganisasjonsnummer()); var klientkonfigurasjon = new Klientkonfigurasjon(IntegrasjonsPunktLocalHostMiljø); //Act var serviceProvider = LoggingUtility.CreateServiceProviderAndSetUpLogging(); var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon, serviceProvider.GetService <ILoggerFactory>()); //Assert Assert.Equal(klientkonfigurasjon, sikkerDigitalPostKlient.Klientkonfigurasjon); Assert.Equal(databehandler, sikkerDigitalPostKlient.Databehandler); Assert.IsType <RequestHelper>(sikkerDigitalPostKlient.RequestHelper); }
public SmokeTestsHelper(Miljø miljø, bool loggHttp = false, bool brukProxy = false) { var config = new Klientkonfigurasjon(miljø); config.LoggForespørselOgRespons = loggHttp; if (brukProxy) { config.ProxyHost = "127.0.0.1"; config.ProxyPort = 8888; config.ProxyScheme = "http"; config.TimeoutIMillisekunder = 2000; } var serviceProvider = LoggingUtility.CreateServiceProviderAndSetUpLogging(); _klient = new SikkerDigitalPostKlient(new Databehandler(DomainUtility.PostenOrganisasjonsnummer()), config, serviceProvider.GetService <ILoggerFactory>()); }
public async Task Calls_all_dokumentpakke_prosessors() { //Arrange var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø) { Dokumentpakkeprosessorer = new List <IDokumentpakkeProsessor> { new SimpleDocumentBundleProcessor(), new SimpleDocumentBundleProcessor() } }; var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(DomainUtility.GetDatabehandler(), klientkonfigurasjon); DomainUtility.GetSikkerDigitalPostKlientQaOffentlig(); var fakeHttpClientHandlerResponse = new FakeResponseHandler() { HttpContent = new StringContent(XmlResource.Response.GetTransportOk().OuterXml), }; sikkerDigitalPostKlient.RequestHelper.HttpClient = new HttpClient(fakeHttpClientHandlerResponse); //Act var forsendelse = DomainUtility.GetForsendelseSimple(); try { await sikkerDigitalPostKlient.SendAsync(forsendelse).ConfigureAwait(false); } catch (SecurityException) { /* * We do not care about the results. Just do sending. Nasty hack as we are unable to mock validation * in SikkerDigitalPostKlient, which results in invalid timestamp since response is out of date. */ } //Assert foreach (var dokumentpakkeProsessor in klientkonfigurasjon.Dokumentpakkeprosessorer.Cast <SimpleDocumentBundleProcessor>()) { Assert.True(dokumentpakkeProsessor.CouldReadBytesStream); } }
public void InitializesProperties() { //Arrange var environment = SikkerDigitalPostKlientTests.IntegrasjonsPunktLocalHostMiljø; const string organizationNumberPosten = "984661185"; object proxyhost = null; const string proxyScheme = "https"; var timeoutInMilliseconds = (int)TimeSpan.FromSeconds(30).TotalMilliseconds; const int proxyPort = 0; //Act var clientConfiguration = new Klientkonfigurasjon(environment); //Assert Assert.Equal(environment, clientConfiguration.Miljø); Assert.Equal(organizationNumberPosten, clientConfiguration.MeldingsformidlerOrganisasjon.Verdi); Assert.Equal(proxyhost, clientConfiguration.ProxyHost); Assert.Equal(proxyScheme, clientConfiguration.ProxyScheme); Assert.Equal(timeoutInMilliseconds, clientConfiguration.TimeoutIMillisekunder); Assert.Equal(proxyPort, clientConfiguration.ProxyPort); Assert.Equal(clientConfiguration.LoggForespørselOgRespons, false); }
public void InitializesProperties() { //Arrange var environment = Miljø.FunksjoneltTestmiljø; const string organizationNumberPosten = "984661185"; object proxyhost = null; const string proxyScheme = "https"; var timeoutInMilliseconds = (int) TimeSpan.FromSeconds(30).TotalMilliseconds; const int proxyPort = 0; //Act var clientConfiguration = new Klientkonfigurasjon(environment); //Assert Assert.Equal(environment, clientConfiguration.Miljø); Assert.Equal(organizationNumberPosten, clientConfiguration.MeldingsformidlerOrganisasjon.Verdi); Assert.Equal(proxyhost, clientConfiguration.ProxyHost); Assert.Equal(proxyScheme, clientConfiguration.ProxyScheme); Assert.Equal(timeoutInMilliseconds, clientConfiguration.TimeoutIMillisekunder); Assert.Equal(proxyPort, clientConfiguration.ProxyPort); Assert.Equal(clientConfiguration.LoggForespørselOgRespons, false); }
public void EnkelKonstruktørMedMiljø() { //Arrange var miljø = Miljø.FunksjoneltTestmiljø; var organisasjonsnummerPosten = "984661185"; object proxyhost = null; var proxyScheme = "https"; var timeoutIMillisekunder = (int)TimeSpan.FromSeconds(30).TotalMilliseconds; var loggXmlTilFil = false; var proxyPort = 0; //Act var klientkonfigurasjon = new Klientkonfigurasjon(miljø); //Assert Assert.AreEqual(miljø, klientkonfigurasjon.Miljø); Assert.AreEqual(organisasjonsnummerPosten, klientkonfigurasjon.MeldingsformidlerOrganisasjon.Verdi); Assert.AreEqual(proxyhost, klientkonfigurasjon.ProxyHost); Assert.AreEqual(proxyScheme, klientkonfigurasjon.ProxyScheme); Assert.AreEqual(timeoutIMillisekunder, klientkonfigurasjon.TimeoutIMillisekunder); Assert.IsNotNull(klientkonfigurasjon.Logger); Assert.AreEqual(loggXmlTilFil, klientkonfigurasjon.LoggXmlTilFil); Assert.AreEqual(proxyPort, klientkonfigurasjon.ProxyPort); }
public void SendDigitaltPåVegneAvIntegrasjon() { //Arrange const string testDepartementetAvsenderOrgnummer = "987656789"; const string postenDatabehandlerOrgnummer = "984661185"; var avsender = new Avsender(testDepartementetAvsenderOrgnummer); var databehandler = new Databehandler(postenDatabehandlerOrgnummer, DomeneUtility.GetAvsenderSertifikat()); var forsendelse = new Forsendelse(avsender, DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), Prioritet.Normal, Guid.NewGuid().ToString()); var klientKonfig = new Klientkonfigurasjon { MeldingsformidlerUrl = new Uri(Settings.Default.UrlMeldingsformidler), LoggXmlTilFil = true }; //Act var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig); var transportkvittering = sdpKlient.Send(forsendelse, true); //Assert Assert.IsNotNull(transportkvittering); var kvittering = HentKvitteringOgBekreft(sdpKlient, "Send digital paa vegne av", forsendelse); Assert.IsTrue(kvittering is Leveringskvittering, "Klarte ikke hente kvittering eller feilet kvittering"); }
internal static void Initialize(Klientkonfigurasjon konfigurasjon) { _logAction = konfigurasjon.Logger; }
internal static void Initialize(Klientkonfigurasjon konfigurasjon) { _logAction = konfigurasjon.Logger; }
public void OpprettKlientOgSendPost() { var integrasjonsPunktLocalHostMiljø = new Miljø(new Uri("http://127.0.0.1:9093")); var klientKonfig = new Klientkonfigurasjon(integrasjonsPunktLocalHostMiljø); Databehandler databehandler = null; //Som initiert tidligere Forsendelse forsendelse = null; //Som initiert tidligere var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig); var transportkvittering = sdpKlient.Send(forsendelse); if (transportkvittering is TransportOkKvittering) { //Når sending til integrasjonspunkt har gått fint. } else if (transportkvittering is TransportFeiletKvittering) { var beskrivelse = ((TransportFeiletKvittering)transportkvittering).Beskrivelse; } //Hent kvitteringer var kvitteringsForespørsel = new Kvitteringsforespørsel(); Console.WriteLine(" > Henter kvittering på kø..."); Kvittering kvittering = sdpKlient.HentKvittering(kvitteringsForespørsel); if (kvittering is TomKøKvittering) { Console.WriteLine(" - Kø er tom. Stopper å hente meldinger. "); } if (kvittering is TransportFeiletKvittering) { var feil = ((TransportFeiletKvittering)kvittering).Beskrivelse; Console.WriteLine("En feil skjedde under transport."); } if (kvittering is Leveringskvittering) { Console.WriteLine(" - En leveringskvittering ble hentet!"); } if (kvittering is Åpningskvittering) { Console.WriteLine(" - Noen har åpnet et brev."); } if (kvittering is Returpostkvittering) { Console.WriteLine(" - Du har fått en returpostkvittering for fysisk post."); } if (kvittering is Mottakskvittering) { Console.WriteLine(" - Kvittering på sending av fysisk post mottatt."); } if (kvittering is Feilmelding) { var feil = (Feilmelding)kvittering; Console.WriteLine(" - En feilmelding ble hentet :" + feil.Detaljer, true); } //Husk at det ikke er mulig å hente nye kvitteringer før du har bekreftet mottak av nåværende. sdpKlient.Bekreft((Forretningskvittering)kvittering); }
public async Task Calls_all_dokumentpakke_prosessors() { //Arrange var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø) { Dokumentpakkeprosessorer = new List<IDokumentpakkeProsessor> { new SimpleDocumentBundleProcessor(), new SimpleDocumentBundleProcessor() } }; var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(DomainUtility.GetDatabehandler(), klientkonfigurasjon); DomainUtility.GetSikkerDigitalPostKlientQaOffentlig(); var fakeHttpClientHandlerResponse = new FakeResponseHandler() { HttpContent = new StringContent(XmlResource.Response.GetTransportOk().OuterXml), }; sikkerDigitalPostKlient.RequestHelper.HttpClient = new HttpClient(fakeHttpClientHandlerResponse); //Act var forsendelse = DomainUtility.GetForsendelseSimple(); try { await sikkerDigitalPostKlient.SendAsync(forsendelse).ConfigureAwait(false); } catch (SdpSecurityException) { /* We do not care about the results. Just do sending. Nasty hack as we are unable to mock validation in SikkerDigitalPostKlient, which results in invalid timestamp since response is out of date. */ } //Assert foreach (var dokumentpakkeProsessor in klientkonfigurasjon.Dokumentpakkeprosessorer.Cast<SimpleDocumentBundleProcessor>()) { Assert.True(dokumentpakkeProsessor.CouldReadBytesStream); } }
public void NyKlientOgSend() { var klientKonfig = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); Databehandler databehandler = null; //Som initiert tidligere Forsendelse forsendelse = null; //Som initiert tidligere var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig); var transportkvittering = sdpKlient.Send(forsendelse); if (transportkvittering is TransportOkKvittering) { //Når alt går fint } else if (transportkvittering is TransportFeiletKvittering) { var beskrivelse = ((TransportFeiletKvittering)transportkvittering).Beskrivelse; } //////////////////////////////////////// // Eksempel for henting av kvittering //////////////////////////////////////// var køId = "MpcId"; var kvitteringsForespørsel = new Kvitteringsforespørsel(Prioritet.Prioritert, køId); Console.WriteLine(" > Henter kvittering på kø '{0}'...", kvitteringsForespørsel.Mpc); Kvittering kvittering = sdpKlient.HentKvittering(kvitteringsForespørsel); if (kvittering == null) { Console.WriteLine(" - Kø '{0}' er tom. Stopper å hente meldinger. ", kvitteringsForespørsel.Mpc); } if (kvittering is TransportFeiletKvittering) { var feil = ((TransportFeiletKvittering)kvittering).Beskrivelse; Console.WriteLine("En feil skjedde under transport."); } if (kvittering is Leveringskvittering) { Console.WriteLine(" - En leveringskvittering ble hentet!"); } if (kvittering is Åpningskvittering) { Console.WriteLine(" - Har du sett. Noen har åpnet et brev. Moro."); } if (kvittering is Returpostkvittering) { Console.WriteLine(" - Du har fått en returpostkvittering for fysisk post."); } if (kvittering is Mottakskvittering) { Console.WriteLine(" - Kvittering på sending av fysisk post mottatt."); } if (kvittering is Feilmelding) { var feil = (Feilmelding)kvittering; Console.WriteLine(" - En feilmelding ble hentet :" + feil.Detaljer, true); } ////////////////////////////////////////// /// Bekreft ///////////////////////////////////////// sdpKlient.Bekreft((Forretningskvittering)kvittering); }
internal RequestHelper(Klientkonfigurasjon klientkonfigurasjon, params DelegatingHandler[] additionalHandlers) { ClientConfiguration = klientkonfigurasjon; HttpClient = HttpClientWithHandlerChain(additionalHandlers); }
public RequestHelper(Klientkonfigurasjon klientkonfigurasjon): this(klientkonfigurasjon, new DelegatingHandler[0]) { }
internal RequestHelper(Klientkonfigurasjon klientkonfigurasjon, params DelegatingHandler[] additionalHandlers) { ClientConfiguration = klientkonfigurasjon; HttpClient = HttpClientWithHandlerChain(additionalHandlers); }
private static Klientkonfigurasjon SettOppKlientkonfigurasjon() { var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //klientkonfigurasjon.LoggXmlTilFil = false; //klientkonfigurasjon.StandardLoggSti = @"Z:\aleksander sjafjell On My Mac\Development\Shared\sdp-data\Logg"; return klientkonfigurasjon; }
private static Klientkonfigurasjon SettOppKlientkonfigurasjon() { var klientkonfigurasjon = new Klientkonfigurasjon(); LeggTilLogging(klientkonfigurasjon); klientkonfigurasjon.MeldingsformidlerUrl = new Uri("https://qaoffentlig.meldingsformidler.digipost.no/api/ebmHESTs"); klientkonfigurasjon.LoggXmlTilFil = false; klientkonfigurasjon.StandardLoggSti = @"Z:\aleksander sjafjell On My Mac\Development\Shared\sdp-data\Logg"; return klientkonfigurasjon; }
private static void LeggTilLogging(Klientkonfigurasjon klientkonfigurasjon) { // Legger til logging til outputvinduet klientkonfigurasjon.Logger = (severity, konversasjonsId, metode, melding) => { Debug.WriteLine("{0} - {1} [{2}]", DateTime.Now, melding, konversasjonsId.GetValueOrDefault()); }; }
public RequestHelper(Klientkonfigurasjon klientkonfigurasjon) : this(klientkonfigurasjon, new DelegatingHandler[0]) { }
public LoggingHandler(Klientkonfigurasjon klientkonfigurasjon, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger <SikkerDigitalPostKlient>(); Klientkonfigurasjon = klientkonfigurasjon; }
public void SendsBytesThroughDocumentBundleProcessors() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø) { Dokumentpakkeprosessorer = new List<IDokumentpakkeProsessor> { new SimpleDocumentBundleProcessor(), new SimpleDocumentBundleProcessor() } }; var forsendelse = DomainUtility.GetForsendelseSimple(); var asiceAttachableProcessors = clientConfiguration.Dokumentpakkeprosessorer.Select(p => new AsiceAttachableProcessor(forsendelse, p)); var asiceAttachables = new IAsiceAttachable[] {DomainUtility.GetHoveddokumentSimple()}; //Act var asiceArchive = new AsiceArchive(DomainUtility.GetMottakerCertificate(), new GuidUtility(), asiceAttachableProcessors, asiceAttachables); var bytes = asiceArchive.Bytes; //Assert foreach (var simpleProcessor in clientConfiguration.Dokumentpakkeprosessorer.Cast<SimpleDocumentBundleProcessor>()) { Assert.True(simpleProcessor.StreamLength > 1000); Assert.True(simpleProcessor.CouldReadBytesStream); Assert.Equal(0, simpleProcessor.Initialposition); } }