public void Initializes_fields() { //Arrange var senderUnitTestCertificate = DomainUtility.GetSenderSelfSignedCertificate(); const string sendOnBehalfOf = "sendPåVegneAv"; var persons = new[] { "12312312312", "32132132132" }; var informationNeed = new[] { Informasjonsbehov.Person, Informasjonsbehov.Kontaktinfo }; //Act var envelope = new PersonsEnvelope(senderUnitTestCertificate, sendOnBehalfOf, persons, informationNeed); //Assert Assert.NotNull(envelope.Settings.BinarySecurityId); Assert.NotNull(envelope.Settings.BodyId); Assert.NotNull(envelope.Settings.TimestampId); Assert.Equal(envelope.PersonId, persons); Assert.Equal(envelope.InformationNeeds, informationNeed); Assert.Equal(envelope.SendOnBehalfOf, sendOnBehalfOf); Assert.Equal(envelope.SenderCertificate, senderUnitTestCertificate); Assert.NotNull(envelope.XmlDocument); }
/// <summary> /// Forespørsel sendt fra Virksomhet for å hente Personer fra Oppslagstjenesten. /// </summary> /// <param name="personidentifikatorer"> /// Identifikasjon av en person. Personidentifikator er et fødselsnummer eller et gyldig D-nummer. /// </param> /// <param name="informasjonsbehov"> /// Beskriver det opplysningskrav som en Virksomhet har definert. Du kan angi flere behov, som for eksempel /// <see cref="Informasjonsbehov.Kontaktinfo" /> eller <see cref="Informasjonsbehov.VarslingsStatus" />. /// </param> public async Task <IEnumerable <Person> > HentPersonerAsynkront(string[] personidentifikatorer, params Informasjonsbehov[] informasjonsbehov) { var requestEnvelope = new PersonsEnvelope(OppslagstjenesteKonfigurasjon.Avsendersertifikat, OppslagstjenesteKonfigurasjon.SendPåVegneAv, personidentifikatorer, informasjonsbehov); var maskertePersonIdentifikatorer = string.Join(", ", personidentifikatorer.Select(p => p.Substring(0, 6) + "*****")); Log.Debug($"HentPersonerAsynkront(personidentifikator:{maskertePersonIdentifikatorer} , informasjonsbehov:{string.Join(", ", informasjonsbehov)}"); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(requestEnvelope.XmlDocument.OuterXml); } var responseDocument = await GetClient().SendAsync(requestEnvelope).ConfigureAwait(false); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(responseDocument.Envelope.InnerXml); } var dtoObject = ValidateAndConvertToDtoObject <HentPersonerRespons>(requestEnvelope, responseDocument); var domainObject = DtoConverter.ToDomainObject(dtoObject); return(domainObject.Personer); }