This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new b0939ed7e1 ISIS-3209: metamodel test fixes (2)
b0939ed7e1 is described below
commit b0939ed7e116f16e8b640e0824dc06954f9c69cb
Author: Andi Huber <[email protected]>
AuthorDate: Tue Sep 13 11:44:53 2022 +0200
ISIS-3209: metamodel test fixes (2)
---
.../isis/commons/internal/base/_Strings.java | 12 +--
core/metamodel/src/main/java/module-info.java | 2 -
.../commons/StringUtils_NormalizedTest.java | 55 +++++-----
...jectAssociationPredicatesTest_visibleWhere.java | 114 +++++++++------------
.../ApplicationFeatureRepositoryDefaultTest.java | 34 +++---
.../specloader/SpecificationCacheDefaultTest.java | 21 ++--
6 files changed, 101 insertions(+), 137 deletions(-)
diff --git
a/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
b/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
index 8505519180..282f60c365 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
@@ -278,7 +278,7 @@ public final class _Strings {
* @param input
* @return null if {@code input} is null
*/
- public static String capitalize(final @Nullable String input) {
+ public static @Nullable String capitalize(final @Nullable String input) {
if(input==null) {
return null;
}
@@ -296,7 +296,7 @@ public final class _Strings {
* @param input
* @return null if {@code input} is null
*/
- public static String decapitalize(final @Nullable String input) {
+ public static @Nullable String decapitalize(final @Nullable String input) {
if(input==null) {
return null;
}
@@ -311,7 +311,7 @@ public final class _Strings {
// -- SPECIAL UNARY OPERATORS
- public static String htmlEscape(final String source) {
+ public static @Nullable String htmlEscape(final @Nullable String source) {
return _Strings_HtmlEscaper.htmlEscape(source);
}
@@ -320,7 +320,7 @@ public final class _Strings {
/**
* @see "https://stackoverflow.com/a/4571518/9269480"
*/
- public static boolean isUrlSafe(final String input) {
+ public static boolean isUrlSafe(final @Nullable String input) {
if(_Strings.isEmpty(input)) {
return true;
}
@@ -342,7 +342,7 @@ public final class _Strings {
* @param prefix
* @return null if {@code input} is null
*/
- public static String prefix(final @Nullable String input, final @NonNull
String prefix) {
+ public static @Nullable String prefix(final @Nullable String input, final
@NonNull String prefix) {
if(input==null) {
return null;
}
@@ -358,7 +358,7 @@ public final class _Strings {
* @param suffix
* @return null if {@code input} is null
*/
- public static String suffix(final @Nullable String input, final @NonNull
String suffix) {
+ public static @Nullable String suffix(final @Nullable String input, final
@NonNull String suffix) {
if(input==null) {
return null;
}
diff --git a/core/metamodel/src/main/java/module-info.java
b/core/metamodel/src/main/java/module-info.java
index 6e30f5aa87..2faa38e5e8 100644
--- a/core/metamodel/src/main/java/module-info.java
+++ b/core/metamodel/src/main/java/module-info.java
@@ -309,6 +309,4 @@ open module org.apache.isis.core.metamodel {
// opens org.apache.isis.core.metamodel.services to spring.core;
// opens org.apache.isis.core.metamodel.services.registry to spring.core;
-
-
}
\ No newline at end of file
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
index 2c4c78c173..890a4444c9 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
@@ -18,46 +18,37 @@
*/
package org.apache.isis.core.metamodel.commons;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-public class StringUtils_NormalizedTest {
+class StringUtils_NormalizedTest {
- //@Parameters
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][] { { null, null, }, // null
- { "", "", }, // empty string
- { "yada Foobar", "yada Foobar", }, // alreadyNormalized
- { "Yada\tFoobar", "Yada Foobar", }, // tab
- { "Yada\t Foobar", "Yada Foobar", }, // tab and space
- { "Yada foobar", "Yada foobar", }, // two spaces
- { "Yada\nfoobar", "Yada foobar", }, // new line
- { "Yada\n Foobar", "Yada Foobar", }, // newline and space
- { "Yada\r\n Foobar", "Yada Foobar", }, // windows newline
- { "Yada\r Foobar", "Yada Foobar", }, // macos newline
- { "Yada\r \tFoo \n\tbar Baz", "Yada Foo bar Baz", }, // multiple
- });
- }
-
- private final String input;
- private final String expected;
-
- public StringUtils_NormalizedTest(final String input, final String
expected) {
- this.input = input;
- this.expected = expected;
+ @ParameterizedTest
+ @MethodSource("data")
+ public void normalizesOk(final String input, final String expected) {
+ assertThat(StringExtensions.normalized(input), is(expected));
}
- @Test
- public void normalizesOk() {
- assertThat(StringExtensions.normalized(input), is(expected));
+ private static Stream<Arguments> data() {
+ return Stream.of(
+ Arguments.of(null, null), // null
+ Arguments.of("", ""), // empty string
+ Arguments.of("yada Foobar", "yada Foobar"), // alreadyNormalized
+ Arguments.of("Yada\tFoobar", "Yada Foobar"), // tab
+ Arguments.of("Yada\t Foobar", "Yada Foobar"), // tab and space
+ Arguments.of("Yada foobar", "Yada foobar"), // two spaces
+ Arguments.of("Yada\nfoobar", "Yada foobar"), // new line
+ Arguments.of("Yada\n Foobar", "Yada Foobar"), // newline and space
+ Arguments.of("Yada\r\n Foobar", "Yada Foobar"), // windows newline
+ Arguments.of("Yada\r Foobar", "Yada Foobar"), // macos newline
+ Arguments.of("Yada\r \tFoo \n\tbar Baz", "Yada Foo bar Baz") //
multiple
+ );
}
}
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
index 3cd2d721c0..937e163035 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
@@ -18,15 +18,15 @@
*/
package org.apache.isis.core.metamodel.feature;
-import java.util.Arrays;
-import java.util.Collection;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.Mockito;
import static org.hamcrest.CoreMatchers.is;
@@ -39,82 +39,60 @@ import
org.apache.isis.core.metamodel.facets.WhereValueFacet;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-public class ObjectAssociationPredicatesTest_visibleWhere {
+class ObjectAssociationPredicatesTest_visibleWhere {
private ObjectAssociation mockObjectAssociation;
private HiddenFacet mockHiddenFacet;
- // given
- private Where where;
-
- // when
- private Where whereContext;
-
- // then
- private boolean expectedVisibility;
-
-
- //@Parameters
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {Where.ANYWHERE, Where.ANYWHERE, false},
- {Where.OBJECT_FORMS, Where.OBJECT_FORMS, false},
- {Where.OBJECT_FORMS, Where.ALL_TABLES, true},
- {Where.OBJECT_FORMS, Where.PARENTED_TABLES, true},
- {Where.OBJECT_FORMS, Where.REFERENCES_PARENT, true},
- {Where.OBJECT_FORMS, Where.STANDALONE_TABLES, true},
- {Where.STANDALONE_TABLES, Where.OBJECT_FORMS, true},
- {Where.STANDALONE_TABLES, Where.PARENTED_TABLES, true},
- {Where.STANDALONE_TABLES, Where.REFERENCES_PARENT, true},
- {Where.STANDALONE_TABLES, Where.STANDALONE_TABLES, false},
- {Where.PARENTED_TABLES, Where.OBJECT_FORMS, true},
- {Where.PARENTED_TABLES, Where.PARENTED_TABLES, false},
- {Where.PARENTED_TABLES, Where.REFERENCES_PARENT, true},
- {Where.PARENTED_TABLES, Where.STANDALONE_TABLES, true},
- {Where.ALL_TABLES, Where.OBJECT_FORMS, true},
- {Where.ALL_TABLES, Where.PARENTED_TABLES, false},
- {Where.ALL_TABLES, Where.STANDALONE_TABLES, false},
- {Where.ALL_TABLES, Where.REFERENCES_PARENT, true},
- });
- }
-
- public ObjectAssociationPredicatesTest_visibleWhere(
- final Where where, final Where context, final boolean visible) {
- this.where = where;
- this.whereContext = context;
- this.expectedVisibility = visible;
- }
-
@BeforeEach
public void setUp() throws Exception {
mockHiddenFacet = Mockito.mock(HiddenFacet.class);
mockObjectAssociation = Mockito.mock(ObjectAssociation.class);
- Mockito.when(mockHiddenFacet.where()).thenReturn(where);
-
Mockito.when(mockObjectAssociation.streamFacets()).thenReturn(_Lists.<Facet>of(mockHiddenFacet).stream());
}
- @Test
- public void test() {
- final Predicate<ObjectAssociation> predicate = new
Predicate<ObjectAssociation>() {
- @Override
- public boolean test(final ObjectAssociation association) {
- final List<Facet> facets = association.streamFacets()
- .filter(new Predicate<Facet>() {
- @Override public boolean test(final Facet facet) {
- return facet instanceof WhereValueFacet &&
facet instanceof HiddenFacet;
- }
- })
- .collect(Collectors.toList());
- for (Facet facet : facets) {
- final WhereValueFacet wawF = (WhereValueFacet) facet;
- if (wawF.where().includes(whereContext)) {
- return false;
- }
+ private static Stream<Arguments> data() {
+ return Stream.of(
+ Arguments.of(Where.ANYWHERE, Where.ANYWHERE, false),
+ Arguments.of(Where.OBJECT_FORMS, Where.OBJECT_FORMS, false),
+ Arguments.of(Where.OBJECT_FORMS, Where.ALL_TABLES, true),
+ Arguments.of(Where.OBJECT_FORMS, Where.PARENTED_TABLES, true),
+ Arguments.of(Where.OBJECT_FORMS, Where.REFERENCES_PARENT, true),
+ Arguments.of(Where.OBJECT_FORMS, Where.STANDALONE_TABLES, true),
+ Arguments.of(Where.STANDALONE_TABLES, Where.OBJECT_FORMS, true),
+ Arguments.of(Where.STANDALONE_TABLES, Where.PARENTED_TABLES, true),
+ Arguments.of(Where.STANDALONE_TABLES, Where.REFERENCES_PARENT, true),
+ Arguments.of(Where.STANDALONE_TABLES, Where.STANDALONE_TABLES,
false),
+ Arguments.of(Where.PARENTED_TABLES, Where.OBJECT_FORMS, true),
+ Arguments.of(Where.PARENTED_TABLES, Where.PARENTED_TABLES, false),
+ Arguments.of(Where.PARENTED_TABLES, Where.REFERENCES_PARENT, true),
+ Arguments.of(Where.PARENTED_TABLES, Where.STANDALONE_TABLES, true),
+ Arguments.of(Where.ALL_TABLES, Where.OBJECT_FORMS, true),
+ Arguments.of(Where.ALL_TABLES, Where.PARENTED_TABLES, false),
+ Arguments.of(Where.ALL_TABLES, Where.STANDALONE_TABLES, false),
+ Arguments.of(Where.ALL_TABLES, Where.REFERENCES_PARENT, true)
+ );
+ }
+
+ @ParameterizedTest
+ @MethodSource("data")
+ public void visibleWhere(
+ final Where where, final Where whereContext, final boolean
expectedVisibility) {
+ Mockito.when(mockHiddenFacet.where()).thenReturn(where);
+ Mockito.when(mockObjectAssociation.streamFacets())
+ .thenReturn(_Lists.<Facet>of(mockHiddenFacet).stream());
+
+ final Predicate<ObjectAssociation> predicate = association -> {
+ final List<Facet> facets = association.streamFacets()
+ .filter(facet -> facet instanceof WhereValueFacet
+ && facet instanceof HiddenFacet)
+ .collect(Collectors.toList());
+ for (Facet facet : facets) {
+ final WhereValueFacet wawF = (WhereValueFacet) facet;
+ if (wawF.where().includes(whereContext)) {
+ return false;
}
- return true;
}
+ return true;
};
assertThat(predicate.test(mockObjectAssociation),
is(expectedVisibility));
}
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
index 42d60e0577..77fc8ad115 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
@@ -22,11 +22,7 @@ import java.util.stream.Stream;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
@@ -43,36 +39,37 @@ import
org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-@ExtendWith(MockitoExtension.class)
class ApplicationFeatureRepositoryDefaultTest {
- @Mock ObjectSpecification mockSpec;
- @Mock OneToOneAssociation mockProp;
- @Mock OneToManyAssociation mockColl;
- @Mock ObjectAction mockAct;
-
+ ObjectSpecification mockSpec;
+ OneToOneAssociation mockProp;
+ OneToManyAssociation mockColl;
+ ObjectAction mockAct;
+ FactoryService mockFactoryService;
+ SpecificationLoader mockSpecificationLoader;
ObjectAction mockActThatIsHidden;
-
- @Mock FactoryService mockFactoryService;
- @Mock ServiceRegistry mockServiceRegistry;
- @Mock SpecificationLoader mockSpecificationLoader;
+ ServiceRegistry mockServiceRegistry;
protected ApplicationFeatureRepositoryDefault applicationFeatureRepository;
@BeforeEach
public void setUp() throws Exception {
+ mockSpecificationLoader = Mockito.mock(SpecificationLoader.class);
+
applicationFeatureRepository = new ApplicationFeatureRepositoryDefault(
/*configuration*/ null,
mockSpecificationLoader);
mockActThatIsHidden = Mockito.mock(ObjectAction.class,
"mockActThatIsHidden");
+
+ mockSpec = Mockito.mock(ObjectSpecification.class);
+ mockProp = Mockito.mock(OneToOneAssociation.class);
+ mockColl = Mockito.mock(OneToManyAssociation.class);
+ mockAct = Mockito.mock(ObjectAction.class);
+ mockFactoryService = Mockito.mock(FactoryService.class);
}
- //FIXME[ISIS-3207]
- @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches =
"true")
public static class AddClassParent extends
ApplicationFeatureRepositoryDefaultTest {
private static ApplicationFeature newApplicationFeature(final
ApplicationFeatureId featId) {
@@ -83,6 +80,7 @@ class ApplicationFeatureRepositoryDefaultTest {
@BeforeEach
public void setUp() throws Exception {
super.setUp();
+ mockServiceRegistry = Mockito.mock(ServiceRegistry.class);
Mockito.when(mockServiceRegistry.streamRegisteredBeans()).thenReturn(Stream.of());
Mockito.when(mockSpecificationLoader.snapshotSpecifications()).thenReturn(Can.empty());
}
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
index 7bcc8bd947..d734a5d226 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
@@ -21,11 +21,7 @@ package org.apache.isis.core.metamodel.specloader;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -37,23 +33,26 @@ import
org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.val;
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-@ExtendWith(MockitoExtension.class)
class SpecificationCacheDefaultTest {
private LogicalType cus = _LogicalTypeTestFactory.cus();
private LogicalType ord = _LogicalTypeTestFactory.ord();
- @Mock ObjectSpecification customerSpec;
- @Mock ObjectSpecification orderSpec;
+ ObjectSpecification customerSpec;
+ ObjectSpecification orderSpec;
- private SpecificationCache<ObjectSpecification> specificationCache = new
SpecificationCacheDefault<>();
- private LogicalTypeResolver logicalTypeResolver = new
LogicalTypeResolverDefault();
+ private SpecificationCache<ObjectSpecification> specificationCache =
+ new SpecificationCacheDefault<>();
+ private LogicalTypeResolver logicalTypeResolver =
+ new LogicalTypeResolverDefault();
+ @SuppressWarnings({ "unchecked", "rawtypes" })
@BeforeEach
public void setUp() throws Exception {
+ customerSpec = Mockito.mock(ObjectSpecification.class);
+ orderSpec = Mockito.mock(ObjectSpecification.class);
+
Mockito.when(customerSpec.getCorrespondingClass()).thenReturn((Class)Customer.class);
Mockito.when(customerSpec.getLogicalType()).thenReturn(cus);