View Javadoc

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  }