/// <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); }
public void Initializes_fields() { //Arrange var clientConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act var requestHelper = new RequestHelper(clientConfiguration); //Assert Assert.Equal(clientConfiguration, requestHelper.ClientConfiguration); }
public async Task Returns_receipt_successfully() { //Arrange var forretningsmeldingEnvelope = DomainUtility.GetForretningsmeldingEnvelope(); var documentBundle = AsiceGenerator.Create(DomainUtility.GetForsendelseSimple(), new GuidUtility(), DomainUtility.GetAvsenderCertificate(), DomainUtility.GetKlientkonfigurasjon()); var requestHelper = new RequestHelper(new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø)); var fakeHttpClientHandlerResponse = new FakeResponseHandler() { HttpContent = new StringContent(XmlResource.Response.GetTransportOk().OuterXml), StatusCode = HttpStatusCode.OK }; requestHelper.HttpClient = new HttpClient(fakeHttpClientHandlerResponse); //Act var kvittering = await requestHelper.SendMessage(forretningsmeldingEnvelope, documentBundle).ConfigureAwait(false); Assert.IsType<TransportOkKvittering>(kvittering); }
public async Task Adds_user_agent() { //Arrange var forretningsmeldingEnvelope = DomainUtility.GetForretningsmeldingEnvelope(); var documentBundle = AsiceGenerator.Create(DomainUtility.GetForsendelseSimple(), new GuidUtility(), DomainUtility.GetAvsenderCertificate(), DomainUtility.GetKlientkonfigurasjon()); Action<HttpRequestMessage> testingAction = message => { Assert.Contains("sikker-digital-post", message.Headers.UserAgent.ToString()); }; var requestHelper = new RequestHelper( new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø), new FakeResponseHandler() { TestingAction = testingAction, HttpContent = new StringContent(XmlResource.Response.GetTransportOk().OuterXml) } ); //Act await requestHelper.SendMessage(forretningsmeldingEnvelope, documentBundle).ConfigureAwait(false); }