Skip to content

Commit

Permalink
fixup! Add support for static mocks on DoNotMockEnforcer
Browse files Browse the repository at this point in the history
  • Loading branch information
andrebrait committed Jan 19, 2024
1 parent 555785f commit 9c58028
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 17 deletions.
45 changes: 32 additions & 13 deletions src/main/java/org/mockito/internal/MockitoCore.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,36 @@
*/
package org.mockito.internal;

import org.mockito.*;
import static org.mockito.internal.exceptions.Reporter.missingMethodInvocation;
import static org.mockito.internal.exceptions.Reporter.mocksHaveToBePassedToVerifyNoMoreInteractions;
import static org.mockito.internal.exceptions.Reporter.mocksHaveToBePassedWhenCreatingInOrder;
import static org.mockito.internal.exceptions.Reporter.notAMockPassedToVerify;
import static org.mockito.internal.exceptions.Reporter.notAMockPassedToVerifyNoMoreInteractions;
import static org.mockito.internal.exceptions.Reporter.notAMockPassedWhenCreatingInOrder;
import static org.mockito.internal.exceptions.Reporter.nullPassedToVerify;
import static org.mockito.internal.exceptions.Reporter.nullPassedToVerifyNoMoreInteractions;
import static org.mockito.internal.exceptions.Reporter.nullPassedWhenCreatingInOrder;
import static org.mockito.internal.exceptions.Reporter.stubPassedToVerify;
import static org.mockito.internal.progress.ThreadSafeMockingProgress.mockingProgress;
import static org.mockito.internal.util.MockUtil.createConstructionMock;
import static org.mockito.internal.util.MockUtil.createMock;
import static org.mockito.internal.util.MockUtil.createStaticMock;
import static org.mockito.internal.util.MockUtil.getInvocationContainer;
import static org.mockito.internal.util.MockUtil.getMockHandler;
import static org.mockito.internal.util.MockUtil.isMock;
import static org.mockito.internal.util.MockUtil.resetMock;
import static org.mockito.internal.verification.VerificationModeFactory.noInteractions;
import static org.mockito.internal.verification.VerificationModeFactory.noMoreInteractions;

import java.util.Arrays;
import java.util.List;
import java.util.function.Function;

import org.mockito.InOrder;
import org.mockito.MockSettings;
import org.mockito.MockedConstruction;
import org.mockito.MockedStatic;
import org.mockito.MockingDetails;
import org.mockito.exceptions.misusing.DoNotMockException;
import org.mockito.exceptions.misusing.NotAMockException;
import org.mockito.internal.configuration.plugins.Plugins;
Expand Down Expand Up @@ -35,16 +64,6 @@
import org.mockito.stubbing.Stubber;
import org.mockito.verification.VerificationMode;

import java.util.Arrays;
import java.util.List;
import java.util.function.Function;

import static org.mockito.internal.exceptions.Reporter.*;
import static org.mockito.internal.progress.ThreadSafeMockingProgress.mockingProgress;
import static org.mockito.internal.util.MockUtil.*;
import static org.mockito.internal.verification.VerificationModeFactory.noInteractions;
import static org.mockito.internal.verification.VerificationModeFactory.noMoreInteractions;

@SuppressWarnings("unchecked")
public class MockitoCore {

Expand Down Expand Up @@ -97,14 +116,14 @@ public <T> MockedConstruction<T> mockConstruction(
Function<MockedConstruction.Context, MockCreationSettings<T>> creationSettings =
context -> {
MockSettings value = settingsFactory.apply(context);
if (!(value instanceof MockSettingsImpl)) {
if (!MockSettingsImpl.class.isInstance(value)) {
throw new IllegalArgumentException(
"Unexpected implementation of '"
+ value.getClass().getCanonicalName()
+ "'\n"
+ "At the moment, you cannot provide your own implementations of that class.");
}
MockSettingsImpl impl = (MockSettingsImpl) value;
MockSettingsImpl impl = MockSettingsImpl.class.cast(value);
String mockMaker = impl.getMockMaker();
if (mockMaker != null) {
throw new IllegalArgumentException(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,16 @@

import java.util.List;

import org.mockito.plugins.*;
import org.mockito.plugins.AnnotationEngine;
import org.mockito.plugins.DoNotMockEnforcer;
import org.mockito.plugins.DoNotMockEnforcerWithType;
import org.mockito.plugins.InstantiatorProvider2;
import org.mockito.plugins.MemberAccessor;
import org.mockito.plugins.MockMaker;
import org.mockito.plugins.MockResolver;
import org.mockito.plugins.MockitoLogger;
import org.mockito.plugins.PluginSwitch;
import org.mockito.plugins.StackTraceCleanerProvider;

class PluginRegistry {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,20 @@
*/
package org.mockito.internal.configuration.plugins;

import org.mockito.DoNotMock;
import org.mockito.plugins.*;

import java.util.List;

import org.mockito.DoNotMock;
import org.mockito.plugins.AnnotationEngine;
import org.mockito.plugins.DoNotMockEnforcer;
import org.mockito.plugins.DoNotMockEnforcerWithType;
import org.mockito.plugins.InstantiatorProvider2;
import org.mockito.plugins.MemberAccessor;
import org.mockito.plugins.MockMaker;
import org.mockito.plugins.MockResolver;
import org.mockito.plugins.MockitoLogger;
import org.mockito.plugins.MockitoPlugins;
import org.mockito.plugins.StackTraceCleanerProvider;

/**
* Access to Mockito behavior that can be reconfigured by plugins
*/
Expand Down

0 comments on commit 9c58028

Please sign in to comment.