Skip to content

Commit

Permalink
fix: plugin unit test cleanup and jacoco reporting (#62)
Browse files Browse the repository at this point in the history
* test cleanup, add jacoco

* add mattermost id test

* fix conflicts
  • Loading branch information
UnicornChance authored May 2, 2024
1 parent 0a16a39 commit c6c3e57
Show file tree
Hide file tree
Showing 14 changed files with 71 additions and 328 deletions.
48 changes: 46 additions & 2 deletions src/plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<artifactId>powermock-api-mockito2</artifactId>
<version>2.0.9</version>
<scope>test</scope>
</dependency>
</dependency>
</dependencies>

<build>
Expand All @@ -86,6 +86,7 @@
<version>3.2.5</version>
<configuration>
<argLine>
${surefireArgLine}
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
Expand All @@ -96,7 +97,50 @@
--add-opens=java.base/sun.security.jca=ALL-UNNAMED
</argLine>
</configuration>
</plugin>
<executions>
<execution>
<id>surefire-report</id>
<phase>verify</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>3.0.0-M5</version>
<executions>
<execution>
<id>generate-report</id>
<phase>verify</phase>
<goals>
<goal>report-only</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>surefireArgLine</propertyName>
</configuration>
</execution>
<execution>
<id>report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import com.defenseunicorns.uds.keycloak.plugin.utils.NewObjectProvider;
import java.io.File;
import java.io.FileInputStream;
import java.util.*;
Expand All @@ -23,7 +22,7 @@
import static org.mockito.Mockito.*;

@RunWith(PowerMockRunner.class)
@PrepareForTest({ FileInputStream.class, File.class, X509Tools.class, NewObjectProvider.class })
@PrepareForTest({ FileInputStream.class, File.class, X509Tools.class })
@PowerMockIgnore("javax.management.*")
public class CustomEventListenerTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import com.defenseunicorns.uds.keycloak.plugin.utils.CommonConfig;
import com.defenseunicorns.uds.keycloak.plugin.utils.NewObjectProvider;
import com.defenseunicorns.uds.keycloak.plugin.utils.UserModelDefaultMethodsImpl;
import com.defenseunicorns.uds.keycloak.plugin.utils.Utils;

Expand All @@ -42,8 +40,7 @@
import static org.powermock.api.mockito.PowerMockito.mockStatic;

@RunWith(PowerMockRunner.class)
@PrepareForTest({ FileInputStream.class, File.class, CommonConfig.class, NewObjectProvider.class,
X509Tools.class })
@PrepareForTest({ FileInputStream.class, File.class, X509Tools.class })
@PowerMockIgnore("javax.management.*")
class RegistrationValidation2Test {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import com.defenseunicorns.uds.keycloak.plugin.utils.NewObjectProvider;
import com.defenseunicorns.uds.keycloak.plugin.utils.ValidationUtils;

import java.io.File;
Expand All @@ -31,7 +30,7 @@
import static org.mockito.Mockito.*;

@RunWith(PowerMockRunner.class)
@PrepareForTest({ FileInputStream.class, File.class, X509Tools.class, NewObjectProvider.class })
@PrepareForTest({ FileInputStream.class, File.class, X509Tools.class })
@PowerMockIgnore("javax.management.*")
public class RegistrationValidationTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import com.defenseunicorns.uds.keycloak.plugin.utils.NewObjectProvider;
import com.defenseunicorns.uds.keycloak.plugin.utils.Utils;

import jakarta.ws.rs.core.MultivaluedHashMap;
Expand All @@ -45,7 +44,7 @@


@RunWith(PowerMockRunner.class)
@PrepareForTest({ NewObjectProvider.class, X509Tools.class })
@PrepareForTest({ X509Tools.class })
@PowerMockIgnore("javax.management.*")
class RegistrationX509PasswordTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import com.defenseunicorns.uds.keycloak.plugin.utils.CommonConfig;
import com.defenseunicorns.uds.keycloak.plugin.utils.NewObjectProvider;
import com.defenseunicorns.uds.keycloak.plugin.utils.Utils;

import java.security.cert.X509Certificate;
Expand All @@ -40,7 +38,7 @@


@RunWith(PowerMockRunner.class)
@PrepareForTest({ NewObjectProvider.class, X509Tools.class, CommonConfig.class})
@PrepareForTest({ X509Tools.class })
//@PowerMockIgnore("javax.management.*")
@PowerMockIgnore({"jdk.internal.reflect.*", "javax.net.ssl.*", "org.slf4j.*", "javax.parsers.*", "ch.qos.logback.*", "jdk.xml.internal.*", "com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*"})
//@PowerMockIgnore("jdk.internal.reflect.*")
Expand Down Expand Up @@ -127,10 +125,6 @@ public void testEvaluateTriggersCondition1() throws Exception {
mockStatic(X509Tools.class);
PowerMockito.when(X509Tools.getX509Username(eq(requiredActionContext))).thenReturn("something");

mockStatic(CommonConfig.class);
CommonConfig commonConfig = PowerMockito.mock(CommonConfig.class);
PowerMockito.when(CommonConfig.getInstance(eq(keycloakSession), eq(realmModel))).thenReturn(commonConfig);

PowerMockito.when(requiredActionContext.getAuthenticationSession()).thenReturn(authenticationSessionModel);
PowerMockito.when(requiredActionContext.getAuthenticationSession().getAuthNote("IGNORE_X509")).thenReturn("authNote");

Expand Down Expand Up @@ -243,8 +237,7 @@ public void testProcessActionCancel() throws Exception {
UpdateX509 updateX509 = new UpdateX509();
updateX509.processAction(requiredActionContext);
}

@SuppressWarnings("unchecked")

@Test
public void testProcessAction() throws Exception {
setupX509Mocks();
Expand All @@ -262,12 +255,6 @@ public void testProcessAction() throws Exception {
mockStatic(X509Tools.class);
PowerMockito.when(X509Tools.getX509Username(eq(requiredActionContext))).thenReturn("something");

mockStatic(CommonConfig.class);
CommonConfig commonConfig = PowerMockito.mock(CommonConfig.class);
PowerMockito.when(CommonConfig.getInstance(eq(keycloakSession), eq(realmModel))).thenReturn(commonConfig);
PowerMockito.when(commonConfig.getUserIdentityAttribute()).thenReturn("an attribute");
PowerMockito.when(commonConfig.getAutoJoinGroupX509()).thenReturn(PowerMockito.mock(Stream.class));

updateX509.processAction(requiredActionContext);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import com.defenseunicorns.uds.keycloak.plugin.utils.NewObjectProvider;
import com.defenseunicorns.uds.keycloak.plugin.utils.Utils;

import java.security.cert.X509Certificate;
Expand All @@ -35,7 +33,6 @@


@RunWith(PowerMockRunner.class)
@PrepareForTest({ NewObjectProvider.class })
@PowerMockIgnore("javax.management.*")
class X509ToolsTest {

Expand Down

This file was deleted.

This file was deleted.

Loading

0 comments on commit c6c3e57

Please sign in to comment.