package com.monkeyk.os.infrastructure.jdbc; import com.monkeyk.os.ContextTest; import com.monkeyk.os.domain.oauth.AccessToken; import com.monkeyk.os.domain.oauth.ClientDetails; import com.monkeyk.os.domain.oauth.OauthCode; import com.monkeyk.os.domain.shared.GuidGenerator; import org.apache.oltu.oauth2.as.issuer.MD5Generator; import org.apache.oltu.oauth2.as.issuer.OAuthIssuerImpl; import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.Test; import java.util.List; import static org.testng.Assert.*; /** * 15-6-13 * * @author Shengzhao Li */ public class OauthJdbcRepositoryTest extends ContextTest { @Autowired private OauthJdbcRepository oauthJdbcRepository; @Test public void testFindClientDetails() throws Exception { String clientId = "oaoedd"; final ClientDetails clientDetails = oauthJdbcRepository.findClientDetails(clientId); assertNull(clientDetails); ClientDetails clientDetails1 = new ClientDetails(); clientDetails1.setClientId(clientId); clientDetails1.setClientSecret("Ole397dde2"); final int i = oauthJdbcRepository.saveClientDetails(clientDetails1); assertEquals(i, 1); final ClientDetails clientDetails2 = oauthJdbcRepository.findClientDetails(clientId); assertNotNull(clientDetails2); assertNotNull(clientDetails2.getClientId()); } @Test public void findAccessTokenByRefreshToken() throws Exception { String clientId = "oaoedd"; String refreshToken = GuidGenerator.generate(); final AccessToken accessToken = oauthJdbcRepository.findAccessTokenByRefreshToken(refreshToken, clientId); assertNull(accessToken); } @Test public void findClientDetailsListByClientId() throws Exception { String clientId = "oaoedd"; final List<ClientDetails> list = oauthJdbcRepository.findClientDetailsListByClientId(clientId); assertTrue(list.isEmpty()); } @Test public void saveOauthCode() throws Exception { final OAuthIssuerImpl oAuthIssuer = new OAuthIssuerImpl(new MD5Generator()); OauthCode oauthCode = new OauthCode() .username("test") .code(oAuthIssuer.authorizationCode()) .clientId("client+id"); oauthJdbcRepository.saveOauthCode(oauthCode); final OauthCode oauthCode1 = oauthJdbcRepository.findOauthCode(oauthCode.code(), oauthCode.clientId()); assertNotNull(oauthCode1); assertNotNull(oauthCode1.code()); assertNotNull(oauthCode1.username()); System.out.println(oauthCode1.code()); final OauthCode oauthCode2 = oauthJdbcRepository.findOauthCodeByUsernameClientId(oauthCode.username(), oauthCode.clientId()); assertNotNull(oauthCode2); final int i = oauthJdbcRepository.deleteOauthCode(oauthCode); assertEquals(i, 1); final OauthCode oauthCode3 = oauthJdbcRepository.findOauthCodeByUsernameClientId("add", "ddood"); assertNull(oauthCode3); } @Test public void findAccessToken() { final AccessToken accessToken = oauthJdbcRepository.findAccessToken("client_id", "username", "authid"); assertNull(accessToken); } @Test public void deleteAccessToken() { AccessToken accessToken = new AccessToken() .username("user") .authenticationId("auted") .clientId("client"); oauthJdbcRepository.deleteAccessToken(accessToken); } @Test public void saveAccessToken() { AccessToken accessToken = new AccessToken() .username("user") .authenticationId("auted") .clientId("client"); final int i = oauthJdbcRepository.saveAccessToken(accessToken); assertEquals(i, 1); } }