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