You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/05/18 18:51:50 UTC
[1/2] git commit: ISIS-783: further improvements to IntegrationTest
framework
Repository: isis
Updated Branches:
refs/heads/master 5c27c8bfb -> 27144fc30
ISIS-783: further improvements to IntegrationTest framework
1. automatic injection of services into tests (allowing @Inject on fields of services)
2. after fixtures installed, commit tran and start a new session. This ensures that any objects are loaded from objectstore / DB.
In addition, updates to quickstart (todo) app:
3. using @Inject for services
4. now using ClockService in integ tests
5. split out the setup of fixtures vs other setup tasks.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d27a47d5
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d27a47d5
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d27a47d5
Branch: refs/heads/master
Commit: d27a47d5e662700ac4723552b7caf065f8972328
Parents: 5c27c8b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun May 18 14:27:06 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun May 18 14:28:50 2014 +0100
----------------------------------------------------------------------
.../IntegrationTestAbstract.java | 2 +-
.../integtestsupport/IsisSystemForTest.java | 16 +++-
.../fixture/todo/simple/ToDoItemsCreate.java | 34 ++++----
.../src/main/java/fixture/todo/simple/Util.java | 10 ---
.../java/integration/ToDoSystemInitializer.java | 4 +-
.../java/integration/tests/ToDoIntegTest.java | 6 +-
...oDoItemContributionsTest_updateCategory.java | 49 ++++++-----
.../tests/actions/ToDoItemTest_completed.java | 32 ++++----
.../tests/actions/ToDoItemTest_duplicate.java | 31 ++++---
.../actions/ToDoItemTest_notYetCompleted.java | 27 +++---
.../ToDoItemContributionsTest_similarTo.java | 38 +++++----
.../colls/ToDoItemTest_dependencies_add.java | 37 ++++-----
.../colls/ToDoItemTest_dependencies_remove.java | 32 ++++----
.../ToDoItemTest_dependencies_addedEvent.java | 86 --------------------
.../ToDoItemContributionsTest_priority.java | 26 +++---
.../tests/props/ToDoItemTest_attachment.java | 29 +++----
.../tests/props/ToDoItemTest_category.java | 24 ++++--
.../tests/props/ToDoItemTest_cost.java | 27 +++---
.../tests/props/ToDoItemTest_description.java | 32 ++++----
.../tests/props/ToDoItemTest_dueBy.java | 33 +++++---
.../tests/props/ToDoItemTest_notes.java | 25 +++---
.../tests/props/ToDoItemTest_ownedBy.java | 22 ++---
.../tests/props/ToDoItemTest_subcategory.java | 22 +++--
.../tests/repo/ToDoItemsTest_finders.java | 26 +++---
.../repo/ToDoItemsTest_newToDo_and_delete.java | 21 +++--
.../tests/smoke/ToDoItemTest_title.java | 28 ++++---
.../integration/tests/SimpleAppIntegTest.java | 1 -
.../SimpleObjectsTest_listAll_and_create.java | 32 +++-----
28 files changed, 370 insertions(+), 382 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
index e438849..df15345 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
@@ -23,7 +23,6 @@ import org.junit.rules.ExpectedException;
import org.junit.rules.MethodRule;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.Statement;
-
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.core.specsupport.scenarios.ScenarioExecution;
@@ -158,6 +157,7 @@ public abstract class IntegrationTestAbstract {
return new Statement() {
@Override
public void evaluate() throws Throwable {
+ isft.getContainer().injectServicesInto(target);
isft.beginTran();
try {
base.evaluate();
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
index 4a8a2dd..fb52ea6 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
@@ -564,7 +564,7 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
////////////////////////////////////////////////////////////
@Override
- public Statement apply(final Statement base, Description description) {
+ public Statement apply(final Statement base, final Description description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
@@ -691,6 +691,20 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
fid.addFixture(fixture);
}
fid.installFixtures();
+
+ // ensure that tests are performed in separate xactn to any fixture setup.
+ final IsisTransactionManager transactionManager = getTransactionManager();
+ final IsisTransaction transaction = transactionManager.getTransaction();
+ final State transactionState = transaction.getState();
+ if(transactionState.canCommit()) {
+ commitTran();
+ try {
+ bounceSystem();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ beginTran();
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/ToDoItemsCreate.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/ToDoItemsCreate.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/ToDoItemsCreate.java
index e6461a8..09a613b 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/ToDoItemsCreate.java
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/ToDoItemsCreate.java
@@ -18,18 +18,15 @@
*/
package fixture.todo.simple;
-import java.math.BigDecimal;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItem.Category;
import dom.todo.ToDoItem.Subcategory;
import dom.todo.ToDoItems;
+import java.math.BigDecimal;
import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.fixturescripts.FixtureResultList;
import org.apache.isis.applib.fixturescripts.SimpleFixtureScript;
-import org.apache.isis.applib.fixturescripts.FixtureScript.ExecutionContext;
+import org.apache.isis.applib.services.clock.ClockService;
public class ToDoItemsCreate extends SimpleFixtureScript {
@@ -60,19 +57,19 @@ public class ToDoItemsCreate extends SimpleFixtureScript {
private void installFor(final String user, final ExecutionContext executionContext) {
- createToDoItemForUser("Buy milk", Category.Domestic, Subcategory.Shopping, user, Util.daysFromToday(0), new BigDecimal("0.75"), executionContext);
- createToDoItemForUser("Buy bread", Category.Domestic, Subcategory.Shopping, user, Util.daysFromToday(0), new BigDecimal("1.75"), executionContext);
- createToDoItemForUser("Buy stamps", Category.Domestic, Subcategory.Shopping, user, Util.daysFromToday(0), new BigDecimal("10.00"), executionContext);
- createToDoItemForUser("Pick up laundry", Category.Domestic, Subcategory.Chores, user, Util.daysFromToday(6), new BigDecimal("7.50"), executionContext);
- createToDoItemForUser("Mow lawn", Category.Domestic, Subcategory.Garden, user, Util.daysFromToday(6), null, executionContext);
- createToDoItemForUser("Vacuum house", Category.Domestic, Subcategory.Housework, user, Util.daysFromToday(3), null, executionContext);
- createToDoItemForUser("Sharpen knives", Category.Domestic, Subcategory.Chores, user, Util.daysFromToday(14), null, executionContext);
+ createToDoItemForUser("Buy milk", Category.Domestic, Subcategory.Shopping, user, nowPlusDays(0), new BigDecimal("0.75"), executionContext);
+ createToDoItemForUser("Buy bread", Category.Domestic, Subcategory.Shopping, user, nowPlusDays(0), new BigDecimal("1.75"), executionContext);
+ createToDoItemForUser("Buy stamps", Category.Domestic, Subcategory.Shopping, user, nowPlusDays(0), new BigDecimal("10.00"), executionContext);
+ createToDoItemForUser("Pick up laundry", Category.Domestic, Subcategory.Chores, user, nowPlusDays(6), new BigDecimal("7.50"), executionContext);
+ createToDoItemForUser("Mow lawn", Category.Domestic, Subcategory.Garden, user, nowPlusDays(6), null, executionContext);
+ createToDoItemForUser("Vacuum house", Category.Domestic, Subcategory.Housework, user, nowPlusDays(3), null, executionContext);
+ createToDoItemForUser("Sharpen knives", Category.Domestic, Subcategory.Chores, user, nowPlusDays(14), null, executionContext);
createToDoItemForUser("Write to penpal", Category.Other, Subcategory.Other, user, null, null, executionContext);
- createToDoItemForUser("Write blog post", Category.Professional, Subcategory.Marketing, user, Util.daysFromToday(7), null, executionContext);
- createToDoItemForUser("Organize brown bag", Category.Professional, Subcategory.Consulting, user, Util.daysFromToday(14), null, executionContext);
- createToDoItemForUser("Submit conference session", Category.Professional, Subcategory.Education, user, Util.daysFromToday(21), null, executionContext);
+ createToDoItemForUser("Write blog post", Category.Professional, Subcategory.Marketing, user, nowPlusDays(7), null, executionContext);
+ createToDoItemForUser("Organize brown bag", Category.Professional, Subcategory.Consulting, user, nowPlusDays(14), null, executionContext);
+ createToDoItemForUser("Submit conference session", Category.Professional, Subcategory.Education, user, nowPlusDays(21), null, executionContext);
createToDoItemForUser("Stage Isis release", Category.Professional, Subcategory.OpenSource, user, null, null, executionContext);
getContainer().flush();
@@ -88,11 +85,18 @@ public class ToDoItemsCreate extends SimpleFixtureScript {
ToDoItem newToDo = toDoItems.newToDo(description, category, subcategory, user, dueBy, cost);
return executionContext.add(this, newToDo);
}
+
+ private LocalDate nowPlusDays(int days) {
+ return clockService.now().plusDays(days);
+ }
//endregion
//region > injected services
@javax.inject.Inject
private ToDoItems toDoItems;
+
+ @javax.inject.Inject
+ private ClockService clockService;
//endregion
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/Util.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/Util.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/Util.java
index 1416f09..1c41dad 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/Util.java
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/simple/Util.java
@@ -18,11 +18,6 @@
*/
package fixture.todo.simple;
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.clock.Clock;
-
-
public final class Util {
private Util(){}
@@ -38,9 +33,4 @@ public final class Util {
return null;
}
- static LocalDate daysFromToday(final int i) {
- final LocalDate date = new LocalDate(Clock.getTimeAsDateTime());
- return date.plusDays(i);
- }
-
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
index d936646..92dcef4 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
@@ -24,6 +24,7 @@ import fixture.todo.ToDoItemsFixturesService;
import org.apache.isis.applib.annotation.Bulk;
import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections;
+import org.apache.isis.applib.services.clock.ClockService;
import org.apache.isis.applib.services.queryresultscache.QueryResultsCache;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.integtestsupport.IsisSystemForTest;
@@ -73,7 +74,8 @@ public class ToDoSystemInitializer {
new EventBusServiceJdo(),
new QueryResultsCache(),
new MementoServiceDefault(),
- new BookmarkServiceDefault()
+ new BookmarkServiceDefault(),
+ new ClockService()
);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/ToDoIntegTest.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/ToDoIntegTest.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/ToDoIntegTest.java
index cc7f5d8..49dcf26 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/ToDoIntegTest.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/ToDoIntegTest.java
@@ -21,19 +21,15 @@ package integration.tests;
import integration.ToDoSystemInitializer;
import org.junit.BeforeClass;
-
import org.apache.isis.core.integtestsupport.IntegrationTestAbstract;
-import org.apache.isis.core.integtestsupport.IsisSystemForTest;
import org.apache.isis.core.integtestsupport.scenarios.ScenarioExecutionForIntegration;
public abstract class ToDoIntegTest extends IntegrationTestAbstract {
- private static IsisSystemForTest isft;
-
@BeforeClass
public static void initClass() {
org.apache.log4j.PropertyConfigurator.configure("logging.properties");
- isft = ToDoSystemInitializer.initIsft();
+ ToDoSystemInitializer.initIsft();
// instantiating will install onto ThreadLocal
new ScenarioExecutionForIntegration();
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
index 1fa945a..e959928 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemContributionsTest_updateCategory.java
@@ -18,53 +18,60 @@
*/
package integration.tests.actions;
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
-import dom.todo.ToDoItemContributions;
-import dom.todo.ToDoItems;
import dom.todo.ToDoItem.Category;
import dom.todo.ToDoItem.Subcategory;
+import dom.todo.ToDoItemContributions;
+import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
-import org.joda.time.LocalDate;
-import org.junit.After;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
-import org.apache.isis.applib.clock.Clock;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
public class ToDoItemContributionsTest_updateCategory extends ToDoIntegTest {
- private ToDoItem toDoItem;
- private ToDoItemContributions toDoItemContributions;
+
@Before
- public void setUp() throws Exception {
+ public void setUpData() throws Exception {
scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
+ private ToDoItemContributions toDoItemContributions;
+
+ private ToDoItemContributions toDoItemContributionsWrapper;
+ private ToDoItem toDoItem;
- final ToDoItems toDoItems = wrap(service(ToDoItems.class));
- toDoItemContributions = wrap(service(ToDoItemContributions.class));
+ @Before
+ public void setUp() throws Exception {
final List<ToDoItem> all = toDoItems.notYetComplete();
toDoItem = wrap(all.get(0));
+
+ toDoItemContributionsWrapper = wrap(toDoItemContributions);
}
@Test
public void happyCase() throws Exception {
// when
- toDoItemContributions.updateCategory(toDoItem, Category.Professional, Subcategory.Consulting);
+ toDoItemContributionsWrapper.updateCategory(toDoItem, Category.Professional, Subcategory.Consulting);
// then
assertThat(toDoItem.getCategory(), is(Category.Professional));
assertThat(toDoItem.getSubcategory(), is(Subcategory.Consulting));
// when
- toDoItemContributions.updateCategory(toDoItem, Category.Domestic, Subcategory.Chores);
+ toDoItemContributionsWrapper.updateCategory(toDoItem, Category.Domestic, Subcategory.Chores);
// then
assertThat(toDoItem.getCategory(), is(Category.Domestic));
@@ -77,14 +84,14 @@ public class ToDoItemContributionsTest_updateCategory extends ToDoIntegTest {
// when, then
expectedExceptions.expectMessage("'Category' is mandatory");
- toDoItemContributions.updateCategory(toDoItem, null, Subcategory.Chores);
+ toDoItemContributionsWrapper.updateCategory(toDoItem, null, Subcategory.Chores);
}
@Test
public void subcategoryCanBeNull() throws Exception {
// when, then
- toDoItemContributions.updateCategory(toDoItem, Category.Professional, null);
+ toDoItemContributionsWrapper.updateCategory(toDoItem, Category.Professional, null);
}
@Test
@@ -92,7 +99,7 @@ public class ToDoItemContributionsTest_updateCategory extends ToDoIntegTest {
// when, then
expectedExceptions.expectMessage(containsString("Invalid subcategory"));
- toDoItemContributions.updateCategory(toDoItem, Category.Professional, Subcategory.Chores);
+ toDoItemContributionsWrapper.updateCategory(toDoItem, Category.Professional, Subcategory.Chores);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
index 112563f..b96ecfb 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_completed.java
@@ -18,35 +18,40 @@
*/
package integration.tests.actions;
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.EventObject;
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemSubscriptions;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.EventObject;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_completed extends ToDoIntegTest {
- private ToDoItem toDoItem;
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
private ToDoItemSubscriptions toDoItemSubscriptions;
+ private ToDoItem toDoItem;
+
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = toDoItems.notYetComplete();
toDoItem = wrap(all.get(0));
-
- toDoItemSubscriptions = service(ToDoItemSubscriptions.class);
}
@After
@@ -54,7 +59,6 @@ public class ToDoItemTest_completed extends ToDoIntegTest {
toDoItemSubscriptions.reset();
}
-
@Test
public void happyCase() throws Exception {
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
index c8eb383..4f5f6e6 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_duplicate.java
@@ -18,33 +18,40 @@
*/
package integration.tests.actions;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.math.BigDecimal;
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.math.BigDecimal;
+import java.util.List;
+import javax.inject.Inject;
import org.joda.time.LocalDate;
import org.junit.Before;
import org.junit.Test;
+import org.apache.isis.applib.services.clock.ClockService;
-import org.apache.isis.applib.clock.Clock;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
public class ToDoItemTest_duplicate extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
+ private ClockService clockService;
+
private ToDoItem toDoItem;
private ToDoItem duplicateToDoItem;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
@@ -52,7 +59,7 @@ public class ToDoItemTest_duplicate extends ToDoIntegTest {
public void happyCase() throws Exception {
// given
- final LocalDate todaysDate = Clock.getTimeAsLocalDate();
+ final LocalDate todaysDate = clockService.now();
toDoItem.setDueBy(todaysDate);
toDoItem.updateCost(new BigDecimal("123.45"));
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
index 2c57217..c3e20e3 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/actions/ToDoItemTest_notYetCompleted.java
@@ -18,33 +18,37 @@
*/
package integration.tests.actions;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
-import org.junit.After;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_notYetCompleted extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
-
@Test
public void happyCase() throws Exception {
@@ -58,7 +62,6 @@ public class ToDoItemTest_notYetCompleted extends ToDoIntegTest {
assertThat(toDoItem.isComplete(), is(false));
}
-
@Test
public void cannotUndoIfNotYetCompleted() throws Exception {
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
index 8124a2e..cc47ded 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemContributionsTest_similarTo.java
@@ -18,46 +18,48 @@
*/
package integration.tests.colls;
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemContributions;
import dom.todo.ToDoItems;
-import dom.todo.ToDoItem.Category;
-import dom.todo.ToDoItem.Subcategory;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
-import org.joda.time.LocalDate;
-import org.junit.After;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
-import org.apache.isis.applib.clock.Clock;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
public class ToDoItemContributionsTest_similarTo extends ToDoIntegTest {
- private ToDoItem toDoItem;
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
private ToDoItemContributions toDoItemContributions;
+ private ToDoItemContributions toDoItemContributionsWrapped;
+ private ToDoItem toDoItem;
+
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final ToDoItems toDoItems = wrap(service(ToDoItems.class));
- toDoItemContributions = wrap(service(ToDoItemContributions.class));
- final List<ToDoItem> all = toDoItems.notYetComplete();
+ final List<ToDoItem> all = this.toDoItems.notYetComplete();
toDoItem = wrap(all.get(0));
+
+ toDoItemContributionsWrapped = wrap(toDoItemContributions);
}
@Test
public void happyCase() throws Exception {
// when
- List<ToDoItem> similarItems = toDoItemContributions.similarTo(toDoItem);
+ List<ToDoItem> similarItems = toDoItemContributionsWrapped.similarTo(toDoItem);
// then
assertThat(similarItems.size(), is(6));
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
index d303535..03f32f7 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
@@ -18,44 +18,43 @@
*/
package integration.tests.colls;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemSubscriptions;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
public class ToDoItemTest_dependencies_add extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
+ private ToDoItemSubscriptions toDoItemSubscriptions;
+
private ToDoItem toDoItem;
private ToDoItem otherToDoItem;
-
- private ToDoItemSubscriptions toDoItemSubscriptions;
-
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> items = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> items = wrap(toDoItems).notYetComplete();
toDoItem = wrap(items.get(0));
otherToDoItem = wrap(items.get(1));
-
- toDoItemSubscriptions = service(ToDoItemSubscriptions.class);
}
@After
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
index 7f4713a..d8986a7 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
@@ -18,46 +18,48 @@
*/
package integration.tests.colls;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemSubscriptions;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_dependencies_remove extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
+ private ToDoItemSubscriptions toDoItemSubscriptions;
+
private ToDoItem toDoItem;
private ToDoItem otherToDoItem;
private ToDoItem yetAnotherToDoItem;
- private ToDoItemSubscriptions toDoItemSubscriptions;
@Before
public void setUp() throws Exception {
- // given
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- final List<ToDoItem> items = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> items = wrap(toDoItems).notYetComplete();
toDoItem = wrap(items.get(0));
otherToDoItem = wrap(items.get(1));
yetAnotherToDoItem = wrap(items.get(2));
toDoItem.add(otherToDoItem);
- toDoItemSubscriptions = service(ToDoItemSubscriptions.class);
}
@After
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/events/ToDoItemTest_dependencies_addedEvent.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/events/ToDoItemTest_dependencies_addedEvent.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/events/ToDoItemTest_dependencies_addedEvent.java
deleted file mode 100644
index 5823076..0000000
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/events/ToDoItemTest_dependencies_addedEvent.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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 integration.tests.events;
-
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
-import org.apache.isis.applib.services.eventbus.EventBusService;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.eventbus.Subscribe;
-
-public class ToDoItemTest_dependencies_addedEvent extends ToDoIntegTest {
-
- private ToDoItem toDoItem;
- private ToDoItem otherToDoItem;
- private EventBusService eventBusService;
-
-
- public class TestSubscription {
-
- @Programmatic
- @Subscribe
- public Boolean on(CollectionAddedToEvent<?,?> ev) {
- return true;
- }
-
- }
-
-
- @Before
- public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> items = wrap(service(ToDoItems.class)).notYetComplete();
- toDoItem = wrap(items.get(0));
- otherToDoItem = items.get(1); // wrapping this seems to trip up cglib :-(
- eventBusService = this.service(EventBusService.class);
-
- // Register new Service.
-
- }
-
- @After
- public void tearDown() throws Exception {
- unwrap(toDoItem).getDependencies().clear();
- }
-
- @Test
- public void collectionAddedToEventReceived() throws Exception {
-
- // given
-
- // when
- toDoItem.add(otherToDoItem);
-
- // then
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
index 4b5e19d..457e128 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
@@ -18,33 +18,37 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemContributions;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemContributionsTest_priority extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
private ToDoItemContributions toDoItemContributions;
private List<ToDoItem> notYetComplete;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final ToDoItems toDoItems = wrap(service(ToDoItems.class));
- toDoItemContributions = service(ToDoItemContributions.class);
- notYetComplete = toDoItems.notYetComplete();
+ notYetComplete = wrap(toDoItems).notYetComplete();
}
@Test
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
index d419ef1..6eac7c6 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
@@ -18,36 +18,37 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+import fixture.todo.integtests.ToDoItemsIntegTestFixture;
import integration.tests.ToDoIntegTest;
import java.nio.charset.Charset;
import java.util.List;
-
import javax.activation.MimeType;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-
-import org.junit.After;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
-
import org.apache.isis.applib.value.Blob;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_attachment extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
private ToDoItem toDoItem;
@Before
public void setUp() throws Exception {
-
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
index 88f3521..777a888 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
@@ -18,28 +18,34 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.containsString;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.containsString;
+
public class ToDoItemTest_category extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
index 172c4da..5fd0358 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
@@ -18,31 +18,36 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.math.BigDecimal;
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.math.BigDecimal;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_cost extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
private BigDecimal cost;
@Before
public void setUp() throws Exception {
- // given
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
cost = toDoItem.getCost();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
index 4e1c1fa..84f0f41 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
@@ -18,38 +18,40 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemSubscriptions;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
import org.apache.isis.applib.services.eventbus.PropertyChangedEvent;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_description extends ToDoIntegTest {
- private ToDoItem toDoItem;
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+ @Inject
private ToDoItemSubscriptions toDoItemSubscriptions;
+ private ToDoItem toDoItem;
+
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
- toDoItemSubscriptions = service(ToDoItemSubscriptions.class);
}
@After
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
index b658fc1..30c9bee 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
@@ -18,32 +18,39 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.joda.time.LocalDate;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
import org.apache.isis.applib.clock.Clock;
+import org.apache.isis.applib.services.clock.ClockService;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
public class ToDoItemTest_dueBy extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ClockService clockService;
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
@@ -51,7 +58,7 @@ public class ToDoItemTest_dueBy extends ToDoIntegTest {
public void happyCase() throws Exception {
// when
- final LocalDate fiveDaysFromNow = Clock.getTimeAsLocalDate().plusDays(5);
+ final LocalDate fiveDaysFromNow = clockService.now().plusDays(5);
toDoItem.setDueBy(fiveDaysFromNow);
// then
@@ -72,7 +79,7 @@ public class ToDoItemTest_dueBy extends ToDoIntegTest {
@Test
public void canBeUpToSixDaysInPast() throws Exception {
- final LocalDate nowAsLocalDate = Clock.getTimeAsLocalDate();
+ final LocalDate nowAsLocalDate = clockService.now();
final LocalDate sixDaysAgo = nowAsLocalDate.plusDays(-5);
// when
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
index 3b05564..bc282a1 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
@@ -18,37 +18,34 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItemSubscriptions;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
import org.apache.isis.applib.services.eventbus.PropertyChangedEvent;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_notes extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
private ToDoItem toDoItem;
private ToDoItemSubscriptions toDoItemSubscriptions;
@Before
public void setUp() throws Exception {
- // given
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
toDoItem = wrap(all.get(0));
toDoItemSubscriptions = service(ToDoItemSubscriptions.class);
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
index ff976b7..e85d3f5 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
@@ -18,29 +18,31 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
-import dom.todo.ToDoItem.Category;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
public class ToDoItemTest_ownedBy extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
index b572041..61401a8 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
@@ -18,28 +18,34 @@
*/
package integration.tests.props;
-import static org.hamcrest.CoreMatchers.containsString;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItem.Subcategory;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.containsString;
+
public class ToDoItemTest_subcategory extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
index dcc9398..68f3fcd 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
@@ -18,32 +18,38 @@
*/
package integration.tests.repo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemsTest_finders extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private int notYetCompletedSize;
private int completedSize;
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ final List<ToDoItem> notYetCompleteItems = wrap(toDoItems).notYetComplete();
+ final List<ToDoItem> completedItems = wrap(toDoItems).complete();
- final List<ToDoItem> notYetCompleteItems = wrap(service(ToDoItems.class)).notYetComplete();
- final List<ToDoItem> completedItems = wrap(service(ToDoItems.class)).complete();
-
notYetCompletedSize = notYetCompleteItems.size();
completedSize = completedItems.size();
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
index 0fa2e35..7d75a95 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
@@ -18,23 +18,34 @@
*/
package integration.tests.repo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
import dom.todo.ToDoItem.Category;
import dom.todo.ToDoItem.Subcategory;
+import dom.todo.ToDoItems;
+import integration.tests.ToDoIntegTest;
+import javax.inject.Inject;
+import org.junit.Before;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemsTest_newToDo_and_delete extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ // none
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
@Test
public void happyCase() throws Exception {
// given
- int size = wrap(service(ToDoItems.class)).notYetComplete().size();
+ int size = wrap(toDoItems).notYetComplete().size();
// when
final ToDoItem newToDo = wrap(service(ToDoItems.class)).newToDo("new todo", Category.Professional, Subcategory.OpenSource, null, null);
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
index 932d7bf..6850a33 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
@@ -18,35 +18,39 @@
*/
package integration.tests.smoke;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-
import dom.todo.ToDoItem;
import dom.todo.ToDoItems;
import fixture.todo.integtests.ToDoItemsIntegTestFixture;
+import integration.tests.ToDoIntegTest;
+import java.util.List;
+import javax.inject.Inject;
import org.joda.time.LocalDate;
import org.junit.Before;
import org.junit.Test;
-
import org.apache.isis.applib.clock.Clock;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.not;
+import static org.junit.Assert.assertThat;
+
public class ToDoItemTest_title extends ToDoIntegTest {
+ @Before
+ public void setUpData() throws Exception {
+ scenarioExecution().install(new ToDoItemsIntegTestFixture());
+ }
+
+ @Inject
+ private ToDoItems toDoItems;
+
private ToDoItem toDoItem;
private LocalDate dueBy;
-
@Before
public void setUp() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
-
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
+ final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
toDoItem = wrap(all.get(0));
dueBy = toDoItem.getDueBy();
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java b/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
index 566a2d9..301678b 100644
--- a/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
+++ b/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/SimpleAppIntegTest.java
@@ -27,7 +27,6 @@ import org.apache.isis.core.integtestsupport.scenarios.ScenarioExecutionForInteg
public abstract class SimpleAppIntegTest extends IntegrationTestAbstract {
-
@BeforeClass
public static void initClass() {
org.apache.log4j.PropertyConfigurator.configure("logging.properties");
http://git-wip-us.apache.org/repos/asf/isis/blob/d27a47d5/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java b/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
index 988d8a2..2a19af8 100644
--- a/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
+++ b/example/application/simple_wicket_restful_jdo/integtests/src/test/java/integration/tests/smoke/SimpleObjectsTest_listAll_and_create.java
@@ -18,39 +18,33 @@
*/
package integration.tests.smoke;
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import integration.tests.SimpleAppIntegTest;
-
-import java.util.List;
-
import dom.simple.SimpleObject;
import dom.simple.SimpleObjects;
import fixture.simple.SimpleObjectsFixture;
+import integration.tests.SimpleAppIntegTest;
-import org.joda.time.LocalDate;
+import java.util.List;
+import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
-import org.apache.isis.applib.clock.Clock;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
public class SimpleObjectsTest_listAll_and_create extends SimpleAppIntegTest {
- private SimpleObjects simpleObjects;
-
@Before
- public void setUp() throws Exception {
-
+ public void setUpData() throws Exception {
scenarioExecution().install(new SimpleObjectsFixture());
-
- simpleObjects = wrap(service(SimpleObjects.class));
}
-
+ @Inject
+ private SimpleObjects simpleObjects;
+
@Test
public void listAll() throws Exception {
- final List<SimpleObject> all = simpleObjects.listAll();
+ final List<SimpleObject> all = wrap(simpleObjects).listAll();
assertThat(all.size(), is(3));
SimpleObject simpleObject = wrap(all.get(0));
@@ -59,10 +53,10 @@ public class SimpleObjectsTest_listAll_and_create extends SimpleAppIntegTest {
@Test
public void create() throws Exception {
+
+ wrap(simpleObjects).create("Faz");
- simpleObjects.create("Faz");
-
- final List<SimpleObject> all = simpleObjects.listAll();
+ final List<SimpleObject> all = wrap(simpleObjects).listAll();
assertThat(all.size(), is(4));
}
[2/2] git commit: ISIS-783: further minor improvements to integtest
framework
Posted by da...@apache.org.
ISIS-783: further minor improvements to integtest framework
* IntegrationTestAbstract#nextSession(), to supplement nextTransaction(); causes a new Isis/DataNucleus session (ie clear caches)
* IsisSystemForTest new openSession and closeSession
* ScenarioExecution new openSession and closeSesssion
* ScenarioExecution#injectServicesInto support @javax.inject.Inject for fields.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/27144fc3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/27144fc3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/27144fc3
Branch: refs/heads/master
Commit: 27144fc302e43f0cf06718eb796f980c06c975bb
Parents: d27a47d
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun May 18 17:51:33 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun May 18 17:51:33 2014 +0100
----------------------------------------------------------------------
.../IntegrationTestAbstract.java | 9 ++-
.../integtestsupport/IsisSystemForTest.java | 15 +++-
.../ScenarioExecutionForIntegration.java | 28 +++++++
.../scenarios/ScenarioExecution.java | 82 +++++++++++++++++++-
4 files changed, 127 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/27144fc3/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
index df15345..54a3130 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
@@ -70,7 +70,14 @@ public abstract class IntegrationTestAbstract {
scenarioExecution().endTran(true);
scenarioExecution().beginTran();
}
-
+
+ protected void nextSession() {
+ scenarioExecution().endTran(true);
+ scenarioExecution().closeSession();
+ scenarioExecution().openSession();
+ scenarioExecution().beginTran();
+ }
+
// //////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/27144fc3/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
index fb52ea6..5683b21 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
@@ -373,11 +373,22 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
public void bounceSystem() throws Exception {
firePreBounceSystem();
- tearDownSystem(FireListeners.DONT_FIRE);
- setUpSystem(FireListeners.DONT_FIRE);
+ closeSession();
+ openSession();
firePostBounceSystem();
}
+ public void openSession() throws Exception {
+ openSession(authenticationSession);
+ }
+
+ public void openSession(AuthenticationSession authenticationSession) throws Exception {
+ IsisContext.openSession(authenticationSession);
+ }
+
+ public void closeSession() throws Exception {
+ IsisContext.closeSession();
+ }
private IsisSystemDefault createIsisSystem(List<Object> services) {
final IsisSystemDefault system = new IsisSystemDefault(DeploymentType.UNIT_TESTING, services) {
http://git-wip-us.apache.org/repos/asf/isis/blob/27144fc3/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/scenarios/ScenarioExecutionForIntegration.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/scenarios/ScenarioExecutionForIntegration.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/scenarios/ScenarioExecutionForIntegration.java
index 68476b5..1c36461 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/scenarios/ScenarioExecutionForIntegration.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/scenarios/ScenarioExecutionForIntegration.java
@@ -18,6 +18,7 @@ package org.apache.isis.core.integtestsupport.scenarios;
import org.apache.isis.applib.fixtures.InstallableFixture;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.integtestsupport.IsisSystemForTest;
import org.apache.isis.core.specsupport.scenarios.ScenarioExecution;
import org.apache.isis.core.specsupport.scenarios.ScenarioExecutionScope;
@@ -78,4 +79,31 @@ public class ScenarioExecutionForIntegration extends ScenarioExecution {
}
}
+ @Override
+ public void openSession() {
+ try {
+ isft.openSession();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public void openSession(AuthenticationSession authenticationSession) {
+ try {
+ isft.openSession(authenticationSession);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public void closeSession() {
+ try {
+ isft.closeSession();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/27144fc3/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
----------------------------------------------------------------------
diff --git a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
index 7a6179c..962c750 100644
--- a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
+++ b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
@@ -16,19 +16,24 @@
*/
package org.apache.isis.core.specsupport.scenarios;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.List;
import java.util.Map;
-
+import javax.inject.Inject;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
-
import org.jmock.Mockery;
import org.jmock.Sequence;
import org.jmock.States;
import org.jmock.internal.ExpectationBuilder;
-
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.fixtures.InstallableFixture;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.metamodel.exceptions.MetaModelException;
/**
@@ -133,6 +138,7 @@ public abstract class ScenarioExecution {
}
+
// //////////////////////////////////////
/**
@@ -372,6 +378,41 @@ public abstract class ScenarioExecution {
// //////////////////////////////////////
/**
+ * For Cucumber hooks to call.
+ *
+ * <p>
+ * This implementation is a no-op, but subclasses of this class tailored to
+ * supporting integration specs are expected to override.
+ */
+ public void openSession() {
+ // do nothing
+ }
+
+ /**
+ * For Cucumber hooks to call.
+ *
+ * <p>
+ * This implementation is a no-op, but subclasses of this class tailored to
+ * supporting integration specs are expected to override.
+ */
+ public void openSession(AuthenticationSession authenticationSession) {
+ // do nothing
+ }
+
+ /**
+ * For Cucumber hooks to call.
+ *
+ * <p>
+ * This implementation is a no-op, but subclasses of this class tailored to
+ * supporting integration specs are expected to override.
+ */
+ public void closeSession() {
+ // do nothing
+ }
+
+ // //////////////////////////////////////
+
+ /**
* For Cucumber hooks to call, performing transaction management around each step.
*
* <p>
@@ -408,20 +449,53 @@ public abstract class ScenarioExecution {
final Class<?> serviceClass = parameterTypes[0];
if(method.getName().startsWith("inject")) {
final Object service = service(serviceClass);
- method.invoke(obj, service);
+ method.invoke(obj, service);
}
if(method.getName().startsWith("set") && serviceClass == DomainObjectContainer.class) {
final Object container = container();
method.invoke(obj, container);
}
}
+ autowireViaFields(obj, obj.getClass());
+
return obj;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
+ private void autowireViaFields(final Object object, final Class<?> cls) {
+ final List<Field> fields = Arrays.asList(cls.getDeclaredFields());
+ final Iterable<Field> injectFields = Iterables.filter(fields, new Predicate<Field>() {
+ @Override
+ public boolean apply(Field input) {
+ final Inject annotation = input.getAnnotation(javax.inject.Inject.class);
+ return annotation != null;
+ }
+ });
+ for (final Field field : injectFields) {
+ final Object service = service(field.getType());
+ final Class<?> serviceClass = service.getClass();
+ field.setAccessible(true);
+ invokeInjectorField(field, object, service);
+ }
+ // recurse up the hierarchy
+ final Class<?> superclass = cls.getSuperclass();
+ if(superclass != null) {
+ autowireViaFields(object, superclass);
+ }
+ }
+
+ private static void invokeInjectorField(final Field field, final Object target, final Object parameter) {
+ try {
+ field.set(target, parameter);
+ } catch (IllegalArgumentException e) {
+ throw new MetaModelException(e);
+ } catch (IllegalAccessException e) {
+ throw new MetaModelException(String.format("Cannot access the %s field in %s", field.getName(), target.getClass().getName()));
+ }
+ }
}