You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/09/26 12:40:44 UTC
[isis] branch v2 updated: ISIS-2158: introduces annotations
@Incubating + @Smoketest
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/v2 by this push:
new 7a431c1 ISIS-2158: introduces annotations @Incubating + @Smoketest
7a431c1 is described below
commit 7a431c1865ae5fa2deb6c726b12c16ee3aa0d5a2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 26 14:40:34 2019 +0200
ISIS-2158: introduces annotations @Incubating + @Smoketest
- annotations only visible to tests within the 'smoketests' module
- @Smoketest .. used on every smoketest class (allows meta annotations)
- @Incubating .. disables test-classes with surefire, but not in IDE
fixes the 'smoketests' maven build (when surefire is enabled)
---
.../org/apache/isis/testdomain/Incubating.java | 39 ++++++++++++++++++++++
.../java/org/apache/isis/testdomain/Smoketest.java | 39 ++++++++++++++++++++++
.../testdomain/auditing/AuditerServiceTest.java | 2 ++
.../bootstrapping/JdoBootstrappingTest.java | 2 ++
.../JdoBootstrappingTest_usingFixtures.java | 2 ++
.../SpringServiceProvisioningTest.java | 2 ++
.../commandexecution/BackgroundExecutionTest.java | 2 ++
.../testdomain/commandexecution/WrapperTest.java | 2 ++
.../DomainModelTest_usingBadDomain.java | 12 +++++++
.../DomainModelTest_usingGoodDomain.java | 2 ++
.../isis/testdomain/ldap/LdapEmbeddedServer.java | 4 +--
.../testdomain/ldap/LdapEmbeddedServerTest.java | 3 ++
.../isis/testdomain/ldap/LdapServerService.java | 13 +++++++-
.../publishing/PublisherServiceTest.java | 5 ++-
.../isis/testdomain/shiro/ShiroLdapTest.java | 2 ++
.../isis/testdomain/shiro/ShiroSecmanLdapTest.java | 20 ++++++-----
.../shiro/ShiroSecmanLdap_restfulStressTest.java | 35 +++++++++++++------
.../isis/testdomain/shiro/ShiroSecmanTest.java | 3 ++
.../isis/testdomain/shiro/ShiroSimpleTest.java | 3 ++
.../testdomain/timestamping/TimestampingTest.java | 2 ++
.../transactions/TransactionRollbackTest.java | 2 ++
.../TransactionRollbackTest_withTransactional.java | 22 ++++++------
22 files changed, 183 insertions(+), 35 deletions(-)
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/Incubating.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/Incubating.java
new file mode 100644
index 0000000..4b6fec7
--- /dev/null
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/Incubating.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.testdomain;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
+
+/**
+ * To be used on test classes, that are not considered to produce stable results (incubating).
+ * @deprecated not deprecated, but a trick to signal test classes that need attention
+ */
+@Target({ ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@DisabledIfSystemProperty(named = "surefire.real.class.path", matches = ".*surefire.*")
+@Documented
+public @interface Incubating {
+
+}
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/Smoketest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/Smoketest.java
new file mode 100644
index 0000000..66a969b
--- /dev/null
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/Smoketest.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.testdomain;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
+
+/**
+ * To be used on test classes, that are not considered to produce stable results (incubating).
+ */
+@Target({ ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@DirtiesContext(classMode = ClassMode.BEFORE_CLASS)
+@Documented
+public @interface Smoketest {
+
+}
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java
index af1cdad..a478f24 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java
@@ -36,6 +36,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
import org.apache.isis.runtime.system.context.IsisContext;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.Book;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -45,6 +46,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import lombok.val;
import lombok.extern.log4j.Log4j2;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest.java
index 40076c0..2b241e7 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest.java
@@ -39,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.config.IsisPresets;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.Book;
import org.apache.isis.testdomain.jdo.Inventory;
@@ -46,6 +47,7 @@ import org.apache.isis.testdomain.jdo.Product;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest_usingFixtures.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest_usingFixtures.java
index 6cd2507..bbb5451 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest_usingFixtures.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/JdoBootstrappingTest_usingFixtures.java
@@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.Inventory;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -37,6 +38,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/SpringServiceProvisioningTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/SpringServiceProvisioningTest.java
index 534a25f..49c1019 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/SpringServiceProvisioningTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/SpringServiceProvisioningTest.java
@@ -36,10 +36,12 @@ import org.apache.isis.commons.internal.ioc.BeanAdapter;
import org.apache.isis.commons.internal.resources._Json;
import org.apache.isis.commons.internal.resources._Resources;
import org.apache.isis.runtime.system.context.IsisContext;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/BackgroundExecutionTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/BackgroundExecutionTest.java
index f05d946..5df3860 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/BackgroundExecutionTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/BackgroundExecutionTest.java
@@ -37,6 +37,7 @@ import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.InventoryManager;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -48,6 +49,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import lombok.Getter;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/WrapperTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/WrapperTest.java
index 6b148d1..4fcac16 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/WrapperTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/commandexecution/WrapperTest.java
@@ -37,6 +37,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.applib.services.wrapper.WrapperFactory.ExecutionMode;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.InventoryManager;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -48,6 +49,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import lombok.Getter;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingBadDomain.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
index b302e63..7ad62c8 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
@@ -20,11 +20,16 @@ package org.apache.isis.testdomain.domainmodel;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
import org.springframework.test.context.TestPropertySource;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
import org.apache.isis.metamodel.spec.DomainModelException;
+import org.apache.isis.metamodel.specloader.IntrospectionMode;
+import org.apache.isis.testdomain.Incubating;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_headless;
import org.apache.isis.testdomain.model.bad.AmbiguousTitle;
import org.apache.isis.testdomain.model.bad.Configuration_usingInvalidDomain;
@@ -37,6 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_headless.class,
@@ -50,9 +56,15 @@ import lombok.val;
IsisPresets.DebugProgrammingModel,
})
+@Incubating
class DomainModelTest_usingBadDomain {
@Test
+ void fullIntrospection_shouldBeEnabledByThisTestClass() {
+ assertTrue(IntrospectionMode.isFullIntrospect());
+ }
+
+ @Test
void ambiguousTitle_shouldFail() {
val validateDomainModel = new ValidateDomainModel();
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
index 0278d03..7370815 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
@@ -24,11 +24,13 @@ import org.springframework.test.context.TestPropertySource;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_headless;
import org.apache.isis.testdomain.model.good.Configuration_usingValidDomain;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_headless.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServer.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServer.java
index ac0e5e0..0045508 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServer.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServer.java
@@ -51,8 +51,8 @@ public class LdapEmbeddedServer extends AbstractLdapTestUnit {
}
/**
- * Launches an LDAP server, that waits for the returned latch to count down by the caller,
- * before it shuts down.
+ * Launches an LDAP server. Blocks until its fully launched. Then waits for the returned latch to be
+ * count down (by the caller), before it shuts the LDAP Server down.
* @return a {@link CountDownLatch} for the caller to count down, once the server is no longer needed.
* @throws InitializationError
* @throws InterruptedException
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java
index 95de528..7c5ea12 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java
@@ -32,8 +32,11 @@ import org.junit.jupiter.api.Test;
import org.junit.runners.model.InitializationError;
import org.springframework.boot.test.context.SpringBootTest;
+import org.apache.isis.testdomain.Smoketest;
+
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {LdapServerService.class},
properties = {
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapServerService.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapServerService.java
index 8877f2f..d50f76a 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapServerService.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapServerService.java
@@ -32,15 +32,26 @@ import lombok.extern.log4j.Log4j2;
public class LdapServerService {
private CountDownLatch serverLatch;
-
+ private CountDownLatch startInProgress;
+
@PostConstruct
public void start() throws InitializationError, InterruptedException {
+ startInProgress = new CountDownLatch(1);
serverLatch = LdapEmbeddedServer.run();
+ startInProgress.countDown();
log.info("Embedded LDAP Server started at port {}.", LdapConstants.PORT);
}
@PreDestroy
public void stop() {
+ if(startInProgress!=null) {
+ try {
+ startInProgress.await();
+ } catch (InterruptedException e) {
+ // can't do anything about that
+ }
+ }
+
if(serverLatch!=null) {
serverLatch.countDown();
serverLatch = null;
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java
index ebe7048..6f13596 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java
@@ -35,6 +35,7 @@ import org.apache.isis.applib.services.publish.PublisherService;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
import org.apache.isis.runtime.system.context.IsisContext;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.Book;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -43,9 +44,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import lombok.val;
-/**
- * Depends on {@link DomainModelTest_usingGoodDomain} to succeed.
- */
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroLdapTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroLdapTest.java
index 6e9c66d..dcc0448 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroLdapTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroLdapTest.java
@@ -36,6 +36,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.apache.isis.config.IsisPresets;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
import org.apache.isis.testdomain.ldap.LdapConstants;
import org.apache.isis.testdomain.ldap.LdapServerService;
@@ -43,6 +44,7 @@ import org.apache.isis.testdomain.ldap.LdapServerService;
import lombok.val;
import lombok.extern.log4j.Log4j2;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdoAndShiro.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java
index da7535a..53ad876 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java
@@ -18,15 +18,8 @@
*/
package org.apache.isis.testdomain.shiro;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
import javax.inject.Inject;
-import org.apache.isis.extensions.fixtures.api.PersonaWithBuilderScript;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.CredentialsException;
@@ -48,13 +41,23 @@ import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisBootSecmanEncryp
import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
+import org.apache.isis.security.shiro.WebModuleShiro;
+import org.apache.isis.testdomain.Incubating;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
import org.apache.isis.testdomain.ldap.LdapConstants;
import org.apache.isis.testdomain.ldap.LdapServerService;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
import lombok.val;
+@Smoketest @Incubating
@SpringBootTest(
classes = {
Configuration_usingJdoAndShiro.class,
@@ -90,6 +93,7 @@ class ShiroSecmanLdapTest extends AbstractShiroTest {
// This typically only needs to be done once per class if your shiro.ini doesn't change,
// otherwise, you'll need to do this logic in each test that is different
setSecurityManager("classpath:shiro-secman-ldap.ini");
+ WebModuleShiro.setShiroIniResource("classpath:shiro-secman-ldap.ini");
}
@AfterAll
@@ -100,7 +104,7 @@ class ShiroSecmanLdapTest extends AbstractShiroTest {
@BeforeEach
void setupSvenInDb() {
// given
- fixtureScripts.runPersona((PersonaWithBuilderScript)JdoTestDomainPersona.SvenApplicationUser);
+ fixtureScripts.runPersona(JdoTestDomainPersona.SvenApplicationUser);
}
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
index 8c926d9..2604b9f 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
@@ -18,15 +18,8 @@
*/
package org.apache.isis.testdomain.shiro;
-import static java.time.Duration.ofMillis;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTimeout;
-import static org.junit.jupiter.api.Assertions.fail;
-
import javax.inject.Inject;
-import org.apache.isis.extensions.fixtures.api.PersonaWithBuilderScript;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@@ -44,14 +37,23 @@ import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
import org.apache.isis.security.shiro.WebModuleShiro;
+import org.apache.isis.testdomain.Incubating;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
import org.apache.isis.testdomain.ldap.LdapServerService;
import org.apache.isis.testdomain.rest.RestService;
import org.apache.isis.viewer.restfulobjects.IsisBootWebRestfulObjects;
+import static java.time.Duration.ofMillis;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTimeout;
+import static org.junit.jupiter.api.Assertions.fail;
+
import lombok.val;
+@Smoketest @Incubating
@SpringBootTest(
classes = {
Configuration_usingJdoAndShiro.class
@@ -90,8 +92,11 @@ class ShiroSecmanLdap_restfulStressTest extends AbstractShiroTest {
@BeforeAll
static void beforeClass() {
- //WebModuleShiro.setShiroIniResource("classpath:shiro-secman-ldap-cached.ini");
- WebModuleShiro.setShiroIniResource("classpath:shiro-secman-ldap.ini");
+ // Build and set the SecurityManager used to build Subject instances used in your tests
+ // This typically only needs to be done once per class if your shiro.ini doesn't change,
+ // otherwise, you'll need to do this logic in each test that is different
+ setSecurityManager("classpath:shiro-secman-ldap.ini");
+ //setSecurityManager("classpath:shiro-secman-ldap-cached.ini");
}
@AfterAll
@@ -102,10 +107,18 @@ class ShiroSecmanLdap_restfulStressTest extends AbstractShiroTest {
@BeforeEach
void setupSvenInDb() {
// given
- fixtureScripts.runPersona((PersonaWithBuilderScript)JdoTestDomainPersona.SvenApplicationUser);
+ fixtureScripts.runPersona(JdoTestDomainPersona.SvenApplicationUser);
+
+ WebModuleShiro.setShiroIniResource("classpath:shiro-secman-ldap.ini");
}
+
+// @AfterEach
+// void afterEach() {
+// tearDownShiro();
+// }
+
- @Test
+ @Test
void stressTheRestEndpoint() {
val useRequestDebugLogging = false;
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java
index e58cabd..b08bc96 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java
@@ -40,10 +40,13 @@ import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisBootSecmanEncryp
import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
+import org.apache.isis.testdomain.Incubating;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
import lombok.val;
+@Smoketest @Incubating
@SpringBootTest(
classes = {
Configuration_usingJdoAndShiro.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSimpleTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSimpleTest.java
index baaf21f..d9748a7 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSimpleTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSimpleTest.java
@@ -32,8 +32,11 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.apache.isis.testdomain.Smoketest;
+
import lombok.val;
+@Smoketest
class ShiroSimpleTest extends AbstractShiroTest {
@BeforeAll
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/timestamping/TimestampingTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/timestamping/TimestampingTest.java
index 9cf9f45..bb7adfb 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/timestamping/TimestampingTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/timestamping/TimestampingTest.java
@@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
import org.apache.isis.testdomain.jdo.Product;
@@ -36,6 +37,7 @@ import static org.junit.Assert.assertNotNull;
import lombok.val;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest.java
index 0f59654..6d06abb 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest.java
@@ -29,6 +29,7 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.Book;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -36,6 +37,7 @@ import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest_withTransactional.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest_withTransactional.java
index c3173ce..2145dd5 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest_withTransactional.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/transactions/TransactionRollbackTest_withTransactional.java
@@ -25,12 +25,13 @@ import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.Commit;
import org.springframework.transaction.annotation.Transactional;
import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.testdomain.Smoketest;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.jdo.Book;
import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
@@ -42,6 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
* <p>
* We test whether JUnit Tests are automatically rolled back by Spring.
*/
+@Smoketest
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
@@ -54,15 +56,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class TransactionRollbackTest_withTransactional {
- @Inject FixtureScripts fixtureScripts;
- @Inject TransactionService transactionService;
- @Inject RepositoryService repository;
+ @Inject private FixtureScripts fixtureScripts;
+ @Inject private RepositoryService repository;
- @Test @Order(1)
- void happyCaseTx_shouldCommit() {
-
+ @Test @Order(1) @Commit
+ void cleanup_justInCase() {
// cleanup just in case
fixtureScripts.runPersona(JdoTestDomainPersona.PurgeAll);
+ }
+
+ @Test @Order(2)
+ void happyCaseTx_shouldCommit() {
// expected pre condition
assertEquals(0, repository.allInstances(Book.class).size());
@@ -74,11 +78,9 @@ class TransactionRollbackTest_withTransactional {
}
- @Test @Order(2)
+ @Test @Order(3)
void previousTest_shouldHaveBeenRolledBack() {
-
-
// expected condition
assertEquals(0, repository.allInstances(Book.class).size());
}