You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2017/10/31 18:28:35 UTC
deltaspike git commit: DELTASPIKE-1297 added test with a customized
DynamicMockManager
Repository: deltaspike
Updated Branches:
refs/heads/master edeff80a2 -> 38bc9c3d3
DELTASPIKE-1297 added test with a customized DynamicMockManager
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/38bc9c3d
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/38bc9c3d
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/38bc9c3d
Branch: refs/heads/master
Commit: 38bc9c3d340b17410b4fc2a1ce45d77981b366e5
Parents: edeff80
Author: gpetracek <gp...@apache.org>
Authored: Tue Oct 31 19:27:20 2017 +0100
Committer: gpetracek <gp...@apache.org>
Committed: Tue Oct 31 19:27:20 2017 +0100
----------------------------------------------------------------------
.../test/testcontrol/CustomMockManager.java | 36 ++++++++
.../testcontrol/InternalTestMockFilter.java | 4 +-
.../mock/uc016/CustomMockManagerTest.java | 87 ++++++++++++++++++++
.../impl/src/test/resources/META-INF/beans.xml | 4 +
4 files changed, 130 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/38bc9c3d/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/CustomMockManager.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/CustomMockManager.java b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/CustomMockManager.java
new file mode 100644
index 0000000..3817870
--- /dev/null
+++ b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/CustomMockManager.java
@@ -0,0 +1,36 @@
+package org.apache.deltaspike.test.testcontrol;
+
+import org.apache.deltaspike.testcontrol.api.mock.DynamicMockManager;
+import org.apache.deltaspike.testcontrol.impl.mock.SimpleMockManager;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.Typed;
+import java.lang.annotation.Annotation;
+
+@Alternative
+
+@RequestScoped
+@Typed(DynamicMockManager.class)
+public class CustomMockManager extends SimpleMockManager
+{
+ private static boolean isCalled;
+
+ @Override
+ public <T> T getMock(Class<T> beanClass, Annotation... qualifiers)
+ {
+ isCalled = true;
+
+ return super.getMock(beanClass, qualifiers);
+ }
+
+ public static boolean isIsCalled()
+ {
+ return isCalled;
+ }
+
+ public static void resetInternals()
+ {
+ isCalled = false;
+ }
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/38bc9c3d/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/InternalTestMockFilter.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/InternalTestMockFilter.java b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/InternalTestMockFilter.java
index 242fbcf..f333bfd 100644
--- a/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/InternalTestMockFilter.java
+++ b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/InternalTestMockFilter.java
@@ -26,6 +26,8 @@ public class InternalTestMockFilter extends DefaultMockFilter
protected boolean isInternalPackage(String packageName)
{
- return super.isInternalPackage(packageName) && !packageName.startsWith(DS_TEST_BASE_PACKAGE);
+ return super.isInternalPackage(packageName) &&
+ (!packageName.startsWith(DS_TEST_BASE_PACKAGE) ||
+ packageName.equals(CustomMockManager.class.getPackage().getName()));
}
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/38bc9c3d/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/mock/uc016/CustomMockManagerTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/mock/uc016/CustomMockManagerTest.java b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/mock/uc016/CustomMockManagerTest.java
new file mode 100644
index 0000000..1f94f37
--- /dev/null
+++ b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/mock/uc016/CustomMockManagerTest.java
@@ -0,0 +1,87 @@
+/*
+ * 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.deltaspike.test.testcontrol.mock.uc016;
+
+import org.apache.deltaspike.test.category.SeCategory;
+import org.apache.deltaspike.test.testcontrol.CustomMockManager;
+import org.apache.deltaspike.test.testcontrol.mock.shared.RequestScopedBean;
+import org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner;
+import org.apache.deltaspike.testcontrol.api.mock.DynamicMockManager;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+import javax.inject.Inject;
+
+//Usually NOT needed! Currently only needed due to our arquillian-setup
+@Category(SeCategory.class)
+
+@RunWith(CdiTestRunner.class)
+//same base logic as uc001 + a manual check of CustomMockManager
+public class CustomMockManagerTest
+{
+ @Inject
+ private RequestScopedBean requestScopedBean;
+
+ @Inject
+ private DynamicMockManager mockManager;
+
+ @Test
+ public void manualMock1()
+ {
+ CustomMockManager.resetInternals();
+
+ mockManager.addMock(new RequestScopedBean()
+ {
+ @Override
+ public int getCount()
+ {
+ return 7;
+ }
+ });
+
+ Assert.assertEquals(7, requestScopedBean.getCount());
+ requestScopedBean.increaseCount();
+ Assert.assertEquals(7, requestScopedBean.getCount());
+
+ Assert.assertTrue(CustomMockManager.isIsCalled());
+ }
+
+ @Test
+ public void manualMock2() //same test with different mock
+ {
+ CustomMockManager.resetInternals();
+
+ mockManager.addMock(new RequestScopedBean()
+ {
+ @Override
+ public int getCount()
+ {
+ return 14;
+ }
+ });
+
+ Assert.assertEquals(14, requestScopedBean.getCount());
+ requestScopedBean.increaseCount();
+ Assert.assertEquals(14, requestScopedBean.getCount());
+
+ Assert.assertTrue(CustomMockManager.isIsCalled());
+ }
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/38bc9c3d/deltaspike/modules/test-control/impl/src/test/resources/META-INF/beans.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/impl/src/test/resources/META-INF/beans.xml b/deltaspike/modules/test-control/impl/src/test/resources/META-INF/beans.xml
index e7b84c7..2b5d7ba 100644
--- a/deltaspike/modules/test-control/impl/src/test/resources/META-INF/beans.xml
+++ b/deltaspike/modules/test-control/impl/src/test/resources/META-INF/beans.xml
@@ -24,4 +24,8 @@
<class>org.apache.deltaspike.test.testcontrol.uc011.TestInterceptorImplementation</class>
<class>org.apache.deltaspike.test.testcontrol.mock.uc015.TestInterceptorImplementation</class>
</interceptors>
+
+ <alternatives>
+ <class>org.apache.deltaspike.test.testcontrol.CustomMockManager</class>
+ </alternatives>
</beans>