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