Commit f8168bf591298d2f360cba24682890651bd710ac
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,7 +11,7 @@ import ${package}.business.BookmarkBC; | ||
| 11 | import ${package}.domain.Bookmark; | 11 | import ${package}.domain.Bookmark; |
| 12 | 12 | ||
| 13 | @ViewController | 13 | @ViewController |
| 14 | -@PreviousView("/bookmark_list.xhtml") | 14 | +@PreviousView("./bookmark_list.xhtml") |
| 15 | public class BookmarkEditMB extends AbstractEditPageBean<Bookmark, Long> { | 15 | public class BookmarkEditMB extends AbstractEditPageBean<Bookmark, Long> { |
| 16 | 16 | ||
| 17 | private static final long serialVersionUID = 1L; | 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,8 +15,8 @@ import ${package}.business.BookmarkBC; | ||
| 15 | import ${package}.domain.Bookmark; | 15 | import ${package}.domain.Bookmark; |
| 16 | 16 | ||
| 17 | @ViewController | 17 | @ViewController |
| 18 | -@NextView("/bookmark_edit.xhtml") | ||
| 19 | -@PreviousView("/bookmark_list.xhtml") | 18 | +@NextView("./bookmark_edit.xhtml") |
| 19 | +@PreviousView("./bookmark_list.xhtml") | ||
| 20 | public class BookmarkListMB extends AbstractListPageBean<Bookmark, Long> { | 20 | public class BookmarkListMB extends AbstractListPageBean<Bookmark, Long> { |
| 21 | 21 | ||
| 22 | private static final long serialVersionUID = 1L; | 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,59 +64,60 @@ public class TransactionContextImplTest { | ||
| 64 | private TransactionContext context; | 64 | private TransactionContext context; |
| 65 | private Transaction transaction; | 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 | class TransactionImpl implements Transaction{ | 92 | class TransactionImpl implements Transaction{ |
| 68 | - | 93 | + |
| 69 | private static final long serialVersionUID = 1L; | 94 | private static final long serialVersionUID = 1L; |
| 70 | - | 95 | + |
| 71 | @Override | 96 | @Override |
| 72 | public boolean isActive() { | 97 | public boolean isActive() { |
| 73 | return false; | 98 | return false; |
| 74 | } | 99 | } |
| 75 | - | 100 | + |
| 76 | @Override | 101 | @Override |
| 77 | public boolean isMarkedRollback() { | 102 | public boolean isMarkedRollback() { |
| 78 | return false; | 103 | return false; |
| 79 | } | 104 | } |
| 80 | - | 105 | + |
| 81 | @Override | 106 | @Override |
| 82 | public void begin() { | 107 | public void begin() { |
| 83 | } | 108 | } |
| 84 | - | 109 | + |
| 85 | @Override | 110 | @Override |
| 86 | public void commit() { | 111 | public void commit() { |
| 87 | } | 112 | } |
| 88 | - | 113 | + |
| 89 | @Override | 114 | @Override |
| 90 | public void rollback() { | 115 | public void rollback() { |
| 91 | } | 116 | } |
| 92 | - | 117 | + |
| 93 | @Override | 118 | @Override |
| 94 | public void setRollbackOnly() { | 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 | package br.gov.frameworkdemoiselle.internal.proxy; | 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 | import java.util.Collections; | 47 | import java.util.Collections; |
| 4 | import java.util.Date; | 48 | import java.util.Date; |
| 5 | import java.util.HashMap; | 49 | import java.util.HashMap; |
| @@ -10,15 +54,13 @@ import javax.persistence.EntityManager; | @@ -10,15 +54,13 @@ import javax.persistence.EntityManager; | ||
| 10 | import javax.persistence.EntityManagerFactory; | 54 | import javax.persistence.EntityManagerFactory; |
| 11 | import javax.persistence.FlushModeType; | 55 | import javax.persistence.FlushModeType; |
| 12 | import javax.persistence.LockModeType; | 56 | import javax.persistence.LockModeType; |
| 13 | -import javax.persistence.NoResultException; | 57 | +import javax.persistence.Parameter; |
| 14 | import javax.persistence.Persistence; | 58 | import javax.persistence.Persistence; |
| 15 | import javax.persistence.Query; | 59 | import javax.persistence.Query; |
| 16 | import javax.persistence.TemporalType; | 60 | import javax.persistence.TemporalType; |
| 17 | 61 | ||
| 18 | import org.easymock.EasyMock; | 62 | import org.easymock.EasyMock; |
| 19 | -import org.junit.Assert; | ||
| 20 | import org.junit.Before; | 63 | import org.junit.Before; |
| 21 | -import org.junit.Ignore; | ||
| 22 | import org.junit.Test; | 64 | import org.junit.Test; |
| 23 | import org.junit.runner.RunWith; | 65 | import org.junit.runner.RunWith; |
| 24 | import org.powermock.api.easymock.PowerMock; | 66 | import org.powermock.api.easymock.PowerMock; |
| @@ -32,224 +74,221 @@ import br.gov.frameworkdemoiselle.util.Beans; | @@ -32,224 +74,221 @@ import br.gov.frameworkdemoiselle.util.Beans; | ||
| 32 | 74 | ||
| 33 | /** | 75 | /** |
| 34 | * Test the proxied {@link Query} class, {@link QueryProxy}. | 76 | * Test the proxied {@link Query} class, {@link QueryProxy}. |
| 77 | + * | ||
| 35 | * @author 81986912515 | 78 | * @author 81986912515 |
| 36 | - * | ||
| 37 | */ | 79 | */ |
| 38 | -@Ignore | ||
| 39 | @RunWith(PowerMockRunner.class) | 80 | @RunWith(PowerMockRunner.class) |
| 40 | -@PrepareForTest({Beans.class}) | 81 | +@PrepareForTest({ Beans.class }) |
| 41 | public class QueryProxyTest { | 82 | public class QueryProxyTest { |
| 42 | - | 83 | + |
| 43 | private EntityManager manager; | 84 | private EntityManager manager; |
| 85 | + | ||
| 44 | private EntityManagerProducer producer; | 86 | private EntityManagerProducer producer; |
| 45 | - | 87 | + |
| 88 | + private QueryProxy queryProxy; | ||
| 89 | + | ||
| 46 | @Before | 90 | @Before |
| 47 | - public void setUp(){ | ||
| 48 | - | 91 | + public void setUp() { |
| 92 | + | ||
| 49 | Map<String, Object> configOverrides = new HashMap<String, Object>(); | 93 | Map<String, Object> configOverrides = new HashMap<String, Object>(); |
| 50 | configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence"); | 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 | configOverrides.put("hibernate.show_sql", "true"); | 101 | configOverrides.put("hibernate.show_sql", "true"); |
| 53 | configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); | 102 | configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); |
| 54 | - | 103 | + |
| 55 | EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); | 104 | EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); |
| 56 | EntityManager delegate = factory.createEntityManager(); | 105 | EntityManager delegate = factory.createEntityManager(); |
| 57 | - | 106 | + |
| 58 | Map<String, EntityManager> cache = Collections.synchronizedMap(new HashMap<String, EntityManager>()); | 107 | Map<String, EntityManager> cache = Collections.synchronizedMap(new HashMap<String, EntityManager>()); |
| 59 | cache.put("pu1", delegate); | 108 | cache.put("pu1", delegate); |
| 60 | - | 109 | + |
| 61 | producer = new EntityManagerProducer(); | 110 | producer = new EntityManagerProducer(); |
| 62 | Whitebox.setInternalState(producer, "cache", cache); | 111 | Whitebox.setInternalState(producer, "cache", cache); |
| 63 | - | 112 | + |
| 64 | PowerMock.mockStatic(Beans.class); | 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 | PowerMock.replayAll(); | 115 | PowerMock.replayAll(); |
| 67 | 116 | ||
| 68 | manager = new EntityManagerProxy("pu1"); | 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 | @Test | 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 | @Test | 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 | @Test | 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 | @Test | 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 | @Test | 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 | @Test | 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 | Date dateValue = new Date(); | 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 | @Test | 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 | @Test | 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 | package br.gov.frameworkdemoiselle.internal.proxy; | 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 | import java.util.Collections; | 11 | import java.util.Collections; |
| 4 | import java.util.Date; | 12 | import java.util.Date; |
| 5 | import java.util.HashMap; | 13 | import java.util.HashMap; |
| @@ -10,16 +18,14 @@ import javax.persistence.EntityManager; | @@ -10,16 +18,14 @@ import javax.persistence.EntityManager; | ||
| 10 | import javax.persistence.EntityManagerFactory; | 18 | import javax.persistence.EntityManagerFactory; |
| 11 | import javax.persistence.FlushModeType; | 19 | import javax.persistence.FlushModeType; |
| 12 | import javax.persistence.LockModeType; | 20 | import javax.persistence.LockModeType; |
| 13 | -import javax.persistence.NoResultException; | 21 | +import javax.persistence.Parameter; |
| 14 | import javax.persistence.Persistence; | 22 | import javax.persistence.Persistence; |
| 15 | import javax.persistence.Query; | 23 | import javax.persistence.Query; |
| 16 | import javax.persistence.TemporalType; | 24 | import javax.persistence.TemporalType; |
| 17 | import javax.persistence.TypedQuery; | 25 | import javax.persistence.TypedQuery; |
| 18 | 26 | ||
| 19 | import org.easymock.EasyMock; | 27 | import org.easymock.EasyMock; |
| 20 | -import org.junit.Assert; | ||
| 21 | import org.junit.Before; | 28 | import org.junit.Before; |
| 22 | -import org.junit.Ignore; | ||
| 23 | import org.junit.Test; | 29 | import org.junit.Test; |
| 24 | import org.junit.runner.RunWith; | 30 | import org.junit.runner.RunWith; |
| 25 | import org.powermock.api.easymock.PowerMock; | 31 | import org.powermock.api.easymock.PowerMock; |
| @@ -33,212 +39,220 @@ import br.gov.frameworkdemoiselle.util.Beans; | @@ -33,212 +39,220 @@ import br.gov.frameworkdemoiselle.util.Beans; | ||
| 33 | 39 | ||
| 34 | /** | 40 | /** |
| 35 | * Test the proxied {@link Query} class, {@link TypedQueryProxy}. | 41 | * Test the proxied {@link Query} class, {@link TypedQueryProxy}. |
| 42 | + * | ||
| 36 | * @author 81986912515 | 43 | * @author 81986912515 |
| 37 | - * | 44 | + * @param <X> |
| 38 | */ | 45 | */ |
| 39 | -@Ignore | 46 | + |
| 47 | +@SuppressWarnings("rawtypes") | ||
| 40 | @RunWith(PowerMockRunner.class) | 48 | @RunWith(PowerMockRunner.class) |
| 41 | -@PrepareForTest({Beans.class}) | 49 | +@PrepareForTest({ Beans.class }) |
| 42 | public class TypedQueryProxyTest { | 50 | public class TypedQueryProxyTest { |
| 43 | - | 51 | + |
| 44 | private EntityManager manager; | 52 | private EntityManager manager; |
| 53 | + | ||
| 45 | private EntityManagerProducer producer; | 54 | private EntityManagerProducer producer; |
| 46 | - | 55 | + |
| 56 | + private TypedQueryProxy typedQueryProxy; | ||
| 57 | + | ||
| 47 | @Before | 58 | @Before |
| 48 | - public void setUp(){ | ||
| 49 | - | 59 | + public void setUp() { |
| 60 | + | ||
| 50 | Map<String, Object> configOverrides = new HashMap<String, Object>(); | 61 | Map<String, Object> configOverrides = new HashMap<String, Object>(); |
| 51 | configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence"); | 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 | configOverrides.put("hibernate.show_sql", "true"); | 69 | configOverrides.put("hibernate.show_sql", "true"); |
| 54 | configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); | 70 | configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); |
| 55 | - | 71 | + |
| 56 | EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); | 72 | EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); |
| 57 | EntityManager delegate = factory.createEntityManager(); | 73 | EntityManager delegate = factory.createEntityManager(); |
| 58 | - | 74 | + |
| 59 | Map<String, EntityManager> cache = Collections.synchronizedMap(new HashMap<String, EntityManager>()); | 75 | Map<String, EntityManager> cache = Collections.synchronizedMap(new HashMap<String, EntityManager>()); |
| 60 | cache.put("pu1", delegate); | 76 | cache.put("pu1", delegate); |
| 61 | - | 77 | + |
| 62 | producer = new EntityManagerProducer(); | 78 | producer = new EntityManagerProducer(); |
| 63 | Whitebox.setInternalState(producer, "cache", cache); | 79 | Whitebox.setInternalState(producer, "cache", cache); |
| 64 | - | 80 | + |
| 65 | PowerMock.mockStatic(Beans.class); | 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 | PowerMock.replayAll(); | 83 | PowerMock.replayAll(); |
| 68 | 84 | ||
| 69 | manager = new EntityManagerProxy("pu1"); | 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 | @Test | 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 | @Test | 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 | @Test | 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 | @Test | 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 | @Test | 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 | Date dateValue = new Date(); | 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 | @Test | 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 | @Test | 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,27 +39,20 @@ package br.gov.frameworkdemoiselle.internal.bootstrap; | ||
| 39 | import static org.easymock.EasyMock.expect; | 39 | import static org.easymock.EasyMock.expect; |
| 40 | import static org.powermock.api.easymock.PowerMock.createMock; | 40 | import static org.powermock.api.easymock.PowerMock.createMock; |
| 41 | import static org.powermock.api.easymock.PowerMock.mockStatic; | 41 | import static org.powermock.api.easymock.PowerMock.mockStatic; |
| 42 | -import static org.powermock.api.easymock.PowerMock.replayAll; | ||
| 43 | import static org.powermock.api.easymock.PowerMock.replay; | 42 | import static org.powermock.api.easymock.PowerMock.replay; |
| 44 | import static org.powermock.api.easymock.PowerMock.verifyAll; | 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 | import java.util.ArrayList; | 45 | import java.util.ArrayList; |
| 49 | import java.util.List; | 46 | import java.util.List; |
| 50 | import java.util.Locale; | 47 | import java.util.Locale; |
| 51 | 48 | ||
| 52 | -import javax.enterprise.context.spi.Contextual; | ||
| 53 | -import javax.enterprise.context.spi.CreationalContext; | ||
| 54 | import javax.enterprise.inject.spi.AfterBeanDiscovery; | 49 | import javax.enterprise.inject.spi.AfterBeanDiscovery; |
| 55 | import javax.enterprise.inject.spi.AfterDeploymentValidation; | 50 | import javax.enterprise.inject.spi.AfterDeploymentValidation; |
| 56 | 51 | ||
| 57 | import junit.framework.Assert; | 52 | import junit.framework.Assert; |
| 58 | 53 | ||
| 59 | -import org.easymock.EasyMock; | ||
| 60 | import org.junit.Before; | 54 | import org.junit.Before; |
| 61 | import org.junit.Test; | 55 | import org.junit.Test; |
| 62 | -import org.junit.rules.TemporaryFolder; | ||
| 63 | import org.junit.runner.RunWith; | 56 | import org.junit.runner.RunWith; |
| 64 | import org.powermock.core.classloader.annotations.PrepareForTest; | 57 | import org.powermock.core.classloader.annotations.PrepareForTest; |
| 65 | import org.powermock.modules.junit4.PowerMockRunner; | 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 | package br.gov.frameworkdemoiselle.internal.producer; | 37 | package br.gov.frameworkdemoiselle.internal.producer; |
| 2 | 38 | ||
| 3 | import java.util.Locale; | 39 | import java.util.Locale; |
impl/extension/se/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/SeBootstrapTest.java
0 → 100644
| @@ -0,0 +1,102 @@ | @@ -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 | package br.gov.frameworkdemoiselle.internal.producer; | 37 | package br.gov.frameworkdemoiselle.internal.producer; |
| 2 | -import org.junit.Ignore; | 38 | + |
| 3 | import java.util.Locale; | 39 | import java.util.Locale; |
| 4 | 40 | ||
| 5 | import junit.framework.Assert; | 41 | import junit.framework.Assert; |
| @@ -10,11 +46,7 @@ public class SeLocaleProducerTest { | @@ -10,11 +46,7 @@ public class SeLocaleProducerTest { | ||
| 10 | 46 | ||
| 11 | @Test | 47 | @Test |
| 12 | public void testCreate() { | 48 | public void testCreate() { |
| 13 | - | ||
| 14 | Locale locale = (new SeLocaleProducer()).create(); | 49 | Locale locale = (new SeLocaleProducer()).create(); |
| 15 | - | ||
| 16 | Assert.assertNotNull(locale); | 50 | Assert.assertNotNull(locale); |
| 17 | - | ||
| 18 | } | 51 | } |
| 19 | - | ||
| 20 | } | 52 | } |
impl/extension/servlet/pom.xml
| @@ -71,6 +71,11 @@ | @@ -71,6 +71,11 @@ | ||
| 71 | <groupId>javax.servlet</groupId> | 71 | <groupId>javax.servlet</groupId> |
| 72 | <artifactId>servlet-api</artifactId> | 72 | <artifactId>servlet-api</artifactId> |
| 73 | </dependency> | 73 | </dependency> |
| 74 | + <dependency> | ||
| 75 | + <groupId>javax.el</groupId> | ||
| 76 | + <artifactId>el-api</artifactId> | ||
| 77 | + <scope>test</scope> | ||
| 78 | + </dependency> | ||
| 74 | </dependencies> | 79 | </dependencies> |
| 75 | 80 | ||
| 76 | <repositories> | 81 | <repositories> |
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxy.java
| @@ -1,307 +0,0 @@ | @@ -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,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,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,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 @@ | @@ -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 @@ | @@ -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 @@ | @@ -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 @@ | @@ -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 @@ | @@ -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,7 +338,7 @@ | ||
| 338 | <arquillian.junit.version>1.0.0.Alpha4.SP2</arquillian.junit.version> | 338 | <arquillian.junit.version>1.0.0.Alpha4.SP2</arquillian.junit.version> |
| 339 | <arquillian.weld.embdedded.version>1.0.0.Alpha2</arquillian.weld.embdedded.version> | 339 | <arquillian.weld.embdedded.version>1.0.0.Alpha2</arquillian.weld.embdedded.version> |
| 340 | <powermock.version>1.4.6</powermock.version> | 340 | <powermock.version>1.4.6</powermock.version> |
| 341 | - <primefaces.version>3.2</primefaces.version> | 341 | + <primefaces.version>3.4</primefaces.version> |
| 342 | <slf4j.version>1.6.1</slf4j.version> | 342 | <slf4j.version>1.6.1</slf4j.version> |
| 343 | <weld.version>1.1.8.Final</weld.version> | 343 | <weld.version>1.1.8.Final</weld.version> |
| 344 | <commons.configuration.version>1.5</commons.configuration.version> | 344 | <commons.configuration.version>1.5</commons.configuration.version> |