You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
63 lines
1.9 KiB
/* © SRSoftware 2024 */ |
|
package de.srsoftware.oidc.api; |
|
|
|
import static de.srsoftware.utils.Strings.uuid; |
|
import static org.junit.jupiter.api.Assertions.assertEquals; |
|
import static org.junit.jupiter.api.Assertions.assertTrue; |
|
|
|
import de.srsoftware.oidc.api.data.Client; |
|
import java.util.Set; |
|
import org.junit.jupiter.api.Test; |
|
|
|
public abstract class ClientServiceTest { |
|
private static final String NAME = "client-1"; |
|
private static final String URI = "uri-1"; |
|
private static final String URI2 = "uri-2"; |
|
|
|
protected abstract ClientService clientService(); |
|
|
|
@Test |
|
public void testSaveAndList() { |
|
var cs = clientService(); |
|
assertTrue(cs.listClients().isEmpty()); |
|
var clientId = uuid(); |
|
var clientSecret = uuid(); |
|
var client = new Client(clientId, NAME, clientSecret, Set.of(URI)); |
|
var list = cs.save(client).listClients(); |
|
assertEquals(1, list.size()); |
|
assertTrue(list.contains(client)); |
|
cs.remove(clientId); |
|
assertTrue(cs.listClients().isEmpty()); |
|
} |
|
|
|
@Test |
|
public void testGet() { |
|
var cs = clientService(); |
|
var clientId = uuid(); |
|
var clientSecret = uuid(); |
|
var client = new Client(clientId, NAME, clientSecret, Set.of(URI)); |
|
var optClient = cs.save(client).getClient(clientId); |
|
assertTrue(optClient.isPresent()); |
|
assertEquals(client, optClient.get()); |
|
optClient = cs.getClient(uuid()); |
|
assertTrue(optClient.isEmpty()); |
|
} |
|
|
|
@Test |
|
public void testOverride() { |
|
var cs = clientService(); |
|
var clientId = uuid(); |
|
var clientSecret = uuid(); |
|
var clientSecret2 = uuid(); |
|
var client1 = new Client(clientId, NAME, clientSecret, Set.of(URI)); |
|
var client2 = new Client(clientId, "test", clientSecret2, Set.of(URI2)); |
|
|
|
var optClient = cs.save(client1).getClient(clientId); |
|
assertTrue(optClient.isPresent()); |
|
assertEquals(client1, optClient.get()); |
|
|
|
optClient = cs.save(client2).getClient(clientId); |
|
assertTrue(optClient.isPresent()); |
|
assertEquals(client2, optClient.get()); |
|
} |
|
}
|
|
|