/** * (C) Copyright 2013 Jabylon (http://www.jabylon.org) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jabylon.users.tests; import junit.framework.TestCase; import junit.textui.TestRunner; import org.jabylon.users.Permission; import org.jabylon.users.Role; import org.jabylon.users.User; import org.jabylon.users.UsersFactory; /** * <!-- begin-user-doc --> * A test case for the model object '<em><b>User</b></em>'. * <!-- end-user-doc --> * <p> * The following operations are tested: * <ul> * <li>{@link org.jabylon.users.User#getAllPermissions() <em>Get All Permissions</em>}</li> * </ul> * </p> * @generated */ public class UserTest extends TestCase { /** * The fixture for this User test case. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected User fixture = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static void main(String[] args) { TestRunner.run(UserTest.class); } /** * Constructs a new User test case with the given name. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public UserTest(String name) { super(name); } /** * Sets the fixture for this User test case. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void setFixture(User fixture) { this.fixture = fixture; } /** * Returns the fixture for this User test case. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected User getFixture() { return fixture; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see junit.framework.TestCase#setUp() * @generated */ @Override protected void setUp() throws Exception { setFixture(UsersFactory.eINSTANCE.createUser()); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see junit.framework.TestCase#tearDown() * @generated */ @Override protected void tearDown() throws Exception { setFixture(null); } /** * Tests the '{@link org.jabylon.users.User#getAllPermissions() <em>Get All Permissions</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see org.jabylon.users.User#getAllPermissions() * @generated NOT */ public void testGetAllPermissions() { assertEquals(0, getFixture().getAllPermissions().size()); } public void testGetAllPermissionsWithPermissions() { Permission userPermission = UsersFactory.eINSTANCE.createPermission(); getFixture().getPermissions().add(userPermission); assertEquals(1, getFixture().getAllPermissions().size()); assertSame(userPermission, getFixture().getAllPermissions().get(0)); } public void testGetAllPermissionsWithRolePermissions() { Role role = UsersFactory.eINSTANCE.createRole(); getFixture().getRoles().add(role); Permission rolePermission = UsersFactory.eINSTANCE.createPermission(); role.getPermissions().add(rolePermission); assertEquals(1, getFixture().getAllPermissions().size()); assertSame(rolePermission, getFixture().getAllPermissions().get(0)); } public void testGetAllPermissionsMixed() { Role role = UsersFactory.eINSTANCE.createRole(); getFixture().getRoles().add(role); Permission userPermission = UsersFactory.eINSTANCE.createPermission(); Permission rolePermission = UsersFactory.eINSTANCE.createPermission(); role.getPermissions().add(rolePermission); getFixture().getPermissions().add(userPermission); assertEquals(2, getFixture().getAllPermissions().size()); assertSame(userPermission, getFixture().getAllPermissions().get(0)); assertSame(rolePermission, getFixture().getAllPermissions().get(1)); } public void testHasPermission() { Role role = UsersFactory.eINSTANCE.createRole(); getFixture().getRoles().add(role); Permission rolePermission = UsersFactory.eINSTANCE.createPermission(); rolePermission.setName("foo:bar:edit"); role.getPermissions().add(rolePermission); assertTrue(getFixture().hasPermission("foo:bar:edit")); assertFalse(getFixture().hasPermission("foo:bar:config")); assertFalse(getFixture().hasPermission("foo:bar2:edit")); } public void testHasPermissionActionInherit() { Role role = UsersFactory.eINSTANCE.createRole(); getFixture().getRoles().add(role); Permission rolePermission = UsersFactory.eINSTANCE.createPermission(); rolePermission.setName("foo:bar:config"); role.getPermissions().add(rolePermission); assertTrue(getFixture().hasPermission("foo:bar:config")); assertTrue(getFixture().hasPermission("foo:bar:edit")); assertTrue(getFixture().hasPermission("foo:bar:suggest")); assertTrue(getFixture().hasPermission("foo:bar:view")); } public void testHasPermissionActionInherit2() { Role role = UsersFactory.eINSTANCE.createRole(); getFixture().getRoles().add(role); Permission rolePermission = UsersFactory.eINSTANCE.createPermission(); rolePermission.setName("foo:bar:suggest"); role.getPermissions().add(rolePermission); assertFalse(getFixture().hasPermission("foo:bar:config")); assertFalse(getFixture().hasPermission("foo:bar:edit")); assertTrue(getFixture().hasPermission("foo:bar:suggest")); assertTrue(getFixture().hasPermission("foo:bar:view")); } } //UserTest