package at.gv.egiz.eaaf.core.test.utils; import org.joda.time.DateTime; import org.jose4j.lang.JoseException; import at.gv.egiz.eaaf.core.exceptions.EaafException; import at.gv.egiz.eaaf.core.impl.utils.AuthenticatedEncryptionPendingRequestIdGenerationStrategy; import at.gv.egiz.eaaf.core.impl.utils.Random; /** * {@link AuthenticatedEncryptionPendingRequestIdGenerationStrategy} with special methodes for software testing. * * @author tlenz * */ public class TestAuthenticatedEncryptionPendingRequestIdGenerationStrategy extends AuthenticatedEncryptionPendingRequestIdGenerationStrategy { /** * Generate a new pendingRequestId with a specific timestamp. * *

This method is only for software testing to generate expired pendingRequestId's

* * @param timestamp Timestamp on which this pendingRequestId was generated * @return pendingRequestId * @throws EaafException In case of an error */ public String generateExternalPendingRequestId(DateTime timestamp) throws EaafException { try { final String toSign = buildInternalToken(Random.nextLongRandom(),timestamp); return encryptAndEncodeToken(toSign); } catch (final JoseException e) { throw new EaafException("internal.pendingreqid.02", new Object[] { e.getMessage() }, e); } } }