1 package com.atlassian.asap.api;
2
3 import com.atlassian.asap.core.serializer.Json;
4 import net.minidev.json.parser.ParseException;
5 import org.openjdk.jmh.annotations.Benchmark;
6 import org.openjdk.jmh.annotations.Scope;
7 import org.openjdk.jmh.annotations.State;
8
9 import javax.json.JsonObject;
10 import java.time.Instant;
11 import java.util.Optional;
12
13 public class JwtBuilderBenchmark {
14 @Benchmark
15 public void buildJwt(BenchmarkState state) throws ParseException {
16 JwtBuilder.newJwt()
17 .issuer("issuer")
18 .audience("audience")
19 .subject(Optional.of("subject"))
20 .algorithm(SigningAlgorithm.RS256)
21 .expirationTime(Instant.now())
22 .keyId("keyId")
23 .customClaims(state.jsonObject)
24 .build();
25 }
26
27 @State(Scope.Benchmark)
28 public static class BenchmarkState {
29 private JsonObject jsonObject;
30
31 public BenchmarkState() {
32 jsonObject = Json.provider().createObjectBuilder().build();
33 }
34 }
35 }