package org.jboss.resteasy.test.crypto; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jboss.resteasy.security.smime.PKCS7SignatureInput; import org.junit.Assert; import org.junit.Test; import javax.ws.rs.core.GenericType; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; /** * @tpSubChapter Crypto * @tpChapter Unit tests * @tpTestCaseDetails Regression test for JBEAP-1795 * @tpSince RESTEasy 3.0.16 */ public class GenericTypeCryptoTest { protected static final Logger logger = LogManager.getLogger(GenericTypeCryptoTest.class.getName()); /** * @tpTestDetails Check GenerycType class on ArrayList * @tpSince RESTEasy 3.0.16 */ @Test public void testGenericType() throws Exception { GenericType<List<String>> stringListType = new GenericType<List<String>>() { }; logger.info("type: " + stringListType.getType()); logger.info("raw type: " + stringListType.getRawType()); PKCS7SignatureInput<List<String>> input = new PKCS7SignatureInput<>(); input.setType(stringListType); Field field = PKCS7SignatureInput.class.getDeclaredField("entity"); field.setAccessible(true); List<String> list = new ArrayList<>(); list.add("abc"); field.set(input, list); List<String> list2 = input.getEntity(stringListType, null); logger.info("list2: " + list2); Assert.assertEquals("Wrong decryption and encryption of list", list, list2); } }