Commit f8168bf591298d2f360cba24682890651bd710ac

Authored by Cleverson Sacramento
2 parents 6463b1b0 e698525a
Exists in master

Merge branch 'master' of git@github.com:demoiselle/framework.git

Showing 21 changed files with 1275 additions and 1422 deletions   Show diff stats
archetype/jsf-jpa/src/main/resources/archetype-resources/src/main/java/view/BookmarkEditMB.java
... ... @@ -11,7 +11,7 @@ import ${package}.business.BookmarkBC;
11 11 import ${package}.domain.Bookmark;
12 12  
13 13 @ViewController
14   -@PreviousView("/bookmark_list.xhtml")
  14 +@PreviousView("./bookmark_list.xhtml")
15 15 public class BookmarkEditMB extends AbstractEditPageBean<Bookmark, Long> {
16 16  
17 17 private static final long serialVersionUID = 1L;
... ...
archetype/jsf-jpa/src/main/resources/archetype-resources/src/main/java/view/BookmarkListMB.java
... ... @@ -15,8 +15,8 @@ import ${package}.business.BookmarkBC;
15 15 import ${package}.domain.Bookmark;
16 16  
17 17 @ViewController
18   -@NextView("/bookmark_edit.xhtml")
19   -@PreviousView("/bookmark_list.xhtml")
  18 +@NextView("./bookmark_edit.xhtml")
  19 +@PreviousView("./bookmark_list.xhtml")
20 20 public class BookmarkListMB extends AbstractListPageBean<Bookmark, Long> {
21 21  
22 22 private static final long serialVersionUID = 1L;
... ...
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImplTest.java
1   -//package br.gov.frameworkdemoiselle.internal.implementation;
2   -//
3   -//import static junit.framework.Assert.assertEquals;
4   -//import static junit.framework.Assert.assertFalse;
5   -//import static junit.framework.Assert.assertNotNull;
6   -//import static junit.framework.Assert.assertNull;
7   -//import static junit.framework.Assert.assertTrue;
8   -//import static junit.framework.Assert.fail;
9   -//import static org.easymock.EasyMock.createMock;
10   -//import static org.easymock.EasyMock.expect;
11   -//import static org.powermock.api.easymock.PowerMock.mockStatic;
12   -//import static org.powermock.api.easymock.PowerMock.replay;
13   -//import static org.powermock.api.easymock.PowerMock.replayAll;
14   -//import static org.powermock.reflect.Whitebox.setInternalState;
15   -//
16   -//import java.util.Locale;
17   -//
18   -//import javax.enterprise.inject.spi.BeanManager;
19   -//
20   -//import org.easymock.EasyMock;
21   -//import org.junit.Before;
22   -//import org.junit.Test;
23   -//import org.junit.runner.RunWith;
24   -//import org.powermock.api.easymock.PowerMock;
25   -//import org.powermock.core.classloader.annotations.PrepareForTest;
26   -//import org.powermock.modules.junit4.PowerMockRunner;
27   -//
28   -//import br.gov.frameworkdemoiselle.internal.configuration.SecurityConfig;
29   -//import br.gov.frameworkdemoiselle.security.Authenticator;
30   -//import br.gov.frameworkdemoiselle.security.Authorizer;
31   -//import br.gov.frameworkdemoiselle.security.NotLoggedInException;
32   -//import br.gov.frameworkdemoiselle.security.User;
33   -//import br.gov.frameworkdemoiselle.util.Beans;
34   -//import br.gov.frameworkdemoiselle.util.ResourceBundle;
35   -//
36   -//@RunWith(PowerMockRunner.class)
37   -//@PrepareForTest({ CoreBundle.class, Beans.class })
38   -//public class SecurityContextImplTest {
39   -//
40   -// private SecurityContextImpl context;
41   -//
42   -// private SecurityConfig config;
43   -//
44   -// @Before
45   -// public void setUp() {
46   -// context = new SecurityContextImpl();
47   -//
48   -// config = createMock(SecurityConfig.class);
49   -// setInternalState(context, "config", config);
50   -// }
51   -//
52   -// @Test
53   -// public void testHasPermissionWithSecurityDisabled() {
54   -//
55   -// expect(config.isEnabled()).andReturn(false);
56   -//
57   -// replay(config);
58   -//
59   -// try {
60   -// assertTrue(context.hasPermission(null, null));
61   -// } catch (NotLoggedInException e) {
62   -// fail();
63   -// }
64   -//
65   -// }
66   -//
67   -// @Test
68   -// public void testHasPermissionWithSecurityEnabledAndNotLoggedIn() {
69   -// Authenticator authenticator = createMock(Authenticator.class);
70   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
71   -//
72   -// ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
73   -// setInternalState(context, "bundle", bundle);
74   -// setInternalState(context, "authenticator", authenticator);
75   -//
76   -// expect(config.isEnabled()).andReturn(true).anyTimes();
77   -// replay(config, authenticator);
78   -//
79   -// try {
80   -// context.hasPermission(null, null);
81   -// fail();
82   -// } catch (NotLoggedInException e) {
83   -// assertTrue(e.getMessage().equals(bundle.getString("user-not-authenticated")));
84   -// }
85   -//
86   -// }
87   -//
88   -// @Test
89   -// public void testHasPermissionWithSecurityEnabledAndLoggedIn() {
90   -// expect(config.isEnabled()).andReturn(true).anyTimes();
91   -// replay(config);
92   -//
93   -// loginSuccessfully();
94   -//
95   -// Authorizer authorizer = createMock(Authorizer.class);
96   -// expect(authorizer.hasPermission(null, null)).andReturn(true);
97   -//
98   -// setInternalState(context, "authorizer", authorizer);
99   -//
100   -// replay(authorizer);
101   -//
102   -// try {
103   -// assertTrue(context.hasPermission(null, null));
104   -// } catch (NotLoggedInException e) {
105   -// fail();
106   -// }
107   -//
108   -// }
109   -//
110   -// private void loginSuccessfully() {
111   -// Authenticator authenticator = createMock(Authenticator.class);
112   -// expect(authenticator.authenticate()).andReturn(true);
113   -//
114   -// BeanManager manager = createMock(BeanManager.class);
115   -// mockStatic(Beans.class);
116   -// expect(Beans.getBeanManager()).andReturn(manager);
117   -// manager.fireEvent(EasyMock.anyObject(Class.class));
118   -// PowerMock.expectLastCall();
119   -//
120   -// User user = createMock(User.class);
121   -// expect(authenticator.getUser()).andReturn(user).anyTimes();
122   -//
123   -// setInternalState(context, "authenticator", authenticator);
124   -//
125   -// replayAll(authenticator, user, Beans.class, manager);
126   -//
127   -// context.login();
128   -// assertTrue(context.isLoggedIn());
129   -// }
130   -//
131   -// @Test
132   -// public void testHasRoleWithSecurityDisabled() {
133   -//
134   -// expect(config.isEnabled()).andReturn(false);
135   -//
136   -// replay(config);
137   -//
138   -// try {
139   -// assertTrue(context.hasRole(null));
140   -// } catch (NotLoggedInException e) {
141   -// fail();
142   -// }
143   -//
144   -// }
145   -//
146   -// @Test
147   -// public void testHasRoleWithSecurityEnabledAndNotLoggedIn() {
148   -// Authenticator authenticator = createMock(Authenticator.class);
149   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
150   -//
151   -// ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
152   -// setInternalState(context, "bundle", bundle);
153   -// expect(config.isEnabled()).andReturn(true).anyTimes();
154   -//
155   -// setInternalState(context, "authenticator", authenticator);
156   -//
157   -// replay(config, authenticator);
158   -//
159   -// try {
160   -// context.hasRole(null);
161   -// fail();
162   -// } catch (NotLoggedInException e) {
163   -// assertTrue(e.getMessage().equals(bundle.getString("user-not-authenticated")));
164   -// }
165   -//
166   -// }
167   -//
168   -// @Test
169   -// public void testHasRoleWithSecurityEnabledAndLoggedIn() {
170   -// expect(config.isEnabled()).andReturn(true).anyTimes();
171   -// replay(config);
172   -//
173   -// loginSuccessfully();
174   -//
175   -// Authorizer authorizer = createMock(Authorizer.class);
176   -// expect(authorizer.hasRole(null)).andReturn(true);
177   -//
178   -// setInternalState(context, "authorizer", authorizer);
179   -//
180   -// replay(authorizer);
181   -//
182   -// try {
183   -// assertTrue(context.hasRole(null));
184   -// } catch (NotLoggedInException e) {
185   -// fail();
186   -// }
187   -//
188   -// }
189   -//
190   -// @Test
191   -// public void testIsLoggedInWithSecurityEnabled() {
192   -// Authenticator authenticator = createMock(Authenticator.class);
193   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
194   -//
195   -// expect(config.isEnabled()).andReturn(true).anyTimes();
196   -//
197   -// setInternalState(context, "authenticator", authenticator);
198   -//
199   -// replay(config, authenticator);
200   -//
201   -// assertFalse(context.isLoggedIn());
202   -// }
203   -//
204   -// @Test
205   -// public void testIsLoggedInWithSecurityDisabled() {
206   -//
207   -// expect(config.isEnabled()).andReturn(false);
208   -//
209   -// replay(config);
210   -//
211   -// assertTrue(context.isLoggedIn());
212   -//
213   -// }
214   -//
215   -// @Test
216   -// public void testLoginWithSecurityDisabled() {
217   -//
218   -// expect(config.isEnabled()).andReturn(false).times(2);
219   -//
220   -// replay(config);
221   -//
222   -// context.login();
223   -//
224   -// assertTrue(context.isLoggedIn());
225   -//
226   -// }
227   -//
228   -// @Test
229   -// public void testLoginWithAuthenticationFail() {
230   -//
231   -// expect(config.isEnabled()).andReturn(true).anyTimes();
232   -//
233   -// Authenticator authenticator = createMock(Authenticator.class);
234   -// expect(authenticator.authenticate()).andReturn(false);
235   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
236   -//
237   -// setInternalState(context, "authenticator", authenticator);
238   -//
239   -// replayAll(authenticator, config);
240   -//
241   -// context.login();
242   -//
243   -// assertFalse(context.isLoggedIn());
244   -// }
245   -//
246   -// @Test
247   -// public void testLogOutWithSecurityDisabled() {
248   -//
249   -// expect(config.isEnabled()).andReturn(false).times(2);
250   -//
251   -// replay(config);
252   -//
253   -// try {
254   -// context.logout();
255   -// assertTrue(context.isLoggedIn());
256   -// } catch (NotLoggedInException e) {
257   -// fail();
258   -// }
259   -// }
260   -//
261   -// @Test
262   -// public void testLogOutWithoutPreviousLogin() {
263   -// Authenticator authenticator = createMock(Authenticator.class);
264   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
265   -//
266   -// ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
267   -// setInternalState(context, "bundle", bundle);
268   -//
269   -// expect(config.isEnabled()).andReturn(true).anyTimes();
270   -//
271   -// setInternalState(context, "authenticator", authenticator);
272   -//
273   -// replay(config, authenticator);
274   -//
275   -// try {
276   -// context.logout();
277   -// fail();
278   -// } catch (NotLoggedInException e) {
279   -// assertTrue(e.getMessage().equals(bundle.getString("user-not-authenticated")));
280   -// }
281   -// }
282   -//
283   -// @Test
284   -// public void testLogOutAfterSuccessfulLogin() {
285   -// mockStatic(Beans.class);
286   -//
287   -// expect(config.isEnabled()).andReturn(true).anyTimes();
288   -//
289   -// Authenticator authenticator = createMock(Authenticator.class);
290   -// expect(authenticator.authenticate()).andReturn(true);
291   -// authenticator.unAuthenticate();
292   -// PowerMock.expectLastCall();
293   -//
294   -// User user = createMock(User.class);
295   -// expect(authenticator.getUser()).andReturn(user);
296   -// expect(authenticator.getUser()).andReturn(null);
297   -//
298   -// BeanManager manager = createMock(BeanManager.class);
299   -// expect(Beans.getBeanManager()).andReturn(manager).times(2);
300   -// manager.fireEvent(EasyMock.anyObject(Class.class));
301   -// PowerMock.expectLastCall().times(2);
302   -//
303   -// setInternalState(context, "authenticator", authenticator);
304   -//
305   -// replayAll(Beans.class, authenticator, user, manager, config);
306   -//
307   -// context.login();
308   -// context.logout();
309   -//
310   -// assertFalse(context.isLoggedIn());
311   -// }
312   -//
313   -// @Test
314   -// public void testGetUserWhenSecurityIsDisabled() {
315   -// Authenticator authenticator = createMock(Authenticator.class);
316   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
317   -//
318   -// expect(config.isEnabled()).andReturn(false).anyTimes();
319   -// replay(config, authenticator, Beans.class);
320   -//
321   -// setInternalState(context, "authenticator", authenticator);
322   -//
323   -// assertNotNull(context.getUser());
324   -// assertNotNull(context.getUser().getId());
325   -// assertNull(context.getUser().getAttribute(null));
326   -// context.getUser().setAttribute(null, null);
327   -// }
328   -//
329   -// @Test
330   -// public void testGetUserWhenSecurityIsEnabled() {
331   -// Authenticator authenticator = createMock(Authenticator.class);
332   -// expect(authenticator.getUser()).andReturn(null).anyTimes();
333   -//
334   -// expect(config.isEnabled()).andReturn(true);
335   -// replay(config, authenticator, Beans.class);
336   -//
337   -// setInternalState(context, "authenticator", authenticator);
338   -//
339   -// assertNull(context.getUser());
340   -// }
341   -//
342   -// @Test
343   -// public void testGetUserWhenSecurityIsEnabledAndUserIsNotNull() {
344   -// User user = createMock(User.class);
345   -//
346   -// Authenticator authenticator = createMock(Authenticator.class);
347   -// expect(authenticator.getUser()).andReturn(user).anyTimes();
348   -//
349   -// expect(config.isEnabled()).andReturn(true).anyTimes();
350   -// replay(config, user, authenticator, Beans.class);
351   -//
352   -// setInternalState(context, "authenticator", authenticator);
353   -//
354   -// assertEquals(context.getUser(), user);
355   -// }
356   -//}
  1 +/*
  2 + * Demoiselle Framework
  3 + * Copyright (C) 2010 SERPRO
  4 + * ----------------------------------------------------------------------------
  5 + * This file is part of Demoiselle Framework.
  6 + *
  7 + * Demoiselle Framework is free software; you can redistribute it and/or
  8 + * modify it under the terms of the GNU Lesser General Public License version 3
  9 + * as published by the Free Software Foundation.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License version 3
  17 + * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 + * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 + * Fifth Floor, Boston, MA 02110-1301, USA.
  20 + * ----------------------------------------------------------------------------
  21 + * Este arquivo é parte do Framework Demoiselle.
  22 + *
  23 + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 + * do Software Livre (FSF).
  26 + *
  27 + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 + * para maiores detalhes.
  31 + *
  32 + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 + * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 + */
  37 +package br.gov.frameworkdemoiselle.internal.implementation;
  38 +
  39 +import static junit.framework.Assert.assertEquals;
  40 +import static junit.framework.Assert.assertFalse;
  41 +import static junit.framework.Assert.assertNotNull;
  42 +import static junit.framework.Assert.assertNull;
  43 +import static junit.framework.Assert.assertTrue;
  44 +import static junit.framework.Assert.fail;
  45 +import static org.easymock.EasyMock.createMock;
  46 +import static org.easymock.EasyMock.expect;
  47 +import static org.powermock.api.easymock.PowerMock.mockStatic;
  48 +import static org.powermock.api.easymock.PowerMock.replay;
  49 +import static org.powermock.api.easymock.PowerMock.replayAll;
  50 +
  51 +import java.util.ArrayList;
  52 +import java.util.List;
  53 +import java.util.Locale;
  54 +
  55 +import static org.powermock.reflect.Whitebox.setInternalState;
  56 +
  57 +import javax.enterprise.inject.spi.BeanManager;
  58 +
  59 +import org.easymock.EasyMock;
  60 +import org.junit.Before;
  61 +import org.junit.Test;
  62 +import org.junit.runner.RunWith;
  63 +import org.powermock.api.easymock.PowerMock;
  64 +import org.powermock.core.classloader.annotations.PrepareForTest;
  65 +import org.powermock.modules.junit4.PowerMockRunner;
  66 +
  67 +import br.gov.frameworkdemoiselle.security.Authenticator;
  68 +import br.gov.frameworkdemoiselle.security.User;
  69 +import br.gov.frameworkdemoiselle.security.Authorizer;
  70 +import br.gov.frameworkdemoiselle.security.NotLoggedInException;
  71 +import br.gov.frameworkdemoiselle.internal.bootstrap.AuthenticatorBootstrap;
  72 +import br.gov.frameworkdemoiselle.internal.configuration.SecurityConfigImpl;
  73 +import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer;
  74 +import br.gov.frameworkdemoiselle.util.Beans;
  75 +import br.gov.frameworkdemoiselle.util.ResourceBundle;
  76 +
  77 +@RunWith(PowerMockRunner.class)
  78 +@PrepareForTest({ Beans.class, ResourceBundle.class })
  79 +public class SecurityContextImplTest {
  80 +
  81 + private SecurityContextImpl context;
  82 + private SecurityConfigImpl config;
  83 + private ResourceBundle bundle;
  84 +
  85 + @Before
  86 + public void setUpConfig() {
  87 + context = new SecurityContextImpl();
  88 + config = createMock(SecurityConfigImpl.class);
  89 +
  90 + mockStatic(Beans.class);
  91 + expect(Beans.getReference(SecurityConfigImpl.class)).andReturn(config).anyTimes();
  92 + }
  93 +
  94 + @Test
  95 + public void testHasPermissionWithSecurityDisabled() {
  96 + expect(config.isEnabled()).andReturn(false);
  97 + replayAll(Beans.class,config);
  98 +
  99 + try {
  100 + assertTrue(context.hasPermission(null, null));
  101 + } catch (NotLoggedInException e) {
  102 + fail();
  103 + }
  104 + }
  105 +
  106 + public void mockGetAuthenticator() {
  107 + Class<? extends Authenticator> cache = AuthenticatorImpl.class;
  108 + List<Class<? extends Authenticator>> cacheList = new ArrayList<Class<? extends Authenticator>>();
  109 + cacheList.add(cache);
  110 +
  111 + AuthenticatorBootstrap bootstrap = PowerMock.createMock(AuthenticatorBootstrap.class);
  112 +
  113 + expect(Beans.getReference(AuthenticatorBootstrap.class)).andReturn(bootstrap).anyTimes();
  114 + expect(config.getAuthenticatorClass()).andReturn(null).anyTimes();
  115 + expect(bootstrap.getCache()).andReturn(cacheList);
  116 + expect(Beans.getReference(AuthenticatorImpl.class)).andReturn(new AuthenticatorImpl());
  117 + expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()).anyTimes();
  118 + }
  119 +
  120 + @Test
  121 + public void testHasPermissionWithSecurityEnabledAndNotLoggedIn() {
  122 + mockGetAuthenticator();
  123 +
  124 + expect(config.isEnabled()).andReturn(true).anyTimes();
  125 + replayAll(Beans.class,config);
  126 +
  127 + bundle = ResourceBundleProducer.create("demoiselle-core-bundle");
  128 +
  129 + try {
  130 + context.hasPermission(null, null);
  131 + fail();
  132 + } catch (NotLoggedInException e) {
  133 + assertTrue(e.getMessage().equals(bundle.getString("user-not-authenticated")));
  134 + }
  135 + }
  136 +
  137 + @Test
  138 + public void testHasPermissionWithSecurityEnabledAndLoggedIn() {
  139 + expect(config.isEnabled()).andReturn(true).anyTimes();
  140 + replay(config);
  141 +
  142 + loginSuccessfully();
  143 +
  144 + Authorizer authorizer = createMock(Authorizer.class);
  145 + expect(authorizer.hasPermission(null, null)).andReturn(true);
  146 +
  147 + setInternalState(context, "authorizer", authorizer);
  148 +
  149 + replay(authorizer);
  150 +
  151 + try {
  152 + assertTrue(context.hasPermission(null, null));
  153 + } catch (NotLoggedInException e) {
  154 + fail();
  155 + }
  156 + }
  157 +
  158 + private void loginSuccessfully() {
  159 + Authenticator authenticator = createMock(Authenticator.class);
  160 + expect(authenticator.authenticate()).andReturn(true);
  161 +
  162 + BeanManager manager = createMock(BeanManager.class);
  163 + expect(Beans.getBeanManager()).andReturn(manager);
  164 + manager.fireEvent(EasyMock.anyObject(Class.class));
  165 + PowerMock.expectLastCall();
  166 +
  167 + User user = createMock(User.class);
  168 + expect(authenticator.getUser()).andReturn(user).anyTimes();
  169 +
  170 + setInternalState(context, "authenticator", authenticator);
  171 +
  172 + replayAll(authenticator, user, Beans.class, manager);
  173 +
  174 + context.login();
  175 + assertTrue(context.isLoggedIn());
  176 + }
  177 +
  178 + @Test
  179 + public void testHasRoleWithSecurityDisabled() {
  180 + expect(config.isEnabled()).andReturn(false);
  181 + replayAll(Beans.class,config);
  182 +
  183 + try {
  184 + assertTrue(context.hasRole(null));
  185 + } catch (NotLoggedInException e) {
  186 + fail();
  187 + }
  188 + }
  189 +
  190 + @Test
  191 + public void testHasRoleWithSecurityEnabledAndNotLoggedIn() {
  192 + mockGetAuthenticator();
  193 +
  194 + expect(config.isEnabled()).andReturn(true).anyTimes();
  195 + replayAll(Beans.class,config);
  196 +
  197 + bundle = ResourceBundleProducer.create("demoiselle-core-bundle");
  198 +
  199 + try {
  200 + context.hasRole(null);
  201 + fail();
  202 + } catch (NotLoggedInException e) {
  203 + assertTrue(e.getMessage().equals(bundle.getString("user-not-authenticated")));
  204 + }
  205 + }
  206 +
  207 + @Test
  208 + public void testHasRoleWithSecurityEnabledAndLoggedIn() {
  209 + expect(config.isEnabled()).andReturn(true).anyTimes();
  210 + replay(config);
  211 +
  212 + loginSuccessfully();
  213 +
  214 + Authorizer authorizer = createMock(Authorizer.class);
  215 + expect(authorizer.hasRole(null)).andReturn(true);
  216 +
  217 + setInternalState(context, "authorizer", authorizer);
  218 +
  219 + replay(authorizer);
  220 +
  221 + try {
  222 + assertTrue(context.hasRole(null));
  223 + } catch (NotLoggedInException e) {
  224 + fail();
  225 + }
  226 + }
  227 +
  228 + @Test
  229 + public void testIsLoggedInWithSecurityEnabled() {
  230 + Authenticator authenticator = createMock(Authenticator.class);
  231 + expect(authenticator.getUser()).andReturn(null).anyTimes();
  232 + expect(config.isEnabled()).andReturn(true).anyTimes();
  233 +
  234 + setInternalState(context, "authenticator", authenticator);
  235 +
  236 + replayAll(config, authenticator);
  237 +
  238 + assertFalse(context.isLoggedIn());
  239 + }
  240 +
  241 + @Test
  242 + public void testIsLoggedInWithSecurityDisabled() {
  243 + expect(config.isEnabled()).andReturn(false);
  244 + replayAll(config,Beans.class);
  245 +
  246 + assertTrue(context.isLoggedIn());
  247 + }
  248 +
  249 + @Test
  250 + public void testLoginWithSecurityDisabled() {
  251 + expect(config.isEnabled()).andReturn(false).times(2);
  252 + replayAll(config,Beans.class);
  253 + context.login();
  254 +
  255 + assertTrue(context.isLoggedIn());
  256 + }
  257 +
  258 + @Test
  259 + public void testLoginWithAuthenticationFail() {
  260 + Authenticator authenticator = createMock(Authenticator.class);
  261 +
  262 + expect(config.isEnabled()).andReturn(true).anyTimes();
  263 + expect(authenticator.authenticate()).andReturn(false);
  264 + expect(authenticator.getUser()).andReturn(null).anyTimes();
  265 +
  266 + setInternalState(context, "authenticator", authenticator);
  267 +
  268 + replayAll(authenticator, config);
  269 +
  270 + context.login();
  271 + assertFalse(context.isLoggedIn());
  272 + }
  273 +
  274 + @Test
  275 + public void testLogOutWithSecurityDisabled() {
  276 + expect(config.isEnabled()).andReturn(false).times(2);
  277 +
  278 + replayAll(config,Beans.class);
  279 +
  280 + try {
  281 + context.logout();
  282 + assertTrue(context.isLoggedIn());
  283 + } catch (NotLoggedInException e) {
  284 + fail();
  285 + }
  286 + }
  287 +
  288 + @Test
  289 + public void testLogOutWithoutPreviousLogin() {
  290 + Authenticator authenticator = createMock(Authenticator.class);
  291 +
  292 + expect(authenticator.getUser()).andReturn(null).anyTimes();
  293 + expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()).anyTimes();
  294 + expect(config.isEnabled()).andReturn(true).anyTimes();
  295 +
  296 + setInternalState(context, "authenticator", authenticator);
  297 +
  298 + replayAll(config, authenticator, Beans.class);
  299 +
  300 + bundle = ResourceBundleProducer.create("demoiselle-core-bundle");
  301 +
  302 + try {
  303 + context.logout();
  304 + fail();
  305 + } catch (NotLoggedInException e) {
  306 + assertTrue(e.getMessage().equals(bundle.getString("user-not-authenticated")));
  307 + }
  308 + }
  309 +
  310 + @Test
  311 + public void testLogOutAfterSuccessfulLogin() {
  312 + expect(config.isEnabled()).andReturn(true).anyTimes();
  313 +
  314 + Authenticator authenticator = createMock(Authenticator.class);
  315 + expect(authenticator.authenticate()).andReturn(true);
  316 + authenticator.unAuthenticate();
  317 + PowerMock.expectLastCall();
  318 +
  319 + User user = createMock(User.class);
  320 + expect(authenticator.getUser()).andReturn(user);
  321 + expect(authenticator.getUser()).andReturn(null);
  322 +
  323 + BeanManager manager = createMock(BeanManager.class);
  324 + expect(Beans.getBeanManager()).andReturn(manager).times(2);
  325 + manager.fireEvent(EasyMock.anyObject(Class.class));
  326 + PowerMock.expectLastCall().times(2);
  327 +
  328 + setInternalState(context, "authenticator", authenticator);
  329 +
  330 + replayAll(Beans.class, authenticator, user, manager, config);
  331 +
  332 + context.login();
  333 + context.logout();
  334 +
  335 + assertFalse(context.isLoggedIn());
  336 + }
  337 +
  338 + @Test
  339 + public void testGetUserWhenSecurityIsDisabled() {
  340 + Authenticator authenticator = createMock(Authenticator.class);
  341 + expect(authenticator.getUser()).andReturn(null).anyTimes();
  342 + expect(config.isEnabled()).andReturn(false).anyTimes();
  343 + replay(config, authenticator, Beans.class);
  344 +
  345 + setInternalState(context, "authenticator", authenticator);
  346 +
  347 + assertNotNull(context.getUser());
  348 + assertNotNull(context.getUser().getId());
  349 + assertNull(context.getUser().getAttribute(null));
  350 + context.getUser().setAttribute(null, null);
  351 + }
  352 +
  353 + @Test
  354 + public void testGetUserWhenSecurityIsEnabled() {
  355 + Authenticator authenticator = createMock(Authenticator.class);
  356 + expect(authenticator.getUser()).andReturn(null).anyTimes();
  357 + expect(config.isEnabled()).andReturn(true);
  358 + replay(config, authenticator, Beans.class);
  359 +
  360 + setInternalState(context, "authenticator", authenticator);
  361 +
  362 + assertNull(context.getUser());
  363 + }
  364 +
  365 + @Test
  366 + public void testGetUserWhenSecurityIsEnabledAndUserIsNotNull() {
  367 + User user = createMock(User.class);
  368 +
  369 + Authenticator authenticator = createMock(Authenticator.class);
  370 + expect(authenticator.getUser()).andReturn(user).anyTimes();
  371 + expect(config.isEnabled()).andReturn(true).anyTimes();
  372 + replay(config, user, authenticator, Beans.class);
  373 +
  374 + setInternalState(context, "authenticator", authenticator);
  375 +
  376 + assertEquals(context.getUser(), user);
  377 + }
  378 +
  379 + class AuthenticatorImpl implements Authenticator {
  380 +
  381 + private static final long serialVersionUID = 1L;
  382 +
  383 + @Override
  384 + public boolean authenticate() {
  385 + return false;
  386 + }
  387 +
  388 + @Override
  389 + public void unAuthenticate() {
  390 + }
  391 +
  392 + @Override
  393 + public User getUser() {
  394 + return null;
  395 + }
  396 + }
  397 +}
... ...
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/TransactionContextImplTest.java
... ... @@ -64,59 +64,60 @@ public class TransactionContextImplTest {
64 64 private TransactionContext context;
65 65 private Transaction transaction;
66 66  
  67 + @Test
  68 + public void testGetTransactionNull() {
  69 + context = new TransactionContextImpl();
  70 +
  71 + Class<? extends Transaction> cache = TransactionImpl.class;
  72 +
  73 + List<Class<? extends Transaction>> cacheList = new ArrayList<Class<? extends Transaction>>();
  74 + cacheList.add(cache);
  75 +
  76 + TransactionBootstrap bootstrap = PowerMock.createMock(TransactionBootstrap.class);
  77 + TransactionConfig config = PowerMock.createMock(TransactionConfig.class);
  78 +
  79 + mockStatic(Beans.class);
  80 + expect(Beans.getReference(TransactionBootstrap.class)).andReturn(bootstrap).anyTimes();
  81 + expect(Beans.getReference(TransactionConfig.class)).andReturn(config);
  82 + expect(config.getTransactionClass()).andReturn(null).anyTimes();
  83 + expect(bootstrap.getCache()).andReturn(cacheList);
  84 + expect(Beans.getReference(TransactionImpl.class)).andReturn(new TransactionImpl());
  85 +
  86 + replayAll(Beans.class);
  87 +
  88 + transaction = context.getCurrentTransaction();
  89 + Assert.assertEquals(transaction.getClass(),TransactionImpl.class);
  90 + }
  91 +
67 92 class TransactionImpl implements Transaction{
68   -
  93 +
69 94 private static final long serialVersionUID = 1L;
70   -
  95 +
71 96 @Override
72 97 public boolean isActive() {
73 98 return false;
74 99 }
75   -
  100 +
76 101 @Override
77 102 public boolean isMarkedRollback() {
78 103 return false;
79 104 }
80   -
  105 +
81 106 @Override
82 107 public void begin() {
83 108 }
84   -
  109 +
85 110 @Override
86 111 public void commit() {
87 112 }
88   -
  113 +
89 114 @Override
90 115 public void rollback() {
91 116 }
92   -
  117 +
93 118 @Override
94 119 public void setRollbackOnly() {
95 120 }
96 121 }
97 122  
98   - @Test
99   - public void testGetTransactionNull() {
100   - context = new TransactionContextImpl();
101   -
102   - Class<? extends Transaction> cache = TransactionImpl.class;
103   -
104   - List<Class<? extends Transaction>> cacheList = new ArrayList<Class<? extends Transaction>>();
105   - cacheList.add(cache);
106   -
107   - TransactionBootstrap bootstrap = PowerMock.createMock(TransactionBootstrap.class);
108   - TransactionConfig config = PowerMock.createMock(TransactionConfig.class);
109   -
110   - mockStatic(Beans.class);
111   - expect(Beans.getReference(TransactionBootstrap.class)).andReturn(bootstrap).anyTimes();
112   - expect(Beans.getReference(TransactionConfig.class)).andReturn(config);
113   - expect(config.getTransactionClass()).andReturn(null).anyTimes();
114   - expect(bootstrap.getCache()).andReturn(cacheList);
115   - expect(Beans.getReference(TransactionImpl.class)).andReturn(new TransactionImpl());
116   -
117   - replayAll(Beans.class);
118   -
119   - transaction = context.getCurrentTransaction();
120   - Assert.assertNotNull(transaction);
121   - }
122 123 }
... ...
impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/QueryProxyTest.java
  1 +/*
  2 + * Demoiselle Framework
  3 + * Copyright (C) 2010 SERPRO
  4 + * ----------------------------------------------------------------------------
  5 + * This file is part of Demoiselle Framework.
  6 + *
  7 + * Demoiselle Framework is free software; you can redistribute it and/or
  8 + * modify it under the terms of the GNU Lesser General Public License version 3
  9 + * as published by the Free Software Foundation.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License version 3
  17 + * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 + * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 + * Fifth Floor, Boston, MA 02110-1301, USA.
  20 + * ----------------------------------------------------------------------------
  21 + * Este arquivo é parte do Framework Demoiselle.
  22 + *
  23 + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 + * do Software Livre (FSF).
  26 + *
  27 + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 + * para maiores detalhes.
  31 + *
  32 + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 + * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 + */
1 37 package br.gov.frameworkdemoiselle.internal.proxy;
2 38  
  39 +import static junit.framework.Assert.assertTrue;
  40 +import static org.easymock.EasyMock.expect;
  41 +import static org.junit.Assert.assertEquals;
  42 +import static org.powermock.api.easymock.PowerMock.replay;
  43 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  44 +
  45 +import java.util.ArrayList;
  46 +import java.util.Calendar;
3 47 import java.util.Collections;
4 48 import java.util.Date;
5 49 import java.util.HashMap;
... ... @@ -10,15 +54,13 @@ import javax.persistence.EntityManager;
10 54 import javax.persistence.EntityManagerFactory;
11 55 import javax.persistence.FlushModeType;
12 56 import javax.persistence.LockModeType;
13   -import javax.persistence.NoResultException;
  57 +import javax.persistence.Parameter;
14 58 import javax.persistence.Persistence;
15 59 import javax.persistence.Query;
16 60 import javax.persistence.TemporalType;
17 61  
18 62 import org.easymock.EasyMock;
19   -import org.junit.Assert;
20 63 import org.junit.Before;
21   -import org.junit.Ignore;
22 64 import org.junit.Test;
23 65 import org.junit.runner.RunWith;
24 66 import org.powermock.api.easymock.PowerMock;
... ... @@ -32,224 +74,221 @@ import br.gov.frameworkdemoiselle.util.Beans;
32 74  
33 75 /**
34 76 * Test the proxied {@link Query} class, {@link QueryProxy}.
  77 + *
35 78 * @author 81986912515
36   - *
37 79 */
38   -@Ignore
39 80 @RunWith(PowerMockRunner.class)
40   -@PrepareForTest({Beans.class})
  81 +@PrepareForTest({ Beans.class })
41 82 public class QueryProxyTest {
42   -
  83 +
43 84 private EntityManager manager;
  85 +
44 86 private EntityManagerProducer producer;
45   -
  87 +
  88 + private QueryProxy queryProxy;
  89 +
46 90 @Before
47   - public void setUp(){
48   -
  91 + public void setUp() {
  92 +
49 93 Map<String, Object> configOverrides = new HashMap<String, Object>();
50 94 configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence");
51   - configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:hsql:.");
  95 +
  96 + configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:mem:.");
  97 + configOverrides.put("javax.persistence.jdbc.driver", "org.hsqldb.jdbcDriver");
  98 + configOverrides.put("javax.persistence.jdbc.user", "sa");
  99 + configOverrides.put("javax.persistence.jdbc.password", "");
  100 +
52 101 configOverrides.put("hibernate.show_sql", "true");
53 102 configOverrides.put("hibernate.hbm2ddl.auto", "create-drop");
54   -
  103 +
55 104 EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides);
56 105 EntityManager delegate = factory.createEntityManager();
57   -
  106 +
58 107 Map<String, EntityManager> cache = Collections.synchronizedMap(new HashMap<String, EntityManager>());
59 108 cache.put("pu1", delegate);
60   -
  109 +
61 110 producer = new EntityManagerProducer();
62 111 Whitebox.setInternalState(producer, "cache", cache);
63   -
  112 +
64 113 PowerMock.mockStatic(Beans.class);
65   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(12);
  114 + EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).anyTimes();
66 115 PowerMock.replayAll();
67 116  
68 117 manager = new EntityManagerProxy("pu1");
69   -
70   - manager.getTransaction().begin();
71   - manager.createQuery("delete from Client").executeUpdate();
72   -
73   - Client client = new Client();
74   - client.setName("Cliente 1");
75   - client.setBirthDate(new Date());
76   - manager.persist(client);
77   -
78   - client = new Client();
79   - client.setName("Cliente 2");
80   - client.setBirthDate(new Date());
81   - manager.persist(client);
82   -
83   - client = new Client();
84   - client.setName("Cliente 3");
85   - client.setBirthDate(new Date());
86   - manager.persist(client);
87   -
88   - manager.flush();
89   - manager.getTransaction().commit();
90   - manager.clear();
91   -
92   - PowerMock.resetAll();
93 118 }
94   -
95   - private QueryProxy getQueryProxy(String jpql,Object... params){
96   - Query q = manager.createQuery(jpql);
97   - if (!(q instanceof QueryProxy)){
98   - Assert.fail("Query não é instância de QueryProxy");
99   - }
100   -
101   - if (params!=null){
102   - int count = 1;
103   - for (Object param : params){
104   - q.setParameter(count++, param);
105   - }
106   - }
107   -
108   - return (QueryProxy)q;
109   - }
110   -
  119 +
111 120 @Test
112   - public void testResultList(){
113   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
114   - PowerMock.replay(Beans.class);
115   -
116   - List<?> retorno = getQueryProxy("select c from Client c").getResultList();
117   - Assert.assertNotNull(retorno);
118   - Assert.assertFalse(retorno.isEmpty());
  121 + public void testGetResultList() {
  122 + Query queryDelegate = PowerMock.createMock(Query.class);
  123 + List<String> result = new ArrayList<String>();
  124 + result.add("x");
  125 + EasyMock.expect(queryDelegate.getResultList()).andReturn(result).anyTimes();
  126 +
  127 + replay(queryDelegate);
  128 +
  129 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  130 + queryProxy.getResultList();
  131 + assertEquals(queryProxy.getResultList().size(), queryDelegate.getResultList().size());
  132 +
  133 + verifyAll();
119 134 }
120   -
  135 +
121 136 @Test
122   - public void testSingleResult(){
123   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
124   - PowerMock.replay(Beans.class);
125   -
126   - Client retorno = (Client)getQueryProxy("select c from Client c where c.name=?1","Cliente 1").getSingleResult();
127   - Assert.assertNotNull(retorno);
  137 + public void testSingleResult() {
  138 + Query queryDelegate = PowerMock.createMock(Query.class);
  139 + String result = "Resultado";
  140 + EasyMock.expect(queryDelegate.getSingleResult()).andReturn(result).anyTimes();
  141 +
  142 + replay(queryDelegate);
  143 +
  144 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  145 + assertEquals(queryProxy.getSingleResult(), queryDelegate.getSingleResult());
  146 +
  147 + verifyAll();
128 148 }
129   -
  149 +
130 150 @Test
131   - public void testExecuteUpdate(){
132   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(4);
133   - PowerMock.replay(Beans.class);
134   -
135   - manager.getTransaction().begin();
136   - int linesAffected = getQueryProxy("update Client set name=?1 where name=?2","Novo Cliente","Cliente 1").executeUpdate();
137   - manager.getTransaction().commit();
138   - Assert.assertEquals(1, linesAffected);
  151 + public void testExecuteUpdate() {
  152 + Query queryDelegate = PowerMock.createMock(Query.class);
  153 + EasyMock.expect(queryDelegate.executeUpdate()).andReturn(1).anyTimes();
  154 +
  155 + replay(queryDelegate);
  156 +
  157 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  158 + assertEquals(queryProxy.executeUpdate(), 1);
  159 +
  160 + verifyAll();
139 161 }
140   -
  162 +
141 163 @Test
142   - public void testPagination(){
143   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
144   - PowerMock.replay(Beans.class);
145   -
146   - QueryProxy proxy = getQueryProxy("select c from Client c");
147   -
148   - proxy.setMaxResults(2);
149   - Assert.assertEquals(2, proxy.getMaxResults());
150   -
151   - proxy.setFirstResult(1);
152   - Assert.assertEquals(1, proxy.getFirstResult());
153   -
154   - List<?> result = proxy.getResultList();
155   - Assert.assertEquals(2, result.size());
  164 + public void testPagination() {
  165 + Query queryDelegate = PowerMock.createMock(Query.class);
  166 + expect(queryDelegate.getMaxResults()).andReturn(4).times(2);
  167 + expect(queryDelegate.getFirstResult()).andReturn(2).times(2);
  168 + expect(queryDelegate.setMaxResults(EasyMock.anyInt())).andReturn(queryDelegate);
  169 + expect(queryDelegate.setFirstResult(EasyMock.anyInt())).andReturn(queryDelegate);
  170 + replay(queryDelegate);
  171 +
  172 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  173 + queryProxy.setMaxResults(4);
  174 + queryProxy.setFirstResult(2);
  175 + assertEquals(queryProxy.getMaxResults(), queryDelegate.getMaxResults());
  176 + assertEquals(queryProxy.getFirstResult(), queryDelegate.getFirstResult());
  177 +
  178 + verifyAll();
156 179 }
157   -
  180 +
158 181 @Test
159   - public void testHint(){
160   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(14);
161   - PowerMock.replay(Beans.class);
162   -
163   - //Consulta um cliente definindo a hint readOnly, que torna a entidade retornada não atualizável.
164   - manager.getTransaction().begin();
165   - QueryProxy proxy = getQueryProxy("select c from Client c where c.name=?1","Cliente 1");
166   - proxy.setHint("org.hibernate.readOnly", true);
167   - Assert.assertFalse( proxy.getHints().isEmpty() );
168   -
169   - //Tenta atualizar a entidade e limpar o cache de primeiro nível
170   - Client c = (Client)proxy.getSingleResult();
171   - c.setName("Cliente 1 Alterado");
172   - manager.flush();
173   - manager.getTransaction().commit();
174   - manager.clear();
175   -
176   - //Reconsultar a entidade tem que retornar 1 resultado, pois o nome "Cliente 1" não deve ter sido alterado.
177   - manager.getTransaction().begin();
178   - proxy = getQueryProxy("select c from Client c where c.name=?1","Cliente 1");
179   - c = (Client)proxy.getSingleResult();
180   - Assert.assertNotNull(c);
181   -
182   - //Mudar a entidade agora tem que funcionar, pois não foi informado o hint
183   - c.setName("Cliente 1 Alterado");
184   - manager.flush();
185   - manager.getTransaction().commit();
186   - manager.clear();
187   -
188   - proxy = getQueryProxy("select c from Client c where c.name=?1","Cliente 1");
189   -
190   - try{
191   - proxy.getSingleResult();
192   - Assert.fail();
193   - }
194   - catch(NoResultException ne){
195   - }
196   -
197   - PowerMock.verifyAll();
  182 + public void testHint() {
  183 + Query queryDelegate = PowerMock.createMock(Query.class);
  184 + Map<String, Object> map = new HashMap<String, Object>();
  185 + Client client = new Client();
  186 + map.put("1", client);
  187 + expect(queryDelegate.getHints()).andReturn(map).times(2);
  188 + expect(queryDelegate.setHint(EasyMock.anyObject(String.class), EasyMock.anyObject())).andReturn(queryDelegate);
  189 + replay(queryDelegate);
  190 +
  191 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  192 + queryProxy.setHint("1", client);
  193 + assertEquals(queryProxy.getHints(), queryDelegate.getHints());
  194 +
  195 + verifyAll();
198 196 }
199   -
  197 +
  198 + @SuppressWarnings({ "unused", "rawtypes", "unchecked" })
200 199 @Test
201   - public void testParameters(){
202   -
203   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
204   - PowerMock.replay(Beans.class);
205   -
206   - QueryProxy proxy = getQueryProxy("select c.name from Client c where 'Named Parameter'=:name and c.birthDate=:dateName and c.name=?1 and c.birthDate=?2");
207   -
  200 + public void testParameters() {
  201 + Query queryDelegate = PowerMock.createMock(Query.class);
208 202 Date dateValue = new Date();
209   -
210   - proxy.setParameter("name", "Named Parameter");
211   - proxy.setParameter("dateName", dateValue, TemporalType.DATE);
212   -
213   - proxy.setParameter(1, "Cliente 1");
214   - proxy.setParameter(2, dateValue,TemporalType.DATE);
215   -
216   - Assert.assertEquals(proxy.getParameterValue("name"),"Named Parameter");
217   - Assert.assertEquals(proxy.getParameterValue(1), "Cliente 1");
218   -
219   - @SuppressWarnings("unchecked")
220   - List<Map<String, Object>> result = proxy.getResultList();
221   -
222   - Assert.assertNotNull(result);
223   - Assert.assertFalse(result.isEmpty());
224   -
225   - PowerMock.verifyAll();
  203 + Calendar calendar = PowerMock.createMock(Calendar.class);
  204 + Class<Date> type = Date.class;
  205 + Parameter parameter = PowerMock.createMock(Parameter.class);
  206 +
  207 + expect(queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(String.class)))
  208 + .andReturn(queryDelegate);
  209 + expect(queryDelegate.getParameterValue(EasyMock.anyObject(String.class))).andReturn("Named Parameter")
  210 + .anyTimes();
  211 + expect(queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(String.class)))
  212 + .andReturn(queryDelegate);
  213 + expect(queryDelegate.getParameterValue(EasyMock.anyInt())).andReturn("Client").anyTimes();
  214 + expect(
  215 + queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Date.class),
  216 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  217 + expect(
  218 + queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Date.class),
  219 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  220 + expect(queryDelegate.setParameter(EasyMock.anyObject(Parameter.class), EasyMock.anyObject())).andReturn(
  221 + queryDelegate);
  222 + expect(queryDelegate.getParameterValue(EasyMock.anyObject(Parameter.class))).andReturn(parameter).anyTimes();
  223 + expect(
  224 + queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Calendar.class),
  225 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  226 + expect(
  227 + queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Calendar.class),
  228 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  229 +
  230 + replay(queryDelegate, parameter, calendar);
  231 +
  232 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  233 + queryProxy.setParameter("name", "Named Parameter");
  234 + assertEquals(queryProxy.getParameterValue("name"), queryDelegate.getParameterValue("name"));
  235 + queryProxy.setParameter(1, "Client");
  236 + assertEquals(queryProxy.getParameterValue("1"), queryDelegate.getParameterValue("1"));
  237 + queryProxy.setParameter("dateName", dateValue, TemporalType.DATE);
  238 + queryProxy.setParameter(2, dateValue, TemporalType.DATE);
  239 + queryProxy.setParameter(parameter, "X");
  240 + queryProxy.getParameterValue(parameter);
  241 + assertEquals(queryProxy.getParameterValue(parameter), parameter);
  242 + queryProxy.setParameter("dateName", calendar, TemporalType.DATE);
  243 + queryProxy.setParameter(2, calendar, TemporalType.DATE);
  244 +
  245 + verifyAll();
  246 + }
  247 +
  248 + @SuppressWarnings("rawtypes")
  249 + @Test
  250 + public void testIsBound() {
  251 + Query queryDelegate = PowerMock.createMock(Query.class);
  252 + Parameter parameter = PowerMock.createMock(Parameter.class);
  253 + expect(queryDelegate.isBound(EasyMock.anyObject(Parameter.class))).andReturn(true);
  254 +
  255 + replay(queryDelegate, parameter);
  256 +
  257 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  258 + assertTrue(queryProxy.isBound(parameter));
  259 +
  260 + verifyAll();
226 261 }
227   -
  262 +
228 263 @Test
229   - public void testFlushMode(){
230   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(3);
231   - PowerMock.replay(Beans.class);
232   -
233   - manager.getTransaction().begin();
234   - QueryProxy proxy = getQueryProxy("update Client set name=?1 where name=?2","Cliente 1 Alterado","Cliente 1");
235   - proxy.setFlushMode(FlushModeType.COMMIT);
236   - Assert.assertEquals(proxy.getFlushMode(), FlushModeType.COMMIT);
237   - manager.getTransaction().commit();
238   -
239   - PowerMock.verifyAll();
  264 + public void testFlushMode() {
  265 + Query queryDelegate = PowerMock.createMock(Query.class);
  266 + FlushModeType flushModeType = FlushModeType.AUTO;
  267 +
  268 + expect(queryDelegate.setFlushMode(FlushModeType.AUTO)).andReturn(queryDelegate);
  269 + expect(queryDelegate.getFlushMode()).andReturn(flushModeType).anyTimes();
  270 +
  271 + replay(queryDelegate);
  272 +
  273 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  274 + queryProxy.setFlushMode(FlushModeType.AUTO);
  275 + assertEquals(queryProxy.getFlushMode(), queryDelegate.getFlushMode());
  276 + verifyAll();
240 277 }
241   -
  278 +
242 279 @Test
243   - public void testLockMode(){
244   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(4);
245   - PowerMock.replay(Beans.class);
246   -
247   - manager.getTransaction().begin();
248   - QueryProxy proxy = getQueryProxy("update Client set name=?1 where name=?2","Cliente 1 Alterado","Cliente 1");
249   - proxy.setLockMode(LockModeType.OPTIMISTIC);
250   - Assert.assertEquals(proxy.getLockMode(), LockModeType.OPTIMISTIC);
251   - manager.getTransaction().commit();
252   -
253   - PowerMock.verifyAll();
  280 + public void testLockMode() {
  281 + Query queryDelegate = PowerMock.createMock(Query.class);
  282 + LockModeType lockModeType = LockModeType.OPTIMISTIC;
  283 +
  284 + expect(queryDelegate.setLockMode(lockModeType)).andReturn(queryDelegate);
  285 + expect(queryDelegate.getLockMode()).andReturn(lockModeType).anyTimes();
  286 +
  287 + replay(queryDelegate);
  288 +
  289 + queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager);
  290 + queryProxy.setLockMode(lockModeType);
  291 + assertEquals(queryProxy.getLockMode(), queryDelegate.getLockMode());
  292 + verifyAll();
254 293 }
255 294 }
... ...
impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/TypedQueryProxyTest.java
1 1 package br.gov.frameworkdemoiselle.internal.proxy;
2 2  
  3 +import static junit.framework.Assert.assertTrue;
  4 +import static org.easymock.EasyMock.expect;
  5 +import static org.junit.Assert.assertEquals;
  6 +import static org.powermock.api.easymock.PowerMock.replay;
  7 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  8 +
  9 +import java.util.ArrayList;
  10 +import java.util.Calendar;
3 11 import java.util.Collections;
4 12 import java.util.Date;
5 13 import java.util.HashMap;
... ... @@ -10,16 +18,14 @@ import javax.persistence.EntityManager;
10 18 import javax.persistence.EntityManagerFactory;
11 19 import javax.persistence.FlushModeType;
12 20 import javax.persistence.LockModeType;
13   -import javax.persistence.NoResultException;
  21 +import javax.persistence.Parameter;
14 22 import javax.persistence.Persistence;
15 23 import javax.persistence.Query;
16 24 import javax.persistence.TemporalType;
17 25 import javax.persistence.TypedQuery;
18 26  
19 27 import org.easymock.EasyMock;
20   -import org.junit.Assert;
21 28 import org.junit.Before;
22   -import org.junit.Ignore;
23 29 import org.junit.Test;
24 30 import org.junit.runner.RunWith;
25 31 import org.powermock.api.easymock.PowerMock;
... ... @@ -33,212 +39,220 @@ import br.gov.frameworkdemoiselle.util.Beans;
33 39  
34 40 /**
35 41 * Test the proxied {@link Query} class, {@link TypedQueryProxy}.
  42 + *
36 43 * @author 81986912515
37   - *
  44 + * @param <X>
38 45 */
39   -@Ignore
  46 +
  47 +@SuppressWarnings("rawtypes")
40 48 @RunWith(PowerMockRunner.class)
41   -@PrepareForTest({Beans.class})
  49 +@PrepareForTest({ Beans.class })
42 50 public class TypedQueryProxyTest {
43   -
  51 +
44 52 private EntityManager manager;
  53 +
45 54 private EntityManagerProducer producer;
46   -
  55 +
  56 + private TypedQueryProxy typedQueryProxy;
  57 +
47 58 @Before
48   - public void setUp(){
49   -
  59 + public void setUp() {
  60 +
50 61 Map<String, Object> configOverrides = new HashMap<String, Object>();
51 62 configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence");
52   - configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:hsql:.");
  63 +
  64 + configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:mem:.");
  65 + configOverrides.put("javax.persistence.jdbc.driver", "org.hsqldb.jdbcDriver");
  66 + configOverrides.put("javax.persistence.jdbc.user", "sa");
  67 + configOverrides.put("javax.persistence.jdbc.password", "");
  68 +
53 69 configOverrides.put("hibernate.show_sql", "true");
54 70 configOverrides.put("hibernate.hbm2ddl.auto", "create-drop");
55   -
  71 +
56 72 EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides);
57 73 EntityManager delegate = factory.createEntityManager();
58   -
  74 +
59 75 Map<String, EntityManager> cache = Collections.synchronizedMap(new HashMap<String, EntityManager>());
60 76 cache.put("pu1", delegate);
61   -
  77 +
62 78 producer = new EntityManagerProducer();
63 79 Whitebox.setInternalState(producer, "cache", cache);
64   -
  80 +
65 81 PowerMock.mockStatic(Beans.class);
66   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(12);
  82 + EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).anyTimes();
67 83 PowerMock.replayAll();
68 84  
69 85 manager = new EntityManagerProxy("pu1");
70   -
71   - manager.getTransaction().begin();
72   - manager.createQuery("delete from Client").executeUpdate();
73   -
74   - Client client = new Client();
75   - client.setName("Cliente 1");
76   - client.setBirthDate(new Date());
77   - manager.persist(client);
78   -
79   - client = new Client();
80   - client.setName("Cliente 2");
81   - client.setBirthDate(new Date());
82   - manager.persist(client);
83   -
84   - client = new Client();
85   - client.setName("Cliente 3");
86   - client.setBirthDate(new Date());
87   - manager.persist(client);
88   -
89   - manager.flush();
90   - manager.getTransaction().commit();
91   - manager.clear();
92   -
93   - PowerMock.resetAll();
94   - }
95   -
96   - private <T> TypedQueryProxy<T> getQueryProxy(String jpql,Class<T> classType,Object... params){
97   - TypedQuery<T> q = manager.createQuery(jpql,classType);
98   - if (!(q instanceof TypedQueryProxy)){
99   - Assert.fail("Query não é instância de QueryProxy");
100   - }
101   -
102   - if (params!=null){
103   - int count = 1;
104   - for (Object param : params){
105   - q.setParameter(count++, param);
106   - }
107   - }
108   -
109   - return (TypedQueryProxy<T>)q;
  86 +
  87 + // PowerMock.resetAll();
110 88 }
111   -
  89 +
  90 + @SuppressWarnings("unchecked")
112 91 @Test
113   - public void testResultList(){
114   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
115   - PowerMock.replay(Beans.class);
116   -
117   - List<?> retorno = getQueryProxy("select c from Client c",Client.class).getResultList();
118   - Assert.assertNotNull(retorno);
119   - Assert.assertFalse(retorno.isEmpty());
  92 + public void testResultList() {
  93 +
  94 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  95 + List<String> result = new ArrayList<String>();
  96 + result.add("x");
  97 + EasyMock.expect(queryDelegate.getResultList()).andReturn(result).anyTimes();
  98 +
  99 + replay(queryDelegate);
  100 +
  101 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  102 + assertEquals(typedQueryProxy.getResultList().size(), queryDelegate.getResultList().size());
  103 +
  104 + verifyAll();
120 105 }
121   -
  106 +
  107 + @SuppressWarnings("unchecked")
122 108 @Test
123   - public void testSingleResult(){
124   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
125   - PowerMock.replay(Beans.class);
126   -
127   - Client retorno = (Client)getQueryProxy("select c from Client c where c.name=?1",Client.class,"Cliente 1").getSingleResult();
128   - Assert.assertNotNull(retorno);
  109 + public void testSingleResult() {
  110 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  111 + String result = "Resultado";
  112 + EasyMock.expect(queryDelegate.getSingleResult()).andReturn(result).anyTimes();
  113 +
  114 + replay(queryDelegate);
  115 +
  116 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  117 + assertEquals(typedQueryProxy.getSingleResult(), queryDelegate.getSingleResult());
  118 +
  119 + verifyAll();
129 120 }
130   -
  121 +
  122 + @SuppressWarnings("unchecked")
131 123 @Test
132   - public void testPagination(){
133   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
134   - PowerMock.replay(Beans.class);
135   -
136   - TypedQueryProxy<Client> proxy = getQueryProxy("select c from Client c",Client.class);
137   -
138   - proxy.setMaxResults(2);
139   - Assert.assertEquals(2, proxy.getMaxResults());
140   -
141   - proxy.setFirstResult(1);
142   - Assert.assertEquals(1, proxy.getFirstResult());
143   -
144   - List<?> result = proxy.getResultList();
145   - Assert.assertEquals(2, result.size());
  124 + public void testPagination() {
  125 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  126 + expect(queryDelegate.getMaxResults()).andReturn(4).times(2);
  127 + expect(queryDelegate.getFirstResult()).andReturn(2).times(2);
  128 + expect(queryDelegate.setMaxResults(EasyMock.anyInt())).andReturn(queryDelegate);
  129 + expect(queryDelegate.setFirstResult(EasyMock.anyInt())).andReturn(queryDelegate);
  130 + replay(queryDelegate);
  131 +
  132 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  133 + typedQueryProxy.setMaxResults(4);
  134 + typedQueryProxy.setFirstResult(2);
  135 + assertEquals(typedQueryProxy.getMaxResults(), queryDelegate.getMaxResults());
  136 + assertEquals(typedQueryProxy.getFirstResult(), queryDelegate.getFirstResult());
  137 +
  138 + verifyAll();
146 139 }
147   -
  140 +
  141 + @SuppressWarnings("unchecked")
148 142 @Test
149   - public void testHint(){
150   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(14);
151   - PowerMock.replay(Beans.class);
152   -
153   - //Consulta um cliente definindo a hint readOnly, que torna a entidade retornada não atualizável.
154   - manager.getTransaction().begin();
155   - TypedQueryProxy<Client> proxy = getQueryProxy("select c from Client c where c.name=?1",Client.class,"Cliente 1");
156   - proxy.setHint("org.hibernate.readOnly", true);
157   - Assert.assertFalse( proxy.getHints().isEmpty() );
158   -
159   - //Tenta atualizar a entidade e limpar o cache de primeiro nível
160   - Client c = (Client)proxy.getSingleResult();
161   - c.setName("Cliente 1 Alterado");
162   - manager.flush();
163   - manager.getTransaction().commit();
164   - manager.clear();
165   -
166   - //Reconsultar a entidade tem que retornar 1 resultado, pois o nome "Cliente 1" não deve ter sido alterado.
167   - manager.getTransaction().begin();
168   - proxy = getQueryProxy("select c from Client c where c.name=?1",Client.class,"Cliente 1");
169   - c = (Client)proxy.getSingleResult();
170   - Assert.assertNotNull(c);
171   -
172   - //Mudar a entidade agora tem que funcionar, pois não foi informado o hint
173   - c.setName("Cliente 1 Alterado");
174   - manager.flush();
175   - manager.getTransaction().commit();
176   - manager.clear();
177   -
178   - proxy = getQueryProxy("select c from Client c where c.name=?1",Client.class,"Cliente 1");
179   -
180   - try{
181   - proxy.getSingleResult();
182   - Assert.fail();
183   - }
184   - catch(NoResultException ne){
185   - }
186   -
187   - PowerMock.verifyAll();
  143 + public void testHint() {
  144 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  145 + Map<String, Object> map = new HashMap<String, Object>();
  146 + Client client = new Client();
  147 + map.put("1", client);
  148 + expect(queryDelegate.getHints()).andReturn(map).times(2);
  149 + expect(queryDelegate.setHint(EasyMock.anyObject(String.class), EasyMock.anyObject())).andReturn(queryDelegate);
  150 + replay(queryDelegate);
  151 +
  152 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  153 + typedQueryProxy.setHint("1", client);
  154 + assertEquals(typedQueryProxy.getHints(), queryDelegate.getHints());
  155 +
  156 + verifyAll();
188 157 }
189   -
  158 +
  159 + @SuppressWarnings({ "unchecked", "unused" })
190 160 @Test
191   - public void testParameters(){
192   -
193   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(2);
194   - PowerMock.replay(Beans.class);
195   -
196   - TypedQueryProxy<Client> proxy = getQueryProxy("select c from Client c where 'Named Parameter'=:name and c.birthDate=:dateName and c.name=?1 and c.birthDate=?2",Client.class);
197   -
  161 + public void testParameters() {
  162 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
198 163 Date dateValue = new Date();
199   -
200   - proxy.setParameter("name", "Named Parameter");
201   - proxy.setParameter("dateName", dateValue, TemporalType.DATE);
202   -
203   - proxy.setParameter(1, "Cliente 1");
204   - proxy.setParameter(2, dateValue,TemporalType.DATE);
205   -
206   - Assert.assertEquals(proxy.getParameterValue("name"),"Named Parameter");
207   - Assert.assertEquals(proxy.getParameterValue(1), "Cliente 1");
208   -
209   - List<Client> result = proxy.getResultList();
210   -
211   - Assert.assertNotNull(result);
212   - Assert.assertFalse(result.isEmpty());
213   -
214   - PowerMock.verifyAll();
  164 + Calendar calendar = PowerMock.createMock(Calendar.class);
  165 + Class<Date> type = Date.class;
  166 + Parameter parameter = PowerMock.createMock(Parameter.class);
  167 +
  168 + expect(queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(String.class)))
  169 + .andReturn(queryDelegate);
  170 + expect(queryDelegate.getParameterValue(EasyMock.anyObject(String.class))).andReturn("Named Parameter")
  171 + .anyTimes();
  172 + expect(queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(String.class)))
  173 + .andReturn(queryDelegate);
  174 + expect(queryDelegate.getParameterValue(EasyMock.anyInt())).andReturn("Client").anyTimes();
  175 + expect(
  176 + queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Date.class),
  177 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  178 + expect(
  179 + queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Date.class),
  180 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  181 + expect(queryDelegate.setParameter(EasyMock.anyObject(Parameter.class), EasyMock.anyObject())).andReturn(
  182 + queryDelegate);
  183 + expect(queryDelegate.getParameterValue(EasyMock.anyObject(Parameter.class))).andReturn(parameter).anyTimes();
  184 + expect(
  185 + queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Calendar.class),
  186 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  187 + expect(
  188 + queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Calendar.class),
  189 + EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate);
  190 +
  191 + replay(queryDelegate, parameter, calendar);
  192 +
  193 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  194 + typedQueryProxy.setParameter("name", "Named Parameter");
  195 + assertEquals(typedQueryProxy.getParameterValue("name"), queryDelegate.getParameterValue("name"));
  196 + typedQueryProxy.setParameter(1, "Client");
  197 + assertEquals(typedQueryProxy.getParameterValue("1"), queryDelegate.getParameterValue("1"));
  198 + typedQueryProxy.setParameter("dateName", dateValue, TemporalType.DATE);
  199 + typedQueryProxy.setParameter(2, dateValue, TemporalType.DATE);
  200 + typedQueryProxy.setParameter(parameter, "X");
  201 + typedQueryProxy.getParameterValue(parameter);
  202 + assertEquals(typedQueryProxy.getParameterValue(parameter), parameter);
  203 + typedQueryProxy.setParameter("dateName", calendar, TemporalType.DATE);
  204 + typedQueryProxy.setParameter(2, calendar, TemporalType.DATE);
  205 +
  206 + verifyAll();
  207 + }
  208 +
  209 + @SuppressWarnings("unchecked")
  210 + @Test
  211 + public void testIsBound() {
  212 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  213 + Parameter parameter = PowerMock.createMock(Parameter.class);
  214 + expect(queryDelegate.isBound(EasyMock.anyObject(Parameter.class))).andReturn(true);
  215 +
  216 + replay(queryDelegate, parameter);
  217 +
  218 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  219 + assertTrue(typedQueryProxy.isBound(parameter));
  220 +
  221 + verifyAll();
215 222 }
216   -
  223 +
  224 + @SuppressWarnings("unchecked")
217 225 @Test
218   - public void testFlushMode(){
219   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(3);
220   - PowerMock.replay(Beans.class);
221   -
222   - manager.getTransaction().begin();
223   - TypedQueryProxy<Client> proxy = getQueryProxy("select c from Client c where c.name=?1",Client.class,"Cliente 1");
224   - proxy.setFlushMode(FlushModeType.COMMIT);
225   - Assert.assertEquals(proxy.getFlushMode(), FlushModeType.COMMIT);
226   - manager.getTransaction().commit();
227   -
228   - PowerMock.verifyAll();
  226 + public void testFlushMode() {
  227 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  228 + FlushModeType flushModeType = FlushModeType.AUTO;
  229 +
  230 + expect(queryDelegate.setFlushMode(FlushModeType.AUTO)).andReturn(queryDelegate);
  231 + expect(queryDelegate.getFlushMode()).andReturn(flushModeType).anyTimes();
  232 +
  233 + replay(queryDelegate);
  234 +
  235 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  236 + typedQueryProxy.setFlushMode(FlushModeType.AUTO);
  237 + assertEquals(typedQueryProxy.getFlushMode(), queryDelegate.getFlushMode());
  238 + verifyAll();
229 239 }
230   -
  240 +
  241 + @SuppressWarnings("unchecked")
231 242 @Test
232   - public void testLockMode(){
233   - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).times(3);
234   - PowerMock.replay(Beans.class);
235   -
236   - manager.getTransaction().begin();
237   - TypedQueryProxy<Client> proxy = getQueryProxy("select c from Client c where c.name=?1",Client.class,"Cliente 1");
238   - proxy.setLockMode(LockModeType.OPTIMISTIC);
239   - Assert.assertEquals(proxy.getLockMode(), LockModeType.OPTIMISTIC);
240   - manager.getTransaction().commit();
241   -
242   - PowerMock.verifyAll();
  243 + public void testLockMode() {
  244 + TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class);
  245 + LockModeType lockModeType = LockModeType.OPTIMISTIC;
  246 +
  247 + expect(queryDelegate.setLockMode(lockModeType)).andReturn(queryDelegate);
  248 + expect(queryDelegate.getLockMode()).andReturn(lockModeType).anyTimes();
  249 +
  250 + replay(queryDelegate);
  251 +
  252 + typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager);
  253 + typedQueryProxy.setLockMode(lockModeType);
  254 + assertEquals(typedQueryProxy.getLockMode(), queryDelegate.getLockMode());
  255 + verifyAll();
243 256 }
  257 +
244 258 }
... ...
impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrapTest.java
... ... @@ -39,27 +39,20 @@ package br.gov.frameworkdemoiselle.internal.bootstrap;
39 39 import static org.easymock.EasyMock.expect;
40 40 import static org.powermock.api.easymock.PowerMock.createMock;
41 41 import static org.powermock.api.easymock.PowerMock.mockStatic;
42   -import static org.powermock.api.easymock.PowerMock.replayAll;
43 42 import static org.powermock.api.easymock.PowerMock.replay;
44 43 import static org.powermock.api.easymock.PowerMock.verifyAll;
45   -import static org.powermock.api.easymock.PowerMock.verify;
46 44  
47   -import java.lang.annotation.Annotation;
48 45 import java.util.ArrayList;
49 46 import java.util.List;
50 47 import java.util.Locale;
51 48  
52   -import javax.enterprise.context.spi.Contextual;
53   -import javax.enterprise.context.spi.CreationalContext;
54 49 import javax.enterprise.inject.spi.AfterBeanDiscovery;
55 50 import javax.enterprise.inject.spi.AfterDeploymentValidation;
56 51  
57 52 import junit.framework.Assert;
58 53  
59   -import org.easymock.EasyMock;
60 54 import org.junit.Before;
61 55 import org.junit.Test;
62   -import org.junit.rules.TemporaryFolder;
63 56 import org.junit.runner.RunWith;
64 57 import org.powermock.core.classloader.annotations.PrepareForTest;
65 58 import org.powermock.modules.junit4.PowerMockRunner;
... ...
impl/extension/se/src/main/java/br/gov/frameworkdemoiselle/internal/producer/SeLocaleProducer.java
  1 +/*
  2 + * Demoiselle Framework
  3 + * Copyright (C) 2010 SERPRO
  4 + * ----------------------------------------------------------------------------
  5 + * This file is part of Demoiselle Framework.
  6 + *
  7 + * Demoiselle Framework is free software; you can redistribute it and/or
  8 + * modify it under the terms of the GNU Lesser General Public License version 3
  9 + * as published by the Free Software Foundation.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License version 3
  17 + * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 + * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 + * Fifth Floor, Boston, MA 02110-1301, USA.
  20 + * ----------------------------------------------------------------------------
  21 + * Este arquivo é parte do Framework Demoiselle.
  22 + *
  23 + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 + * do Software Livre (FSF).
  26 + *
  27 + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 + * para maiores detalhes.
  31 + *
  32 + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 + * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 + */
1 37 package br.gov.frameworkdemoiselle.internal.producer;
2 38  
3 39 import java.util.Locale;
... ...
impl/extension/se/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/SeBootstrapTest.java 0 → 100644
... ... @@ -0,0 +1,102 @@
  1 +/*
  2 + * Demoiselle Framework
  3 + * Copyright (C) 2010 SERPRO
  4 + * ----------------------------------------------------------------------------
  5 + * This file is part of Demoiselle Framework.
  6 + *
  7 + * Demoiselle Framework is free software; you can redistribute it and/or
  8 + * modify it under the terms of the GNU Lesser General Public License version 3
  9 + * as published by the Free Software Foundation.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License version 3
  17 + * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 + * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 + * Fifth Floor, Boston, MA 02110-1301, USA.
  20 + * ----------------------------------------------------------------------------
  21 + * Este arquivo é parte do Framework Demoiselle.
  22 + *
  23 + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 + * do Software Livre (FSF).
  26 + *
  27 + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 + * para maiores detalhes.
  31 + *
  32 + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 + * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 + */
  37 +package br.gov.frameworkdemoiselle.internal.bootstrap;
  38 +
  39 +import static org.easymock.EasyMock.expect;
  40 +import static org.powermock.api.easymock.PowerMock.createMock;
  41 +import static org.powermock.api.easymock.PowerMock.mockStatic;
  42 +import static org.powermock.api.easymock.PowerMock.replay;
  43 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  44 +
  45 +import java.util.List;
  46 +import java.util.Locale;
  47 +
  48 +import javax.enterprise.inject.spi.AfterBeanDiscovery;
  49 +
  50 +import junit.framework.Assert;
  51 +
  52 +import org.junit.Before;
  53 +import org.junit.Test;
  54 +import org.junit.runner.RunWith;
  55 +import org.powermock.core.classloader.annotations.PrepareForTest;
  56 +import org.powermock.modules.junit4.PowerMockRunner;
  57 +import org.powermock.reflect.Whitebox;
  58 +
  59 +import br.gov.frameworkdemoiselle.internal.context.Contexts;
  60 +import br.gov.frameworkdemoiselle.internal.context.CustomContext;
  61 +import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess;
  62 +import br.gov.frameworkdemoiselle.util.Beans;
  63 +
  64 +@RunWith(PowerMockRunner.class)
  65 +@PrepareForTest({ Beans.class, Contexts.class })
  66 +public class SeBootstrapTest {
  67 +
  68 + private SeBootstrap seBootstrap;
  69 +
  70 + private AfterBeanDiscovery event;
  71 +
  72 + @Before
  73 + public void before() {
  74 + event = createMock(AfterBeanDiscovery.class);
  75 + mockStatic(Beans.class);
  76 + expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()).anyTimes();
  77 + replay(Beans.class);
  78 + seBootstrap = new SeBootstrap();
  79 + }
  80 +
  81 + @Test
  82 + public void testStoreContext() {
  83 + seBootstrap.storeContexts(event);
  84 + replay(event);
  85 +
  86 + Assert.assertEquals(event, Whitebox.getInternalState(seBootstrap, "afterBeanDiscoveryEvent"));
  87 + List<CustomContext> context = Whitebox.getInternalState(seBootstrap, "tempContexts");
  88 + Assert.assertEquals(4, context.size());
  89 + verifyAll();
  90 + }
  91 +
  92 + @Test
  93 + public void testRemoveContexts() {
  94 + seBootstrap.storeContexts(event);
  95 +
  96 + AfterShutdownProccess afterShutdownProccess = createMock(AfterShutdownProccess.class);
  97 + replay(event, afterShutdownProccess);
  98 + seBootstrap.removeContexts(afterShutdownProccess);
  99 +
  100 + verifyAll();
  101 + }
  102 +}
... ...
impl/extension/se/src/test/java/br/gov/frameworkdemoiselle/internal/producer/SeLocaleProducerTest.java
  1 +/*
  2 + * Demoiselle Framework
  3 + * Copyright (C) 2010 SERPRO
  4 + * ----------------------------------------------------------------------------
  5 + * This file is part of Demoiselle Framework.
  6 + *
  7 + * Demoiselle Framework is free software; you can redistribute it and/or
  8 + * modify it under the terms of the GNU Lesser General Public License version 3
  9 + * as published by the Free Software Foundation.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License version 3
  17 + * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 + * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 + * Fifth Floor, Boston, MA 02110-1301, USA.
  20 + * ----------------------------------------------------------------------------
  21 + * Este arquivo é parte do Framework Demoiselle.
  22 + *
  23 + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 + * do Software Livre (FSF).
  26 + *
  27 + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 + * para maiores detalhes.
  31 + *
  32 + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 + * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 + */
1 37 package br.gov.frameworkdemoiselle.internal.producer;
2   -import org.junit.Ignore;
  38 +
3 39 import java.util.Locale;
4 40  
5 41 import junit.framework.Assert;
... ... @@ -10,11 +46,7 @@ public class SeLocaleProducerTest {
10 46  
11 47 @Test
12 48 public void testCreate() {
13   -
14 49 Locale locale = (new SeLocaleProducer()).create();
15   -
16 50 Assert.assertNotNull(locale);
17   -
18 51 }
19   -
20 52 }
... ...
impl/extension/servlet/pom.xml
... ... @@ -71,6 +71,11 @@
71 71 <groupId>javax.servlet</groupId>
72 72 <artifactId>servlet-api</artifactId>
73 73 </dependency>
  74 + <dependency>
  75 + <groupId>javax.el</groupId>
  76 + <artifactId>el-api</artifactId>
  77 + <scope>test</scope>
  78 + </dependency>
74 79 </dependencies>
75 80  
76 81 <repositories>
... ...
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxy.java
... ... @@ -1,307 +0,0 @@
1   -//package br.gov.frameworkdemoiselle.internal.proxy;
2   -//
3   -//import java.io.BufferedReader;
4   -//import java.io.IOException;
5   -//import java.io.Serializable;
6   -//import java.io.UnsupportedEncodingException;
7   -//import java.security.Principal;
8   -//import java.util.Enumeration;
9   -//import java.util.Locale;
10   -//import java.util.Map;
11   -//
12   -//import javax.enterprise.context.RequestScoped;
13   -//import javax.enterprise.inject.Default;
14   -//import javax.servlet.RequestDispatcher;
15   -//import javax.servlet.ServletInputStream;
16   -//import javax.servlet.http.Cookie;
17   -//import javax.servlet.http.HttpServletRequest;
18   -//import javax.servlet.http.HttpSession;
19   -//
20   -//@Default
21   -//@RequestScoped
22   -//public class HttpServletRequestProxy implements HttpServletRequest, Serializable {
23   -//
24   -// private static final long serialVersionUID = 1L;
25   -//
26   -// private transient HttpServletRequest delegate;
27   -//
28   -// public HttpServletRequestProxy(HttpServletRequest delegate) {
29   -// this.delegate = delegate;
30   -// }
31   -//
32   -// private HttpServletRequest getDelegate() {
33   -// return delegate;
34   -// }
35   -//
36   -// @Override
37   -// public Object getAttribute(String name) {
38   -// return getDelegate().getAttribute(name);
39   -// }
40   -//
41   -// @Override
42   -// public Enumeration<?> getAttributeNames() {
43   -// return getDelegate().getAttributeNames();
44   -// }
45   -//
46   -// @Override
47   -// public String getCharacterEncoding() {
48   -// return getDelegate().getCharacterEncoding();
49   -// }
50   -//
51   -// @Override
52   -// public void setCharacterEncoding(String env) throws UnsupportedEncodingException {
53   -// getDelegate().setCharacterEncoding(env);
54   -// }
55   -//
56   -// @Override
57   -// public int getContentLength() {
58   -// return getDelegate().getContentLength();
59   -// }
60   -//
61   -// @Override
62   -// public String getContentType() {
63   -// return getDelegate().getContentType();
64   -// }
65   -//
66   -// @Override
67   -// public ServletInputStream getInputStream() throws IOException {
68   -// return getDelegate().getInputStream();
69   -// }
70   -//
71   -// @Override
72   -// public String getParameter(String name) {
73   -// return getDelegate().getParameter(name);
74   -// }
75   -//
76   -// @Override
77   -// public Enumeration<?> getParameterNames() {
78   -// return getDelegate().getParameterNames();
79   -// }
80   -//
81   -// @Override
82   -// public String[] getParameterValues(String name) {
83   -// return getDelegate().getParameterValues(name);
84   -// }
85   -//
86   -// @Override
87   -// public Map<?, ?> getParameterMap() {
88   -// return getDelegate().getParameterMap();
89   -// }
90   -//
91   -// @Override
92   -// public String getProtocol() {
93   -// return getDelegate().getProtocol();
94   -// }
95   -//
96   -// @Override
97   -// public String getScheme() {
98   -// return getDelegate().getScheme();
99   -// }
100   -//
101   -// @Override
102   -// public String getServerName() {
103   -// return getDelegate().getServerName();
104   -// }
105   -//
106   -// @Override
107   -// public int getServerPort() {
108   -// return getDelegate().getServerPort();
109   -// }
110   -//
111   -// @Override
112   -// public BufferedReader getReader() throws IOException {
113   -// return getDelegate().getReader();
114   -// }
115   -//
116   -// @Override
117   -// public String getRemoteAddr() {
118   -// return getDelegate().getRemoteAddr();
119   -// }
120   -//
121   -// @Override
122   -// public String getRemoteHost() {
123   -// return getDelegate().getRemoteHost();
124   -// }
125   -//
126   -// @Override
127   -// public void setAttribute(String name, Object o) {
128   -// getDelegate().setAttribute(name, o);
129   -// }
130   -//
131   -// @Override
132   -// public void removeAttribute(String name) {
133   -// getDelegate().removeAttribute(name);
134   -// }
135   -//
136   -// @Override
137   -// public Locale getLocale() {
138   -// return getDelegate().getLocale();
139   -// }
140   -//
141   -// @Override
142   -// public Enumeration<?> getLocales() {
143   -// return getDelegate().getLocales();
144   -// }
145   -//
146   -// @Override
147   -// public boolean isSecure() {
148   -// return getDelegate().isSecure();
149   -// }
150   -//
151   -// @Override
152   -// public RequestDispatcher getRequestDispatcher(String path) {
153   -// return getDelegate().getRequestDispatcher(path);
154   -// }
155   -//
156   -// @Override
157   -// @Deprecated
158   -// public String getRealPath(String path) {
159   -// return getDelegate().getRealPath(path);
160   -// }
161   -//
162   -// @Override
163   -// public int getRemotePort() {
164   -// return getDelegate().getRemotePort();
165   -// }
166   -//
167   -// @Override
168   -// public String getLocalName() {
169   -// return getDelegate().getLocalName();
170   -// }
171   -//
172   -// @Override
173   -// public String getLocalAddr() {
174   -// return getDelegate().getLocalAddr();
175   -// }
176   -//
177   -// @Override
178   -// public int getLocalPort() {
179   -// return getDelegate().getLocalPort();
180   -// }
181   -//
182   -// @Override
183   -// public String getAuthType() {
184   -// return getDelegate().getAuthType();
185   -// }
186   -//
187   -// @Override
188   -// public Cookie[] getCookies() {
189   -// return getDelegate().getCookies();
190   -// }
191   -//
192   -// @Override
193   -// public long getDateHeader(String name) {
194   -// return getDelegate().getDateHeader(name);
195   -// }
196   -//
197   -// @Override
198   -// public String getHeader(String name) {
199   -// return getDelegate().getHeader(name);
200   -// }
201   -//
202   -// @Override
203   -// public Enumeration<?> getHeaders(String name) {
204   -// return getDelegate().getHeaders(name);
205   -// }
206   -//
207   -// @Override
208   -// public Enumeration<?> getHeaderNames() {
209   -// return getDelegate().getHeaderNames();
210   -// }
211   -//
212   -// @Override
213   -// public int getIntHeader(String name) {
214   -// return getDelegate().getIntHeader(name);
215   -// }
216   -//
217   -// @Override
218   -// public String getMethod() {
219   -// return getDelegate().getMethod();
220   -// }
221   -//
222   -// @Override
223   -// public String getPathInfo() {
224   -// return getDelegate().getPathInfo();
225   -// }
226   -//
227   -// @Override
228   -// public String getPathTranslated() {
229   -// return getDelegate().getPathTranslated();
230   -// }
231   -//
232   -// @Override
233   -// public String getContextPath() {
234   -// return getDelegate().getContextPath();
235   -// }
236   -//
237   -// @Override
238   -// public String getQueryString() {
239   -// return getDelegate().getQueryString();
240   -// }
241   -//
242   -// @Override
243   -// public String getRemoteUser() {
244   -// return getDelegate().getRemoteUser();
245   -// }
246   -//
247   -// @Override
248   -// public boolean isUserInRole(String role) {
249   -// return getDelegate().isUserInRole(role);
250   -// }
251   -//
252   -// @Override
253   -// public Principal getUserPrincipal() {
254   -// return getDelegate().getUserPrincipal();
255   -// }
256   -//
257   -// @Override
258   -// public String getRequestedSessionId() {
259   -// return getDelegate().getRequestedSessionId();
260   -// }
261   -//
262   -// @Override
263   -// public String getRequestURI() {
264   -// return getDelegate().getRequestURI();
265   -// }
266   -//
267   -// @Override
268   -// public StringBuffer getRequestURL() {
269   -// return getDelegate().getRequestURL();
270   -// }
271   -//
272   -// @Override
273   -// public String getServletPath() {
274   -// return getDelegate().getServletPath();
275   -// }
276   -//
277   -// @Override
278   -// public HttpSession getSession(boolean create) {
279   -// return getDelegate().getSession(create);
280   -// }
281   -//
282   -// @Override
283   -// public HttpSession getSession() {
284   -// return getDelegate().getSession();
285   -// }
286   -//
287   -// @Override
288   -// public boolean isRequestedSessionIdValid() {
289   -// return getDelegate().isRequestedSessionIdValid();
290   -// }
291   -//
292   -// @Override
293   -// public boolean isRequestedSessionIdFromCookie() {
294   -// return getDelegate().isRequestedSessionIdFromCookie();
295   -// }
296   -//
297   -// @Override
298   -// public boolean isRequestedSessionIdFromURL() {
299   -// return getDelegate().isRequestedSessionIdFromURL();
300   -// }
301   -//
302   -// @Override
303   -// @Deprecated
304   -// public boolean isRequestedSessionIdFromUrl() {
305   -// return getDelegate().isRequestedSessionIdFromUrl();
306   -// }
307   -//}
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletResponseProxy.java
... ... @@ -1,192 +0,0 @@
1   -//package br.gov.frameworkdemoiselle.internal.proxy;
2   -//
3   -//import java.io.IOException;
4   -//import java.io.PrintWriter;
5   -//import java.io.Serializable;
6   -//import java.util.Locale;
7   -//
8   -//import javax.enterprise.context.RequestScoped;
9   -//import javax.enterprise.inject.Default;
10   -//import javax.servlet.ServletOutputStream;
11   -//import javax.servlet.http.Cookie;
12   -//import javax.servlet.http.HttpServletResponse;
13   -//
14   -//@Default
15   -//@RequestScoped
16   -//public class HttpServletResponseProxy implements HttpServletResponse, Serializable {
17   -//
18   -// private static final long serialVersionUID = 1L;
19   -//
20   -// private transient HttpServletResponse delegate;
21   -//
22   -// public HttpServletResponseProxy(HttpServletResponse delegate) {
23   -// this.delegate = delegate;
24   -// }
25   -//
26   -// private HttpServletResponse getDelegate() {
27   -// return delegate;
28   -// }
29   -//
30   -// @Override
31   -// public String getCharacterEncoding() {
32   -// return getDelegate().getCharacterEncoding();
33   -// }
34   -//
35   -// @Override
36   -// public String getContentType() {
37   -// return getDelegate().getContentType();
38   -// }
39   -//
40   -// @Override
41   -// public ServletOutputStream getOutputStream() throws IOException {
42   -// return getDelegate().getOutputStream();
43   -// }
44   -//
45   -// @Override
46   -// public PrintWriter getWriter() throws IOException {
47   -// return getDelegate().getWriter();
48   -// }
49   -//
50   -// @Override
51   -// public void setCharacterEncoding(String charset) {
52   -// getDelegate().setCharacterEncoding(charset);
53   -// }
54   -//
55   -// @Override
56   -// public void setContentLength(int len) {
57   -// getDelegate().setContentLength(len);
58   -// }
59   -//
60   -// @Override
61   -// public void setContentType(String type) {
62   -// getDelegate().setContentType(type);
63   -// }
64   -//
65   -// @Override
66   -// public void setBufferSize(int size) {
67   -// getDelegate().setBufferSize(size);
68   -// }
69   -//
70   -// @Override
71   -// public int getBufferSize() {
72   -// return getDelegate().getBufferSize();
73   -// }
74   -//
75   -// @Override
76   -// public void flushBuffer() throws IOException {
77   -// getDelegate().flushBuffer();
78   -// }
79   -//
80   -// @Override
81   -// public void resetBuffer() {
82   -// getDelegate().resetBuffer();
83   -// }
84   -//
85   -// @Override
86   -// public boolean isCommitted() {
87   -// return getDelegate().isCommitted();
88   -// }
89   -//
90   -// @Override
91   -// public void reset() {
92   -// getDelegate().reset();
93   -// }
94   -//
95   -// @Override
96   -// public void setLocale(Locale loc) {
97   -// getDelegate().setLocale(loc);
98   -// }
99   -//
100   -// @Override
101   -// public Locale getLocale() {
102   -// return getDelegate().getLocale();
103   -// }
104   -//
105   -// @Override
106   -// public void addCookie(Cookie cookie) {
107   -// getDelegate().addCookie(cookie);
108   -// }
109   -//
110   -// @Override
111   -// public boolean containsHeader(String name) {
112   -// return getDelegate().containsHeader(name);
113   -// }
114   -//
115   -// @Override
116   -// public String encodeURL(String url) {
117   -// return getDelegate().encodeURL(url);
118   -// }
119   -//
120   -// @Override
121   -// public String encodeRedirectURL(String url) {
122   -// return getDelegate().encodeRedirectURL(url);
123   -// }
124   -//
125   -// @Override
126   -// @Deprecated
127   -// public String encodeUrl(String url) {
128   -// return getDelegate().encodeUrl(url);
129   -// }
130   -//
131   -// @Override
132   -// @Deprecated
133   -// public String encodeRedirectUrl(String url) {
134   -// return getDelegate().encodeRedirectUrl(url);
135   -// }
136   -//
137   -// @Override
138   -// public void sendError(int sc, String msg) throws IOException {
139   -// getDelegate().sendError(sc, msg);
140   -// }
141   -//
142   -// @Override
143   -// public void sendError(int sc) throws IOException {
144   -// getDelegate().sendError(sc);
145   -// }
146   -//
147   -// @Override
148   -// public void sendRedirect(String location) throws IOException {
149   -// getDelegate().sendRedirect(location);
150   -// }
151   -//
152   -// @Override
153   -// public void setDateHeader(String name, long date) {
154   -// getDelegate().setDateHeader(name, date);
155   -// }
156   -//
157   -// @Override
158   -// public void addDateHeader(String name, long date) {
159   -// getDelegate().addDateHeader(name, date);
160   -// }
161   -//
162   -// @Override
163   -// public void setHeader(String name, String value) {
164   -// getDelegate().setHeader(name, value);
165   -// }
166   -//
167   -// @Override
168   -// public void addHeader(String name, String value) {
169   -// getDelegate().addHeader(name, value);
170   -// }
171   -//
172   -// @Override
173   -// public void setIntHeader(String name, int value) {
174   -// getDelegate().setIntHeader(name, value);
175   -// }
176   -//
177   -// @Override
178   -// public void addIntHeader(String name, int value) {
179   -// getDelegate().addIntHeader(name, value);
180   -// }
181   -//
182   -// @Override
183   -// public void setStatus(int sc) {
184   -// getDelegate().setStatus(sc);
185   -// }
186   -//
187   -// @Override
188   -// @Deprecated
189   -// public void setStatus(int sc, String sm) {
190   -// getDelegate().setStatus(sc, sm);
191   -// }
192   -//}
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpSessionProxy.java
... ... @@ -1,118 +0,0 @@
1   -//package br.gov.frameworkdemoiselle.internal.proxy;
2   -//
3   -//import java.io.Serializable;
4   -//import java.util.Enumeration;
5   -//
6   -//import javax.enterprise.context.SessionScoped;
7   -//import javax.enterprise.inject.Default;
8   -//import javax.servlet.ServletContext;
9   -//import javax.servlet.http.HttpSession;
10   -//import javax.servlet.http.HttpSessionContext;
11   -//
12   -//@Default
13   -//@SessionScoped
14   -//@SuppressWarnings("deprecation")
15   -//public class HttpSessionProxy implements HttpSession, Serializable {
16   -//
17   -// private static final long serialVersionUID = 1L;
18   -//
19   -// private transient HttpSession delegate;
20   -//
21   -// public HttpSessionProxy(HttpSession delegate) {
22   -// this.delegate = delegate;
23   -// }
24   -//
25   -// private HttpSession getDelegate() {
26   -// return delegate;
27   -// }
28   -//
29   -// @Override
30   -// public long getCreationTime() {
31   -// return getDelegate().getCreationTime();
32   -// }
33   -//
34   -// @Override
35   -// public String getId() {
36   -// return getDelegate().getId();
37   -// }
38   -//
39   -// @Override
40   -// public long getLastAccessedTime() {
41   -// return getDelegate().getLastAccessedTime();
42   -// }
43   -//
44   -// @Override
45   -// public ServletContext getServletContext() {
46   -// return getDelegate().getServletContext();
47   -// }
48   -//
49   -// @Override
50   -// public void setMaxInactiveInterval(int interval) {
51   -// getDelegate().setMaxInactiveInterval(interval);
52   -// }
53   -//
54   -// @Override
55   -// public int getMaxInactiveInterval() {
56   -// return getDelegate().getMaxInactiveInterval();
57   -// }
58   -//
59   -// @Override
60   -// @Deprecated
61   -// public HttpSessionContext getSessionContext() {
62   -// return getDelegate().getSessionContext();
63   -// }
64   -//
65   -// @Override
66   -// public Object getAttribute(String name) {
67   -// return getDelegate().getAttribute(name);
68   -// }
69   -//
70   -// @Override
71   -// @Deprecated
72   -// public Object getValue(String name) {
73   -// return getDelegate().getValue(name);
74   -// }
75   -//
76   -// @Override
77   -// public Enumeration<?> getAttributeNames() {
78   -// return getDelegate().getAttributeNames();
79   -// }
80   -//
81   -// @Override
82   -// @Deprecated
83   -// public String[] getValueNames() {
84   -// return getDelegate().getValueNames();
85   -// }
86   -//
87   -// @Override
88   -// public void setAttribute(String name, Object value) {
89   -// getDelegate().setAttribute(name, value);
90   -// }
91   -//
92   -// @Override
93   -// @Deprecated
94   -// public void putValue(String name, Object value) {
95   -// getDelegate().putValue(name, value);
96   -// }
97   -//
98   -// @Override
99   -// public void removeAttribute(String name) {
100   -// getDelegate().removeAttribute(name);
101   -// }
102   -//
103   -// @Override
104   -// @Deprecated
105   -// public void removeValue(String name) {
106   -// getDelegate().removeValue(name);
107   -// }
108   -//
109   -// @Override
110   -// public void invalidate() {
111   -// getDelegate().invalidate();
112   -// }
113   -//
114   -// @Override
115   -// public boolean isNew() {
116   -// return getDelegate().isNew();
117   -// }
118   -//}
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletContextListener.java
... ... @@ -1,44 +0,0 @@
1   -/*
2   - * Demoiselle Framework
3   - * Copyright (C) 2010 SERPRO
4   - * ----------------------------------------------------------------------------
5   - * This file is part of Demoiselle Framework.
6   - *
7   - * Demoiselle Framework is free software; you can redistribute it and/or
8   - * modify it under the terms of the GNU Lesser General Public License version 3
9   - * as published by the Free Software Foundation.
10   - *
11   - * This program is distributed in the hope that it will be useful,
12   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   - * GNU General Public License for more details.
15   - *
16   - * You should have received a copy of the GNU Lesser General Public License version 3
17   - * along with this program; if not, see <http://www.gnu.org/licenses/>
18   - * or write to the Free Software Foundation, Inc., 51 Franklin Street,
19   - * Fifth Floor, Boston, MA 02110-1301, USA.
20   - * ----------------------------------------------------------------------------
21   - * Este arquivo é parte do Framework Demoiselle.
22   - *
23   - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
24   - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
25   - * do Software Livre (FSF).
26   - *
27   - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
28   - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
29   - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
30   - * para maiores detalhes.
31   - *
32   - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
33   - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
34   - * ou escreva para a Fundação do Software Livre (FSF) Inc.,
35   - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
36   - */
37   -package br.gov.frameworkdemoiselle.util;
38   -
39   -/**
40   - * @deprecated Use br.gov.frameworkdemoiselle.util.ServletListener instead.
41   - */
42   -@Deprecated
43   -public class ServletContextListener extends ServletListener {
44   -}
impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducerTest.java 0 → 100644
... ... @@ -0,0 +1,48 @@
  1 +package br.gov.frameworkdemoiselle.internal.producer;
  2 +
  3 +import static org.easymock.EasyMock.replay;
  4 +import static org.powermock.api.easymock.PowerMock.createMock;
  5 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  6 +
  7 +import javax.servlet.http.HttpServletRequest;
  8 +import javax.servlet.http.HttpServletResponse;
  9 +
  10 +import junit.framework.Assert;
  11 +
  12 +import org.junit.Test;
  13 +import org.powermock.reflect.Whitebox;
  14 +
  15 +
  16 +public class HttpServletRequestProducerTest {
  17 +
  18 + private HttpServletRequestProducer httpServletRequestProducer;
  19 +
  20 + private HttpServletRequest request;
  21 +
  22 + @Test
  23 + public void testCreate() {
  24 + request = createMock(HttpServletRequest.class);
  25 + replay(request);
  26 +
  27 + httpServletRequestProducer = new HttpServletRequestProducer();
  28 + Whitebox.setInternalState(httpServletRequestProducer, "request", request);
  29 +
  30 + Assert.assertEquals(httpServletRequestProducer.create(), request);
  31 +
  32 + verifyAll();
  33 + }
  34 +
  35 + @Test
  36 + public void testSetDelegate() {
  37 + request = createMock(HttpServletRequest.class);
  38 + replay(request);
  39 +
  40 + httpServletRequestProducer = new HttpServletRequestProducer();
  41 +
  42 + httpServletRequestProducer.setDelegate(request);
  43 + Assert.assertEquals(Whitebox.getInternalState(httpServletRequestProducer, "request"),request);
  44 +
  45 + verifyAll();
  46 + }
  47 +
  48 +}
... ...
impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducerTest.java 0 → 100644
... ... @@ -0,0 +1,48 @@
  1 +package br.gov.frameworkdemoiselle.internal.producer;
  2 +
  3 +import static org.easymock.EasyMock.replay;
  4 +import static org.powermock.api.easymock.PowerMock.createMock;
  5 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  6 +
  7 +import javax.servlet.http.HttpServletRequest;
  8 +import javax.servlet.http.HttpServletResponse;
  9 +
  10 +import junit.framework.Assert;
  11 +
  12 +import org.junit.Test;
  13 +import org.powermock.reflect.Whitebox;
  14 +
  15 +
  16 +public class HttpServletResponseProducerTest {
  17 +
  18 + private HttpServletResponseProducer httpServletResponseProducer;
  19 +
  20 + private HttpServletResponse response;
  21 +
  22 + @Test
  23 + public void testCreate() {
  24 + response = createMock(HttpServletResponse.class);
  25 + replay(response);
  26 +
  27 + httpServletResponseProducer = new HttpServletResponseProducer();
  28 + Whitebox.setInternalState(httpServletResponseProducer, "response", response);
  29 +
  30 + Assert.assertEquals(httpServletResponseProducer.create(), response);
  31 +
  32 + verifyAll();
  33 + }
  34 +
  35 + @Test
  36 + public void testSetDelegate() {
  37 + response = createMock(HttpServletResponse.class);
  38 + replay(response);
  39 +
  40 + httpServletResponseProducer = new HttpServletResponseProducer();
  41 +
  42 + httpServletResponseProducer.setDelegate(response);
  43 + Assert.assertEquals(Whitebox.getInternalState(httpServletResponseProducer, "response"), response);
  44 +
  45 + verifyAll();
  46 + }
  47 +
  48 +}
... ...
impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducerTest.java 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 +package br.gov.frameworkdemoiselle.internal.producer;
  2 +
  3 +import static org.easymock.EasyMock.createMock;
  4 +import static org.easymock.EasyMock.replay;
  5 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  6 +
  7 +import javax.servlet.http.HttpServletRequest;
  8 +import javax.servlet.http.HttpSession;
  9 +
  10 +import junit.framework.Assert;
  11 +
  12 +import org.easymock.EasyMock;
  13 +import org.junit.Test;
  14 +
  15 +public class HttpSessionProducerTest {
  16 +
  17 + private HttpSessionProducer httpSessionProducer;
  18 +
  19 + private HttpServletRequest request;
  20 +
  21 + @Test
  22 + public void testCreateWithRequestNull() {
  23 + httpSessionProducer = new HttpSessionProducer();
  24 + Assert.assertNull(httpSessionProducer.create(null));
  25 +
  26 + verifyAll();
  27 + }
  28 +
  29 + @Test
  30 + public void testCreateWithRequest() {
  31 + request = createMock(HttpServletRequest.class);
  32 + HttpSession session = createMock(HttpSession.class);
  33 + EasyMock.expect(request.getSession()).andReturn(session);
  34 + replay(request, session);
  35 +
  36 + httpSessionProducer = new HttpSessionProducer();
  37 + Assert.assertNotNull(httpSessionProducer.create(request));
  38 +
  39 + verifyAll();
  40 +
  41 + }
  42 +
  43 +}
... ...
impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducerTest.java 0 → 100644
... ... @@ -0,0 +1,48 @@
  1 +package br.gov.frameworkdemoiselle.internal.producer;
  2 +
  3 +import static org.easymock.EasyMock.createMock;
  4 +import static org.easymock.EasyMock.expect;
  5 +import static org.powermock.api.easymock.PowerMock.mockStatic;
  6 +import static org.powermock.api.easymock.PowerMock.replay;
  7 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  8 +
  9 +import javax.servlet.http.HttpServletRequest;
  10 +
  11 +import org.junit.Test;
  12 +import org.junit.runner.RunWith;
  13 +import org.powermock.core.classloader.annotations.PrepareForTest;
  14 +import org.powermock.modules.junit4.PowerMockRunner;
  15 +
  16 +import br.gov.frameworkdemoiselle.util.Beans;
  17 +
  18 +@RunWith(PowerMockRunner.class)
  19 +@PrepareForTest(Beans.class)
  20 +public class ServletLocaleProducerTest {
  21 +
  22 + private ServletLocaleProducer servletLocaleProducer;
  23 +
  24 + private HttpServletRequest request;
  25 +
  26 + @Test
  27 + public void testCreate() {
  28 + request = createMock(HttpServletRequest.class);
  29 +
  30 + mockStatic(Beans.class);
  31 + expect(Beans.getReference(HttpServletRequest.class)).andReturn(request);
  32 + replay(Beans.class);
  33 +
  34 + servletLocaleProducer = new ServletLocaleProducer();
  35 + servletLocaleProducer.create();
  36 +
  37 + verifyAll();
  38 + }
  39 +
  40 + @Test
  41 + public void testCreate2() {
  42 + servletLocaleProducer = new ServletLocaleProducer();
  43 + servletLocaleProducer.create();
  44 +
  45 + verifyAll();
  46 + }
  47 +
  48 +}
... ...
impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletListenerTest.java 0 → 100644
... ... @@ -0,0 +1,64 @@
  1 +package br.gov.frameworkdemoiselle.util;
  2 +
  3 +import static org.easymock.EasyMock.createMock;
  4 +import static org.easymock.EasyMock.expect;
  5 +import static org.powermock.api.easymock.PowerMock.mockStatic;
  6 +import static org.powermock.api.easymock.PowerMock.replayAll;
  7 +import static org.powermock.api.easymock.PowerMock.verifyAll;
  8 +
  9 +import javax.enterprise.inject.spi.BeanManager;
  10 +import javax.servlet.ServletContextEvent;
  11 +
  12 +import org.easymock.EasyMock;
  13 +import org.junit.Test;
  14 +import org.junit.runner.RunWith;
  15 +import org.powermock.api.easymock.PowerMock;
  16 +import org.powermock.core.classloader.annotations.PrepareForTest;
  17 +import org.powermock.modules.junit4.PowerMockRunner;
  18 +
  19 +import br.gov.frameworkdemoiselle.internal.bootstrap.ShutdownBootstrap;
  20 +import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess;
  21 +
  22 +@RunWith(PowerMockRunner.class)
  23 +@PrepareForTest(Beans.class)
  24 +public class ServletListenerTest {
  25 +
  26 + private ServletListener listener;
  27 +
  28 + @Test
  29 + public void testContextInitialized() {
  30 + ServletContextEvent event = createMock(ServletContextEvent.class);
  31 + BeanManager beanManager = PowerMock.createMock(BeanManager.class);
  32 +
  33 + mockStatic(Beans.class);
  34 + expect(Beans.getBeanManager()).andReturn(beanManager);
  35 + beanManager.fireEvent(EasyMock.anyObject(AfterStartupProccess.class));
  36 + PowerMock.expectLastCall().times(1);
  37 +
  38 + replayAll();
  39 +
  40 + listener = new ServletListener();
  41 + listener.contextInitialized(event);
  42 +
  43 + verifyAll();
  44 + }
  45 +
  46 + @Test
  47 + public void testContextDestroyed() {
  48 + ServletContextEvent event = createMock(ServletContextEvent.class);
  49 + BeanManager beanManager = PowerMock.createMock(BeanManager.class);
  50 +
  51 + mockStatic(Beans.class);
  52 + expect(Beans.getBeanManager()).andReturn(beanManager);
  53 + beanManager.fireEvent(EasyMock.anyObject(ShutdownBootstrap.class));
  54 + PowerMock.expectLastCall().times(1);
  55 +
  56 + replayAll();
  57 +
  58 + listener = new ServletListener();
  59 + listener.contextDestroyed(event);
  60 +
  61 + verifyAll();
  62 + }
  63 +
  64 +}
... ...
parent/bom/pom.xml
... ... @@ -338,7 +338,7 @@
338 338 <arquillian.junit.version>1.0.0.Alpha4.SP2</arquillian.junit.version>
339 339 <arquillian.weld.embdedded.version>1.0.0.Alpha2</arquillian.weld.embdedded.version>
340 340 <powermock.version>1.4.6</powermock.version>
341   - <primefaces.version>3.2</primefaces.version>
  341 + <primefaces.version>3.4</primefaces.version>
342 342 <slf4j.version>1.6.1</slf4j.version>
343 343 <weld.version>1.1.8.Final</weld.version>
344 344 <commons.configuration.version>1.5</commons.configuration.version>
... ...