public void bothRefreshMethodsShouldProduceSamePermissions()

in component-test/src/main/java/TestRefreshToken.java [126:172]


  public void bothRefreshMethodsShouldProduceSamePermissions() throws InterruptedException {
    final Permission userPermission = buildUserPermission();
    final ApplicationSignatureTestData appPlusSig;
    try (final AutoUserContext ignored
                 = tenantApplicationSecurityEnvironment.createAutoSeshatContext()) {
      appPlusSig = setApplicationSignature();
      createApplicationPermission(appPlusSig.getApplicationIdentifier(), userPermission);
    }

    try (final AutoUserContext ignored = loginAdmin()) {
      getTestSubject().setApplicationPermissionEnabledForUser(
              appPlusSig.getApplicationIdentifier(),
              userPermission.getPermittableEndpointGroupIdentifier(),
              ADMIN_IDENTIFIER,
              true);
    }

    final TenantRefreshTokenSerializer refreshTokenSerializer = new TenantRefreshTokenSerializer();

    final TokenSerializationResult tokenSerializationResult =
            refreshTokenSerializer.build(new TenantRefreshTokenSerializer.Specification()
                    .setUser(ADMIN_IDENTIFIER)
                    .setSecondsToLive(30)
                    .setKeyTimestamp(appPlusSig.getKeyTimestamp())
                    .setPrivateKey(appPlusSig.getKeyPair().privateKey())
                    .setSourceApplication(appPlusSig.getApplicationIdentifier()));

    final FeignTargetWithCookieJar<IdentityManager> identityManagerWithCookieJar
            = apiFactory.createWithCookieJar(IdentityManager.class, testEnvironment.serverURI());

    identityManagerWithCookieJar.putCookie("/token", TokenConstants.REFRESH_TOKEN_COOKIE_NAME, tokenSerializationResult.getToken());

    final Authentication applicationAuthenticationViaCookie = identityManagerWithCookieJar.getFeignTarget().refresh();

    final Authentication applicationAuthenticationViaParam = getTestSubject().refresh(tokenSerializationResult.getToken());

    try (final AutoUserContext ignored = new AutoUserContext(ADMIN_IDENTIFIER, applicationAuthenticationViaCookie.getAccessToken()))
    {
      checkAccessToUsersAndOnlyUsers();
    }

    try (final AutoUserContext ignored = new AutoUserContext(ADMIN_IDENTIFIER, applicationAuthenticationViaParam.getAccessToken()))
    {
      checkAccessToUsersAndOnlyUsers();
    }

  }