test_class.declarator: wrapper = new JwtMacWrapper()
test_class.modifier: private final
test_class.original_string: private final JwtMacWrapper wrapper = new JwtMacWrapper();
test_class.type: JwtMacWrapper
test_class.var_name: wrapper
test_class.file: java_src/src/test/java/com/google/crypto/tink/jwt/JwtMacWrapperTest.java
test_class.identifier: JwtMacWrapperTest
test_case.body: @Test
    public void test_wrapMultiple_works() throws Exception {
      PrimitiveSet<JwtMac> primitiveSet = PrimitiveSet.newPrimitiveSet(JwtMac.class);
      JwtMac mac1 = new JwtHmac("HS256", new SecretKeySpec(Random.randBytes(32), "HMAC"));
      primitiveSet.addPrimitive(
          mac1,
          Keyset.Key.newBuilder()
              .setKeyId(202020)
              .setStatus(KeyStatusType.ENABLED)
              .setOutputPrefixType(OutputPrefixType.RAW)
              .build());
  
      JwtMac mac2 = new JwtHmac("HS256", new SecretKeySpec(Random.randBytes(32), "HMAC"));
      PrimitiveSet.Entry<JwtMac> entry =
          primitiveSet.addPrimitive(
              mac2,
              Keyset.Key.newBuilder()
                  .setKeyId(202021)
                  .setStatus(KeyStatusType.ENABLED)
                  .setOutputPrefixType(OutputPrefixType.RAW)
                  .build());
  
      primitiveSet.setPrimary(entry);
      JwtMac wrapped = wrapper.wrap(primitiveSet);
  
      ToBeSignedJwt tbs = new ToBeSignedJwt.Builder().setJwtId("blah").build();
      String compact = wrapped.createCompact(tbs);
      JwtValidator validator = new JwtValidator.Builder().build();
      Jwt token = wrapped.verifyCompact(compact, validator);
      Jwt token2 = mac2.verifyCompact(compact, validator);
  
      assertThrows(GeneralSecurityException.class, () -> mac1.verifyCompact(compact, validator));
      assertThat(token.getJwtId()).isEqualTo("blah");
      assertThat(token.getAlgorithm()).isEqualTo("HS256");
      assertThat(token2.getJwtId()).isEqualTo("blah");
      assertThat(token2.getAlgorithm()).isEqualTo("HS256");
    }
test_case.class_method_signature: JwtMacWrapperTest.test_wrapMultiple_works()
test_case.full_signature: @Test public void test_wrapMultiple_works()
test_case.identifier: test_wrapMultiple_works
test_case.invocations: newPrimitiveSet randBytes addPrimitive build setOutputPrefixType setStatus setKeyId newBuilder randBytes addPrimitive build setOutputPrefixType setStatus setKeyId newBuilder setPrimary wrap build setJwtId createCompact build verifyCompact verifyCompact assertThrows verifyCompact isEqualTo assertThat getJwtId isEqualTo assertThat getAlgorithm isEqualTo assertThat getJwtId isEqualTo assertThat getAlgorithm
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test_wrapMultiple_works()
focal_class.file: java_src/src/main/java/com/google/crypto/tink/jwt/JwtMacWrapper.java
focal_class.identifier: JwtMacWrapper
focal_class.interfaces: implements PrimitiveWrapper<JwtMac, JwtMac>
focal_class.class_method_signature: JwtMacWrapper.validate(PrimitiveSet<JwtMac> primitiveSet)
focal_class.full_signature: private static void validate(PrimitiveSet<JwtMac> primitiveSet)
focal_class.identifier: validate
focal_class.modifiers: private static
focal_class.parameters: (PrimitiveSet<JwtMac> primitiveSet)
focal_class.return: void
focal_class.signature: void validate(PrimitiveSet<JwtMac> primitiveSet)
focal_class.class_method_signature: JwtMacWrapper.JwtMacWrapper()
focal_class.full_signature:   JwtMacWrapper()
focal_class.identifier: JwtMacWrapper
focal_class.parameters: ()
focal_class.signature:  JwtMacWrapper()
focal_class.class_method_signature: JwtMacWrapper.wrap(final PrimitiveSet<JwtMac> primitives)
focal_class.full_signature: @Override public JwtMac wrap(final PrimitiveSet<JwtMac> primitives)
focal_class.identifier: wrap
focal_class.modifiers: @Override public
focal_class.parameters: (final PrimitiveSet<JwtMac> primitives)
focal_class.return: JwtMac
focal_class.signature: JwtMac wrap(final PrimitiveSet<JwtMac> primitives)
focal_class.class_method_signature: JwtMacWrapper.getPrimitiveClass()
focal_class.full_signature: @Override public Class<JwtMac> getPrimitiveClass()
focal_class.identifier: getPrimitiveClass
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Class<JwtMac>
focal_class.signature: Class<JwtMac> getPrimitiveClass()
focal_class.class_method_signature: JwtMacWrapper.getInputPrimitiveClass()
focal_class.full_signature: @Override public Class<JwtMac> getInputPrimitiveClass()
focal_class.identifier: getInputPrimitiveClass
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Class<JwtMac>
focal_class.signature: Class<JwtMac> getInputPrimitiveClass()
focal_class.class_method_signature: JwtMacWrapper.register()
focal_class.full_signature: public static void register()
focal_class.identifier: register
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void register()
focal_method.body: @Override
    public JwtMac wrap(final PrimitiveSet<JwtMac> primitives) throws GeneralSecurityException {
      validate(primitives);
      return new WrappedJwtMac(primitives);
    }
focal_method.class_method_signature: JwtMacWrapper.wrap(final PrimitiveSet<JwtMac> primitives)
focal_method.full_signature: @Override public JwtMac wrap(final PrimitiveSet<JwtMac> primitives)
focal_method.identifier: wrap
focal_method.invocations: validate
focal_method.modifiers: @Override public
focal_method.parameters: (final PrimitiveSet<JwtMac> primitives)
focal_method.return: JwtMac
focal_method.signature: JwtMac wrap(final PrimitiveSet<JwtMac> primitives)