[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