### Question:
JweJsonConsumer { public JweDecryptionOutput decryptWith(JweDecryptionProvider jwe) { return decryptWith(jwe, (Map<String, Object>)null); } JweJsonConsumer(String payload); JweDecryptionOutput decryptWith(JweDecryptionProvider jwe); JweDecryptionOutput decryptWith(JweDecryptionProvider jwe,
                                           Map<String, Object> recipientProps); JweDecryptionOutput decryptWith(JweDecryptionProvider jwe, JweJsonEncryptionEntry entry); JweJsonEncryptionEntry getJweDecryptionEntry(JweDecryptionProvider jwe); JweJsonEncryptionEntry getJweDecryptionEntry(JweDecryptionProvider jwe,
                                                        Map<String, Object> recipientProps); JweHeaders getProtectedHeader(); JweHeaders getSharedUnprotectedHeader(); byte[] getAad(); String getAadText(); byte[] getIvBytes(); String getIvText(); byte[] getCipherBytes(); String getCipherText(); byte[] getAuthTagBytes(); String getAuthTagText(); List<JweJsonEncryptionEntry> getRecipients(); Map<JweJsonEncryptionEntry, JweHeaders> getRecipientsMap();  }### Answer:
@Test public void testSingleRecipientAllTypeOfHeadersAndAadModified() { SecretKey wrapperKey = CryptoUtils.createSecretKeySpec(JweJsonProducerTest.WRAPPER_BYTES1, "AES"); JweDecryptionProvider jwe = JweUtils.createJweDecryptionProvider(wrapperKey, KeyAlgorithm.A128KW, ContentAlgorithm.A128GCM); JweJsonConsumer consumer = new JweJsonConsumer(SINGLE_RECIPIENT_ALL_HEADERS_AAD_MODIFIED_OUTPUT); try { consumer.decryptWith(jwe); fail("AAD check has passed unexpectedly"); } catch (SecurityException ex) { } }