Skip to content

Commit

Permalink
verifyNoMoreInteractions
Browse files Browse the repository at this point in the history
  • Loading branch information
dmtkachenko committed Sep 2, 2024
1 parent e3267ac commit de5cf41
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions folio-backend-testing/src/main/java/org/folio/test/TestUtils.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
package org.folio.test;

import static org.springframework.test.util.ReflectionTestUtils.getField;

import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.Spy;
import org.springframework.test.web.servlet.MvcResult;

@Log4j2
Expand Down Expand Up @@ -69,4 +75,14 @@ public static File readToFile(String path, String fileName, String fileExtension
FileUtils.copyInputStreamToFile(readStream(path), file);
return file;
}

public static void verifyNoMoreInteractions(Object testClassInstance) {
var declaredFields = testClassInstance.getClass().getDeclaredFields();
var mocks = Arrays.stream(declaredFields)
.filter(field -> field.getAnnotation(Mock.class) != null || field.getAnnotation(Spy.class) != null)
.map(field -> getField(testClassInstance, field.getName()))
.toArray();

Mockito.verifyNoMoreInteractions(mocks);
}
}

0 comments on commit de5cf41

Please sign in to comment.