[jbosstools-commits] JBoss Tools SVN: r41439 - in trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test: projects/DeltaspikeCoreTest/src/deltaspike/config and 3 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri May 25 15:25:17 EDT 2012
Author: scabanovich
Date: 2012-05-25 15:25:16 -0400 (Fri, 25 May 2012)
New Revision: 41439
Added:
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeBeansTest.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/META-INF/MANIFEST.MF
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/config/SettingsBean.java
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/handler/MyHandlers.java
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreAllTests.java
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreTest.java
trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/validation/DeltaspikeValidationTest.java
Log:
JBIDE-11552
https://issues.jboss.org/browse/JBIDE-11552
Tests are added.
Modified: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/META-INF/MANIFEST.MF 2012-05-25 19:23:06 UTC (rev 41438)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/META-INF/MANIFEST.MF 2012-05-25 19:25:16 UTC (rev 41439)
@@ -15,6 +15,7 @@
org.jboss.tools.cdi.core,
org.jboss.tools.jst.jsp.base.test,
org.jboss.tools.cdi.core.test,
+ org.jboss.tools.cdi.deltaspike.core,
org.jboss.tools.common,
org.eclipse.ui;bundle-version="3.7.0",
org.jboss.tools.common.base.test,
Modified: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/config/SettingsBean.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/config/SettingsBean.java 2012-05-25 19:23:06 UTC (rev 41438)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/config/SettingsBean.java 2012-05-25 19:25:16 UTC (rev 41439)
@@ -13,4 +13,7 @@
@Property2
Long property2;
+ @Inject
+ Long property3;
+
}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/handler/MyHandlers.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/handler/MyHandlers.java 2012-05-25 19:23:06 UTC (rev 41438)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/projects/DeltaspikeCoreTest/src/deltaspike/handler/MyHandlers.java 2012-05-25 19:25:16 UTC (rev 41439)
@@ -1,5 +1,8 @@
package deltaspike.handler;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
import org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler;
import org.apache.deltaspike.core.api.exception.control.annotation.Handles;
import org.apache.deltaspike.core.api.exception.control.event.ExceptionEvent;
@@ -7,6 +10,13 @@
@ExceptionHandler
public class MyHandlers {
- void printExceptions(@Handles ExceptionEvent<Throwable> evt) {
+ void printExceptions(@Handles ExceptionEvent<Throwable> evt, @Named("handlerParam") String s) {
}
+
+ void brokenHandler(@Handles Throwable evt) {
+ }
+
+ @Produces
+ @Named("handlerParam")
+ String s = "";
}
Added: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeBeansTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeBeansTest.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeBeansTest.java 2012-05-25 19:25:16 UTC (rev 41439)
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.deltaspike.core.test;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.Path;
+import org.jboss.tools.cdi.core.CDIConstants;
+import org.jboss.tools.cdi.core.CDICoreNature;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInjectionPointField;
+import org.jboss.tools.cdi.core.IInjectionPointParameter;
+import org.jboss.tools.cdi.core.test.DependentProjectTest;
+import org.jboss.tools.cdi.deltaspike.core.DeltaspikeAuthorityMethod;
+import org.jboss.tools.cdi.deltaspike.core.DeltaspikeConstants;
+import org.jboss.tools.cdi.deltaspike.core.DeltaspikeSecurityBindingConfiguration;
+import org.jboss.tools.cdi.deltaspike.core.DeltaspikeSecurityExtension;
+import org.jboss.tools.cdi.deltaspike.core.SecurityBindingDeclaration;
+import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.MethodDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class DeltaspikeBeansTest extends DeltaspikeCoreTest {
+
+ public void testExcluded() throws Exception {
+ IProject project = getTestProject();
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+ CDICoreNature n = cdi.getNature();
+ TypeDefinition def = n.getDefinitions().getTypeDefinition("deltaspike.exclude.ExcludedBean"); //$NON-NLS-1$
+ assertNotNull(def);
+ assertTrue(def.isAnnotationPresent(CDIConstants.NAMED_QUALIFIER_TYPE_NAME));
+ assertTrue(def.isAnnotationPresent(DeltaspikeConstants.EXCLUDE_ANNOTATION_TYPE_NAME));
+
+ Set<IBean> bs = cdi.getBeans(def.getResource().getFullPath());
+ assertTrue(bs.isEmpty());
+ }
+
+ public void testConfigProperty() throws Exception {
+ IProject project = getTestProject();
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+
+ IInjectionPointField f1 = DependentProjectTest.getInjectionPointField(cdi, project, "/src/deltaspike/config/SettingsBean.java", "property1"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertNotNull(f1);
+ assertTrue(f1.isAnnotationPresent(DeltaspikeConstants.CONFIG_PROPERTY_ANNOTATION_TYPE_NAME));
+
+ }
+
+ public void testMessages() throws Exception {
+ IProject project = getTestProject();
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+
+ IInjectionPointField f1 = DependentProjectTest.getInjectionPointField(cdi, project, "/src/deltaspike/message/MyBean.java", "messages"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertNotNull(f1);
+ Set<IBean> bs = cdi.getBeans(true, f1);
+ assertEquals(1, bs.size());
+
+ IInjectionPointField f2 = DependentProjectTest.getInjectionPointField(cdi, project, "/src/deltaspike/message/MyBean.java", "messageContext"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertNotNull(f2);
+ bs = cdi.getBeans(true, f2);
+ assertEquals(1, bs.size());
+ }
+
+ public void testHandler() throws Exception {
+ IProject project = getTestProject();
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+
+ Set<IBean> bs = cdi.getBeans(new Path("/DeltaspikeCoreTest/src/deltaspike/handler/MyHandlers.java")); //$NON-NLS-1$
+ IClassBean cb = null;
+ for (IBean b: bs) {
+ if(b instanceof IClassBean) cb = (IClassBean)b;
+ }
+ Set<IInjectionPoint> ps = cb.getInjectionPoints();
+ assertEquals(1, ps.size());
+ IInjectionPoint p = ps.iterator().next();
+ assertTrue(p instanceof IInjectionPointParameter);
+ bs = cdi.getBeans(true, p);
+ assertEquals(1, bs.size());
+ }
+
+ public void testSecurity() throws Exception {
+ IProject project = getTestProject();
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+ DeltaspikeSecurityExtension extension = DeltaspikeSecurityExtension.getExtension(cdi.getNature());
+ assertNotNull(extension);
+
+ DeltaspikeSecurityBindingConfiguration c = extension.getContext().getConfiguration("deltaspike.security.CustomSecurityBinding"); //$NON-NLS-1$
+ assertNotNull(c);
+ Set<DeltaspikeAuthorityMethod> as = c.getAuthorizerMembers();
+ assertEquals(3, as.size());
+ Map<AbstractMemberDefinition, SecurityBindingDeclaration> bs = c.getBoundMembers();
+ assertEquals(3, bs.size());
+
+ for (AbstractMemberDefinition d: bs.keySet()) {
+ String methodName = ((MethodDefinition)d).getMethod().getElementName();
+ SecurityBindingDeclaration b = bs.get(d);
+ int k = 0;
+ for (DeltaspikeAuthorityMethod a: as) {
+ if(a.isMatching(b.getBinding())) {
+ k++;
+ }
+ }
+ if("doSomething1".equals(methodName)) { //$NON-NLS-1$
+ assertEquals(1, k);
+ } else if("doSomething2".equals(methodName)) { //$NON-NLS-1$
+ assertEquals(2, k);
+ } else if("doSomething3".equals(methodName)) { //$NON-NLS-1$
+ assertEquals(0, k);
+ }
+ }
+
+ }
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeBeansTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreAllTests.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreAllTests.java 2012-05-25 19:23:06 UTC (rev 41438)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreAllTests.java 2012-05-25 19:25:16 UTC (rev 41439)
@@ -34,6 +34,7 @@
TestSuite suiteAll = new TestSuite("Deltasipke Core Tests");
TestSuite suite = new TestSuite("Deltaspike Core Project Tests");
+ suite.addTestSuite(DeltaspikeBeansTest.class);
suite.addTestSuite(DeltaspikeValidationTest.class);
suiteAll.addTest(new DeltaspikeCoreTestSetup(suite));
Modified: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreTest.java 2012-05-25 19:23:06 UTC (rev 41438)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/DeltaspikeCoreTest.java 2012-05-25 19:25:16 UTC (rev 41439)
@@ -23,4 +23,5 @@
protected IProject getTestProject() throws Exception {
return ResourcesPlugin.getWorkspace().getRoot().getProject(DeltaspikeCoreTestSetup.PROJECT_NAME);
}
+
}
\ No newline at end of file
Modified: trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/validation/DeltaspikeValidationTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/validation/DeltaspikeValidationTest.java 2012-05-25 19:23:06 UTC (rev 41438)
+++ trunk/cdi/tests/org.jboss.tools.cdi.deltaspike.core.test/src/org/jboss/tools/cdi/deltaspike/core/test/validation/DeltaspikeValidationTest.java 2012-05-25 19:25:16 UTC (rev 41439)
@@ -10,7 +10,12 @@
******************************************************************************/
package org.jboss.tools.cdi.deltaspike.core.test.validation;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.osgi.util.NLS;
import org.jboss.tools.cdi.deltaspike.core.test.DeltaspikeCoreTest;
+import org.jboss.tools.cdi.deltaspike.core.validation.DeltaspikeValidationMessages;
+import org.jboss.tools.cdi.internal.core.validation.CDIValidationMessages;
+import org.jboss.tools.tests.AbstractResourceMarkerTest;
/**
* @author Alexey Kazakov
@@ -20,4 +25,36 @@
public void testValidation() throws Exception {
// TODO
}
+
+ public void testConfigPropertyValidation() throws Exception {
+ IFile file = getTestProject().getFile("src/deltaspike/config/SettingsBean.java"); //$NON-NLS-1$
+
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file, CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 8);
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file, CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 12);
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 16);
+ }
+
+ public void testHandlerValidation() throws Exception {
+ IFile file = getTestProject().getFile("src/deltaspike/handler/MyHandlers.java"); //$NON-NLS-1$
+
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file, DeltaspikeValidationMessages.INVALID_HANDLER_TYPE, 13);
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, DeltaspikeValidationMessages.INVALID_HANDLER_TYPE, 16);
+ }
+
+ public void testSecurityValidation() throws Exception {
+ IFile file = getTestProject().getFile("src/deltaspike/security/CustomAuthorizer.java"); //$NON-NLS-1$
+
+ String message = NLS.bind(DeltaspikeValidationMessages.INVALID_AUTHORIZER_NOT_BOOLEAN, "check3"); //$NON-NLS-1$
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, message, 25);
+
+ message = NLS.bind(DeltaspikeValidationMessages.INVALID_AUTHORIZER_NO_BINDINGS, "check4"); //$NON-NLS-1$
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, message, 30);
+
+ file = getTestProject().getFile("src/deltaspike/security/SecuredBean1.java"); //$NON-NLS-1$
+ message = NLS.bind(DeltaspikeValidationMessages.AMBIGUOUS_AUTHORIZER, "deltaspike.security.CustomSecurityBinding", "doSomething2"); //$NON-NLS-1$ //$NON-NLS-2$
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, message, 24);
+
+ message = NLS.bind(DeltaspikeValidationMessages.UNRESOLVED_AUTHORIZER, "deltaspike.security.CustomSecurityBinding", "doSomething3"); //$NON-NLS-1$ //$NON-NLS-2$
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, message, 29);
+ }
}
\ No newline at end of file
More information about the jbosstools-commits
mailing list