Skip to content

Commit

Permalink
Test
Browse files Browse the repository at this point in the history
#deploy-levende-arbeidsforhold-service
  • Loading branch information
stigus committed Jul 5, 2024
1 parent 4d60c7e commit a597e71
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 41 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package no.nav.registre.testnorge.levendearbeidsforhold.consumers;

import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;

import no.nav.registre.testnorge.levendearbeidsforhold.config.Consumers;
import no.nav.registre.testnorge.levendearbeidsforhold.consumers.command.EndreArbeidsforholdCommand;
import no.nav.registre.testnorge.levendearbeidsforhold.consumers.command.HentArbeidsforholdCommand;
import no.nav.registre.testnorge.levendearbeidsforhold.domain.v1.Arbeidsforhold;
import no.nav.registre.testnorge.levendearbeidsforhold.config.Consumers;
import no.nav.testnav.libs.securitycore.domain.ServerProperties;
import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange;

import org.springframework.http.MediaType;
import org.springframework.http.codec.json.Jackson2JsonDecoder;
import org.springframework.http.codec.json.Jackson2JsonEncoder;
Expand All @@ -21,8 +20,6 @@

import static java.util.Objects.nonNull;

import com.fasterxml.jackson.databind.ObjectMapper;

@Slf4j
@Component
public class AaregConsumer {
Expand All @@ -40,23 +37,23 @@ public AaregConsumer(
this.tokenExchange = tokenExchange;

ExchangeStrategies jacksonStrategy = ExchangeStrategies
.builder()
.codecs(
config -> {
config
.defaultCodecs()
.jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON));
config
.defaultCodecs()
.jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON));
})
.build();
.builder()
.codecs(
config -> {
config
.defaultCodecs()
.jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON));
config
.defaultCodecs()
.jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON));
})
.build();

this.webClient = WebClient
.builder()
.exchangeStrategies(jacksonStrategy)
.baseUrl(serverProperties.getUrl())
.build();
.builder()
.exchangeStrategies(jacksonStrategy)
.baseUrl(serverProperties.getUrl())
.build();
}

public List<Arbeidsforhold> hentArbeidsforhold(String ident) {
Expand All @@ -68,9 +65,11 @@ public List<Arbeidsforhold> hentArbeidsforhold(String ident) {
}

public void endreArbeidsforhold(Arbeidsforhold requests) {
log.info("Henter token for å endre arbeidsforhold");
var token = tokenExchange.exchange(serverProperties).block();
log.info("Token hentet");
if (nonNull(token)) {
new EndreArbeidsforholdCommand(webClient, requests, token.getTokenValue()).call();
new EndreArbeidsforholdCommand(webClient, requests, token.getTokenValue()).call().block();
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,30 +24,26 @@ public class EndreArbeidsforholdCommand implements Callable<Mono<Arbeidsforhold>
private final Arbeidsforhold requests;
private final String token;
private final String miljoe = "q2";
private final String navArbeidsforholdKilde = "Dolly-doedsfall-hendelse" ;
private final String navArbeidsforholdKilde = "Dolly-doedsfall-hendelse";

@SneakyThrows
@Override
public Mono<Arbeidsforhold> call() {

Mono<Arbeidsforhold> request = webClient
.put()
.uri(builder -> builder.path("/{miljoe}/api/v1/arbeidsforhold/{navArbeidsforholdId}")
.build(miljoe, requests.getNavArbeidsforholdId()))
.header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.header(HttpHeaders.AUTHORIZATION, "Bearer " + token)
.header("Nav-Arbeidsforhold-Kildereferanse", navArbeidsforholdKilde)
.header("Nav-Arbeidsforhold-Periode", LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")))
.body(BodyInserters.fromValue(requests))
.retrieve()
.bodyToMono(Arbeidsforhold.class)
.retryWhen(Retry.backoff(3, Duration.ofSeconds(5))
.filter(WebClientFilter::is5xxException))
.map(arbeidsforhold1 -> Arbeidsforhold.builder().build());

request.subscribe(response -> {}, error -> log.error("Feil ved endring av arbeidsforhold: {}", error.getMessage()));

return request;
return webClient
.put()
.uri(builder -> builder.path("/{miljoe}/api/v1/arbeidsforhold/{navArbeidsforholdId}")
.build(miljoe, requests.getNavArbeidsforholdId()))
.header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.header(HttpHeaders.AUTHORIZATION, "Bearer " + token)
.header("Nav-Arbeidsforhold-Kildereferanse", navArbeidsforholdKilde)
.header("Nav-Arbeidsforhold-Periode", LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")))
.body(BodyInserters.fromValue(requests))
.retrieve()
.bodyToMono(Arbeidsforhold.class)
.retryWhen(Retry.backoff(3, Duration.ofSeconds(5))
.filter(WebClientFilter::is5xxException))
.map(arbeidsforhold1 -> Arbeidsforhold.builder().build());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ public void getHendelser(List<ConsumerRecord<String, Personhendelse>> hendelser)

String aktoerId = hendelse.key().split("\u001A")[1];
String hendelsestype = hendelse.value().get(4).toString();
log.info("Prosesserer hendelse {} for aktørId {}", hendelsestype, aktoerId);

if (validerHendelse(hendelsestype)) {
log.info("Sender hendelsestype: {} for aktørId: {} til arbeidsforhold-service", hendelsestype, aktoerId);
arbeidsforholdService.arbeidsforholdService(aktoerId);
}
}
Expand Down

0 comments on commit a597e71

Please sign in to comment.