Patched unit tests, still needs updates for checking approved site to token mapping on data import/export
parent
55b1b00b73
commit
22fa3605ef
|
@ -16,13 +16,17 @@
|
|||
*******************************************************************************/
|
||||
package org.mitre.openid.connect.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mitre.oauth2.model.ClientDetailsEntity;
|
||||
import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
|
||||
import org.mitre.oauth2.repository.OAuth2TokenRepository;
|
||||
import org.mitre.openid.connect.model.ApprovedSite;
|
||||
import org.mitre.openid.connect.repository.ApprovedSiteRepository;
|
||||
import org.mitre.openid.connect.service.ApprovedSiteService;
|
||||
|
@ -33,6 +37,7 @@ import org.mockito.Mockito;
|
|||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.test.annotation.Rollback;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
|
@ -53,6 +58,9 @@ public class TestDefaultApprovedSiteService {
|
|||
@Mock
|
||||
private ApprovedSiteRepository repository;
|
||||
|
||||
@Mock
|
||||
private OAuth2TokenRepository tokenRepository;
|
||||
|
||||
@Mock
|
||||
private StatsService statsService;
|
||||
|
||||
|
@ -97,6 +105,8 @@ public class TestDefaultApprovedSiteService {
|
|||
public void clearApprovedSitesForClient_success() {
|
||||
Set<ApprovedSite> setToReturn = Sets.newHashSet(site2, site3);
|
||||
Mockito.when(repository.getByClientId(client.getClientId())).thenReturn(setToReturn);
|
||||
List<OAuth2AccessTokenEntity> tokens = ImmutableList.of();
|
||||
Mockito.when(tokenRepository.getAccessTokensForApprovedSite(any(ApprovedSite.class))).thenReturn(tokens);
|
||||
|
||||
service.clearApprovedSitesForClient(client);
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ import org.springframework.security.oauth2.provider.OAuth2Authentication;
|
|||
import org.springframework.security.oauth2.provider.OAuth2Request;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.nimbusds.jwt.JWTParser;
|
||||
|
@ -588,7 +589,7 @@ public class TestMITREidDataService_1_0 {
|
|||
site1.setAccessDate(accessDate1);
|
||||
site1.setUserId("user1");
|
||||
site1.setAllowedScopes(ImmutableSet.of("openid", "phone"));
|
||||
site1.setApprovedAccessTokens(ImmutableSet.of(mockToken1));
|
||||
when(mockToken1.getApprovedSite()).thenReturn(site1);
|
||||
|
||||
Date creationDate2 = formatter.parse("2014-09-11T18:49:44.090+0000", Locale.ENGLISH);
|
||||
Date accessDate2 = formatter.parse("2014-09-11T20:49:44.090+0000", Locale.ENGLISH);
|
||||
|
@ -665,6 +666,7 @@ public class TestMITREidDataService_1_0 {
|
|||
return _token;
|
||||
}
|
||||
});
|
||||
when(tokenRepository.getAccessTokensForApprovedSite(site1)).thenReturn(Lists.newArrayList(mockToken1));
|
||||
|
||||
dataService.importData(reader);
|
||||
//2 for sites, 1 for updating access token ref on #1
|
||||
|
@ -679,14 +681,12 @@ public class TestMITREidDataService_1_0 {
|
|||
assertThat(savedSites.get(0).getCreationDate(), equalTo(site1.getCreationDate()));
|
||||
assertThat(savedSites.get(0).getAllowedScopes(), equalTo(site1.getAllowedScopes()));
|
||||
assertThat(savedSites.get(0).getTimeoutDate(), equalTo(site1.getTimeoutDate()));
|
||||
assertThat(savedSites.get(0).getApprovedAccessTokens().size(), equalTo(site1.getApprovedAccessTokens().size()));
|
||||
|
||||
assertThat(savedSites.get(1).getClientId(), equalTo(site2.getClientId()));
|
||||
assertThat(savedSites.get(1).getAccessDate(), equalTo(site2.getAccessDate()));
|
||||
assertThat(savedSites.get(1).getCreationDate(), equalTo(site2.getCreationDate()));
|
||||
assertThat(savedSites.get(1).getAllowedScopes(), equalTo(site2.getAllowedScopes()));
|
||||
assertThat(savedSites.get(1).getTimeoutDate(), equalTo(site2.getTimeoutDate()));
|
||||
assertThat(savedSites.get(1).getApprovedAccessTokens().size(), equalTo(site2.getApprovedAccessTokens().size()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -592,7 +592,7 @@ public class TestMITREidDataService_1_1 {
|
|||
site1.setAccessDate(accessDate1);
|
||||
site1.setUserId("user1");
|
||||
site1.setAllowedScopes(ImmutableSet.of("openid", "phone"));
|
||||
site1.setApprovedAccessTokens(ImmutableSet.of(mockToken1));
|
||||
when(mockToken1.getApprovedSite()).thenReturn(site1);
|
||||
|
||||
Date creationDate2 = formatter.parse("2014-09-11T18:49:44.090+0000", Locale.ENGLISH);
|
||||
Date accessDate2 = formatter.parse("2014-09-11T20:49:44.090+0000", Locale.ENGLISH);
|
||||
|
@ -683,14 +683,12 @@ public class TestMITREidDataService_1_1 {
|
|||
assertThat(savedSites.get(0).getCreationDate(), equalTo(site1.getCreationDate()));
|
||||
assertThat(savedSites.get(0).getAllowedScopes(), equalTo(site1.getAllowedScopes()));
|
||||
assertThat(savedSites.get(0).getTimeoutDate(), equalTo(site1.getTimeoutDate()));
|
||||
assertThat(savedSites.get(0).getApprovedAccessTokens().size(), equalTo(site1.getApprovedAccessTokens().size()));
|
||||
|
||||
assertThat(savedSites.get(1).getClientId(), equalTo(site2.getClientId()));
|
||||
assertThat(savedSites.get(1).getAccessDate(), equalTo(site2.getAccessDate()));
|
||||
assertThat(savedSites.get(1).getCreationDate(), equalTo(site2.getCreationDate()));
|
||||
assertThat(savedSites.get(1).getAllowedScopes(), equalTo(site2.getAllowedScopes()));
|
||||
assertThat(savedSites.get(1).getTimeoutDate(), equalTo(site2.getTimeoutDate()));
|
||||
assertThat(savedSites.get(1).getApprovedAccessTokens().size(), equalTo(site2.getApprovedAccessTokens().size()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -607,7 +607,7 @@ public class TestMITREidDataService_1_2 {
|
|||
site1.setAccessDate(accessDate1);
|
||||
site1.setUserId("user1");
|
||||
site1.setAllowedScopes(ImmutableSet.of("openid", "phone"));
|
||||
site1.setApprovedAccessTokens(ImmutableSet.of(mockToken1));
|
||||
when(mockToken1.getApprovedSite()).thenReturn(site1);
|
||||
|
||||
Date creationDate2 = formatter.parse("2014-09-11T18:49:44.090+0000", Locale.ENGLISH);
|
||||
Date accessDate2 = formatter.parse("2014-09-11T20:49:44.090+0000", Locale.ENGLISH);
|
||||
|
@ -698,14 +698,12 @@ public class TestMITREidDataService_1_2 {
|
|||
assertThat(savedSites.get(0).getCreationDate(), equalTo(site1.getCreationDate()));
|
||||
assertThat(savedSites.get(0).getAllowedScopes(), equalTo(site1.getAllowedScopes()));
|
||||
assertThat(savedSites.get(0).getTimeoutDate(), equalTo(site1.getTimeoutDate()));
|
||||
assertThat(savedSites.get(0).getApprovedAccessTokens().size(), equalTo(site1.getApprovedAccessTokens().size()));
|
||||
|
||||
assertThat(savedSites.get(1).getClientId(), equalTo(site2.getClientId()));
|
||||
assertThat(savedSites.get(1).getAccessDate(), equalTo(site2.getAccessDate()));
|
||||
assertThat(savedSites.get(1).getCreationDate(), equalTo(site2.getCreationDate()));
|
||||
assertThat(savedSites.get(1).getAllowedScopes(), equalTo(site2.getAllowedScopes()));
|
||||
assertThat(savedSites.get(1).getTimeoutDate(), equalTo(site2.getTimeoutDate()));
|
||||
assertThat(savedSites.get(1).getApprovedAccessTokens().size(), equalTo(site2.getApprovedAccessTokens().size()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -1153,8 +1153,8 @@ public class TestMITREidDataService_1_3 {
|
|||
site1.setAccessDate(accessDate1);
|
||||
site1.setUserId("user1");
|
||||
site1.setAllowedScopes(ImmutableSet.of("openid", "phone"));
|
||||
site1.setApprovedAccessTokens(ImmutableSet.of(mockToken1));
|
||||
|
||||
when(mockToken1.getApprovedSite()).thenReturn(site1);
|
||||
|
||||
Date creationDate2 = formatter.parse("2014-09-11T18:49:44.090+0000", Locale.ENGLISH);
|
||||
Date accessDate2 = formatter.parse("2014-09-11T20:49:44.090+0000", Locale.ENGLISH);
|
||||
Date timeoutDate2 = formatter.parse("2014-10-01T20:49:44.090+0000", Locale.ENGLISH);
|
||||
|
@ -1246,16 +1246,6 @@ public class TestMITREidDataService_1_3 {
|
|||
}
|
||||
assertThat(site.get("userId").getAsString(), equalTo(compare.getUserId()));
|
||||
assertThat(jsonArrayToStringSet(site.getAsJsonArray("allowedScopes")), equalTo(compare.getAllowedScopes()));
|
||||
if (site.get("approvedAccessTokens").isJsonNull() || site.getAsJsonArray("approvedAccessTokens") == null) {
|
||||
assertTrue(compare.getApprovedAccessTokens() == null || compare.getApprovedAccessTokens().isEmpty());
|
||||
} else {
|
||||
assertNotNull(compare.getApprovedAccessTokens());
|
||||
Set<String> tokenIds = new HashSet<>();
|
||||
for(OAuth2AccessTokenEntity entity : compare.getApprovedAccessTokens()) {
|
||||
tokenIds.add(entity.getId().toString());
|
||||
}
|
||||
assertThat(jsonArrayToStringSet(site.getAsJsonArray("approvedAccessTokens")), equalTo(tokenIds));
|
||||
}
|
||||
checked.add(compare);
|
||||
}
|
||||
}
|
||||
|
@ -1278,7 +1268,7 @@ public class TestMITREidDataService_1_3 {
|
|||
site1.setAccessDate(accessDate1);
|
||||
site1.setUserId("user1");
|
||||
site1.setAllowedScopes(ImmutableSet.of("openid", "phone"));
|
||||
site1.setApprovedAccessTokens(ImmutableSet.of(mockToken1));
|
||||
when(mockToken1.getApprovedSite()).thenReturn(site1);
|
||||
|
||||
Date creationDate2 = formatter.parse("2014-09-11T18:49:44.090+0000", Locale.ENGLISH);
|
||||
Date accessDate2 = formatter.parse("2014-09-11T20:49:44.090+0000", Locale.ENGLISH);
|
||||
|
@ -1369,14 +1359,12 @@ public class TestMITREidDataService_1_3 {
|
|||
assertThat(savedSites.get(0).getCreationDate(), equalTo(site1.getCreationDate()));
|
||||
assertThat(savedSites.get(0).getAllowedScopes(), equalTo(site1.getAllowedScopes()));
|
||||
assertThat(savedSites.get(0).getTimeoutDate(), equalTo(site1.getTimeoutDate()));
|
||||
assertThat(savedSites.get(0).getApprovedAccessTokens().size(), equalTo(site1.getApprovedAccessTokens().size()));
|
||||
|
||||
assertThat(savedSites.get(1).getClientId(), equalTo(site2.getClientId()));
|
||||
assertThat(savedSites.get(1).getAccessDate(), equalTo(site2.getAccessDate()));
|
||||
assertThat(savedSites.get(1).getCreationDate(), equalTo(site2.getCreationDate()));
|
||||
assertThat(savedSites.get(1).getAllowedScopes(), equalTo(site2.getAllowedScopes()));
|
||||
assertThat(savedSites.get(1).getTimeoutDate(), equalTo(site2.getTimeoutDate()));
|
||||
assertThat(savedSites.get(1).getApprovedAccessTokens().size(), equalTo(site2.getApprovedAccessTokens().size()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -17,12 +17,17 @@ package org.mitre.openid.connect.service.impl;
|
|||
*******************************************************************************/
|
||||
|
||||
|
||||
import static org.mitre.util.JsonUtils.readMap;
|
||||
import static org.mitre.util.JsonUtils.readSet;
|
||||
import static org.mitre.util.JsonUtils.writeNullSafeArray;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.text.ParseException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
@ -76,10 +81,6 @@ import com.nimbusds.jose.JWSAlgorithm;
|
|||
import com.nimbusds.jose.jwk.JWKSet;
|
||||
import com.nimbusds.jwt.JWTParser;
|
||||
|
||||
import static org.mitre.util.JsonUtils.readMap;
|
||||
import static org.mitre.util.JsonUtils.readSet;
|
||||
import static org.mitre.util.JsonUtils.writeNullSafeArray;
|
||||
|
||||
/**
|
||||
*
|
||||
* UMA EXPORT OVERRIDE
|
||||
|
@ -567,7 +568,7 @@ public class MITREidDataService_1_2 extends MITREidDataServiceSupport implements
|
|||
writer.name(USER_ID).value(site.getUserId());
|
||||
writer.name(ALLOWED_SCOPES);
|
||||
writeNullSafeArray(writer, site.getAllowedScopes());
|
||||
Set<OAuth2AccessTokenEntity> tokens = site.getApprovedAccessTokens();
|
||||
List<OAuth2AccessTokenEntity> tokens = tokenRepository.getAccessTokensForApprovedSite(site);
|
||||
writer.name(APPROVED_ACCESS_TOKENS);
|
||||
writer.beginArray();
|
||||
for (OAuth2AccessTokenEntity token : tokens) {
|
||||
|
@ -1791,14 +1792,17 @@ public class MITREidDataService_1_2 extends MITREidDataServiceSupport implements
|
|||
accessTokenToIdTokenRefs.clear();
|
||||
for (Long oldGrantId : grantToAccessTokensRefs.keySet()) {
|
||||
Set<Long> oldAccessTokenIds = grantToAccessTokensRefs.get(oldGrantId);
|
||||
Set<OAuth2AccessTokenEntity> tokens = new HashSet<OAuth2AccessTokenEntity>();
|
||||
for(Long oldTokenId : oldAccessTokenIds) {
|
||||
Long newTokenId = accessTokenOldToNewIdMap.get(oldTokenId);
|
||||
tokens.add(tokenRepository.getAccessTokenById(newTokenId));
|
||||
}
|
||||
|
||||
Long newGrantId = grantOldToNewIdMap.get(oldGrantId);
|
||||
ApprovedSite site = approvedSiteRepository.getById(newGrantId);
|
||||
site.setApprovedAccessTokens(tokens);
|
||||
|
||||
for(Long oldTokenId : oldAccessTokenIds) {
|
||||
Long newTokenId = accessTokenOldToNewIdMap.get(oldTokenId);
|
||||
OAuth2AccessTokenEntity token = tokenRepository.getAccessTokenById(newTokenId);
|
||||
token.setApprovedSite(site);
|
||||
tokenRepository.saveAccessToken(token);
|
||||
}
|
||||
|
||||
approvedSiteRepository.save(site);
|
||||
}
|
||||
accessTokenOldToNewIdMap.clear();
|
||||
|
|
Loading…
Reference in New Issue