Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion openid-connect-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<artifactId>openid-connect-parent</artifactId>
<groupId>org.mitre</groupId>
<version>1.3.7.cnaf-20250915</version>
<version>1.4.0.cnaf-20251012</version>
<relativePath>..</relativePath>
</parent>
<artifactId>openid-connect-client</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,24 @@
*******************************************************************************/
package org.mitre.openid.connect.client.service.impl;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.InjectMocks;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import org.mockito.junit.MockitoJUnitRunner;

/**
* @author wkim
Expand All @@ -41,77 +43,80 @@
@RunWith(MockitoJUnitRunner.class)
public class TestHybridClientConfigurationService {

@Mock
private StaticClientConfigurationService mockStaticService;
@Mock
private StaticClientConfigurationService mockStaticService;

@Mock
private DynamicRegistrationClientConfigurationService mockDynamicService;
@Mock
private DynamicRegistrationClientConfigurationService mockDynamicService;

@InjectMocks
private HybridClientConfigurationService hybridService;
@InjectMocks
private HybridClientConfigurationService hybridService;

// test fixture
// test fixture

@Mock
private RegisteredClient mockClient;
@Mock
private RegisteredClient mockClient;

@Mock
private ServerConfiguration mockServerConfig;
@Mock
private ServerConfiguration mockServerConfig;

private String issuer = "https://www.example.com/";
private String issuer = "https://www.example.com/";

@Before
public void prepare() {
@Before
public void prepare() {

Mockito.reset(mockDynamicService, mockStaticService);
reset(mockDynamicService, mockStaticService);

Mockito.when(mockServerConfig.getIssuer()).thenReturn(issuer);
lenient().when(mockServerConfig.getIssuer()).thenReturn(issuer);

}
}

@Test
public void getClientConfiguration_useStatic() {
@Test
public void getClientConfiguration_useStatic() {

Mockito.when(mockStaticService.getClientConfiguration(mockServerConfig)).thenReturn(mockClient);
lenient().when(mockStaticService.getClientConfiguration(mockServerConfig)).thenReturn(mockClient);

RegisteredClient result = hybridService.getClientConfiguration(mockServerConfig);
RegisteredClient result = hybridService.getClientConfiguration(mockServerConfig);

Mockito.verify(mockStaticService).getClientConfiguration(mockServerConfig);
Mockito.verify(mockDynamicService, Mockito.never()).getClientConfiguration(Matchers.any(ServerConfiguration.class));
assertEquals(mockClient, result);
}
verify(mockStaticService).getClientConfiguration(mockServerConfig);
verify(mockDynamicService, Mockito.never())
.getClientConfiguration(any(ServerConfiguration.class));
assertEquals(mockClient, result);
}

@Test
public void getClientConfiguration_useDynamic() {
@Test
public void getClientConfiguration_useDynamic() {

Mockito.when(mockStaticService.getClientConfiguration(mockServerConfig)).thenReturn(null);
Mockito.when(mockDynamicService.getClientConfiguration(mockServerConfig)).thenReturn(mockClient);
lenient().when(mockStaticService.getClientConfiguration(mockServerConfig)).thenReturn(null);
lenient().when(mockDynamicService.getClientConfiguration(mockServerConfig))
.thenReturn(mockClient);

RegisteredClient result = hybridService.getClientConfiguration(mockServerConfig);
RegisteredClient result = hybridService.getClientConfiguration(mockServerConfig);

Mockito.verify(mockStaticService).getClientConfiguration(mockServerConfig);
Mockito.verify(mockDynamicService).getClientConfiguration(mockServerConfig);
assertEquals(mockClient, result);
}
verify(mockStaticService).getClientConfiguration(mockServerConfig);
verify(mockDynamicService).getClientConfiguration(mockServerConfig);
assertEquals(mockClient, result);
}

/**
* Checks the behavior when the issuer is not known.
*/
@Test
public void getClientConfiguration_noIssuer() {
/**
* Checks the behavior when the issuer is not known.
*/
@Test
public void getClientConfiguration_noIssuer() {

// The mockServerConfig is known to both services
Mockito.when(mockStaticService.getClientConfiguration(mockServerConfig)).thenReturn(mockClient);
Mockito.when(mockDynamicService.getClientConfiguration(mockServerConfig)).thenReturn(mockClient);
// The mockServerConfig is known to both services
lenient().when(mockStaticService.getClientConfiguration(mockServerConfig)).thenReturn(mockClient);
lenient().when(mockDynamicService.getClientConfiguration(mockServerConfig))
.thenReturn(mockClient);

// But oh noes! We're going to ask it to find us some other issuer
ServerConfiguration badIssuer = Mockito.mock(ServerConfiguration.class);
Mockito.when(badIssuer.getIssuer()).thenReturn("www.badexample.com");
// But oh noes! We're going to ask it to find us some other issuer
ServerConfiguration badIssuer = Mockito.mock(ServerConfiguration.class);
lenient().when(badIssuer.getIssuer()).thenReturn("www.badexample.com");

RegisteredClient result = hybridService.getClientConfiguration(badIssuer);
RegisteredClient result = hybridService.getClientConfiguration(badIssuer);

Mockito.verify(mockStaticService).getClientConfiguration(badIssuer);
Mockito.verify(mockDynamicService).getClientConfiguration(badIssuer);
assertThat(result, is(nullValue()));
}
verify(mockStaticService).getClientConfiguration(badIssuer);
verify(mockDynamicService).getClientConfiguration(badIssuer);
assertThat(result, is(nullValue()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,23 @@
package org.mitre.openid.connect.client.service.impl;


import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.InjectMocks;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import org.mockito.junit.MockitoJUnitRunner;

/**
* @author wkim
Expand All @@ -41,68 +43,68 @@
@RunWith(MockitoJUnitRunner.class)
public class TestHybridServerConfigurationService {

@Mock
private StaticServerConfigurationService mockStaticService;
@Mock
private StaticServerConfigurationService mockStaticService;

@Mock
private DynamicServerConfigurationService mockDynamicService;
@Mock
private DynamicServerConfigurationService mockDynamicService;

@InjectMocks
private HybridServerConfigurationService hybridService;
@InjectMocks
private HybridServerConfigurationService hybridService;

@Mock
private ServerConfiguration mockServerConfig;
@Mock
private ServerConfiguration mockServerConfig;

private String issuer = "https://www.example.com/";
private String issuer = "https://www.example.com/";

@Before
public void prepare() {
@Before
public void prepare() {

Mockito.reset(mockDynamicService, mockStaticService);
reset(mockDynamicService, mockStaticService);

}
}


@Test
public void getServerConfiguration_useStatic() {
@Test
public void getServerConfiguration_useStatic() {

Mockito.when(mockStaticService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
lenient().when(mockStaticService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);

ServerConfiguration result = hybridService.getServerConfiguration(issuer);
ServerConfiguration result = hybridService.getServerConfiguration(issuer);

Mockito.verify(mockStaticService).getServerConfiguration(issuer);
Mockito.verify(mockDynamicService, Mockito.never()).getServerConfiguration(Matchers.anyString());
assertEquals(mockServerConfig, result);
}
verify(mockStaticService).getServerConfiguration(issuer);
verify(mockDynamicService, Mockito.never()).getServerConfiguration(any(String.class));
assertEquals(mockServerConfig, result);
}

@Test
public void getServerConfiguration_useDynamic() {
@Test
public void getServerConfiguration_useDynamic() {

Mockito.when(mockStaticService.getServerConfiguration(issuer)).thenReturn(null);
Mockito.when(mockDynamicService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
lenient().when(mockStaticService.getServerConfiguration(issuer)).thenReturn(null);
lenient().when(mockDynamicService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);

ServerConfiguration result = hybridService.getServerConfiguration(issuer);
ServerConfiguration result = hybridService.getServerConfiguration(issuer);

Mockito.verify(mockStaticService).getServerConfiguration(issuer);
Mockito.verify(mockDynamicService).getServerConfiguration(issuer);
assertEquals(mockServerConfig, result);
}
verify(mockStaticService).getServerConfiguration(issuer);
verify(mockDynamicService).getServerConfiguration(issuer);
assertEquals(mockServerConfig, result);
}

/**
* Checks the behavior when the issuer is not known.
*/
@Test
public void getServerConfiguration_noIssuer() {
/**
* Checks the behavior when the issuer is not known.
*/
@Test
public void getServerConfiguration_noIssuer() {

Mockito.when(mockStaticService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
Mockito.when(mockDynamicService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
lenient().when(mockStaticService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
lenient().when(mockDynamicService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);

String badIssuer = "www.badexample.com";
String badIssuer = "www.badexample.com";

ServerConfiguration result = hybridService.getServerConfiguration(badIssuer);
ServerConfiguration result = hybridService.getServerConfiguration(badIssuer);

Mockito.verify(mockStaticService).getServerConfiguration(badIssuer);
Mockito.verify(mockDynamicService).getServerConfiguration(badIssuer);
assertThat(result, is(nullValue()));
}
verify(mockStaticService).getServerConfiguration(badIssuer);
verify(mockDynamicService).getServerConfiguration(badIssuer);
assertThat(result, is(nullValue()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
*******************************************************************************/
package org.mitre.openid.connect.client.service.impl;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;

import java.util.HashMap;
import java.util.Map;

Expand All @@ -27,14 +33,7 @@
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.CoreMatchers.nullValue;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import org.mockito.junit.MockitoJUnitRunner;

/**
* @author wkim
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
*******************************************************************************/
package org.mitre.openid.connect.client.service.impl;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;

import java.util.HashMap;
import java.util.Map;

Expand All @@ -25,14 +31,7 @@
import org.junit.runner.RunWith;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.CoreMatchers.nullValue;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import org.mockito.junit.MockitoJUnitRunner;

/**
* @author wkim
Expand Down
2 changes: 1 addition & 1 deletion openid-connect-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<artifactId>openid-connect-parent</artifactId>
<groupId>org.mitre</groupId>
<version>1.3.7.cnaf-20250915</version>
<version>1.4.0.cnaf-20251012</version>
<relativePath>..</relativePath>
</parent>
<artifactId>openid-connect-common</artifactId>
Expand Down
Loading