/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.user.domain; import java.util.Set; import junit.framework.TestCase; import com.globant.katari.hibernate.coreuser.domain.Role; /* This class represents a TestCase of the user. In this class we will test all * the features of the user. */ public class UserTest extends TestCase { /* Tests the modification of a Role. */ public final void testModifyRole() { Role role = new Role("Old name"); role.modify("MyRole"); assertEquals(role.getName(), "MyRole"); } /* Test the user Add Role method. */ public final void testAddRemoveRole() { Role role = new Role("MyRole"); User user = new User("pablo", "admin@mail"); assertTrue(user.addRole(role)); Set<Role> roles = user.getRoles(); assertEquals(roles.iterator().next().getName(), "MyRole"); assertTrue(user.removeRole(role)); } /* Test user validate password. */ public final void testValidatePassword() { User user = new User("pablo", "admin@gmail"); user.changePassword("MyPassword"); assertTrue(user.validatePassword("MyPassword")); assertEquals(user.getPassword(), "MyPassword"); } /* Tests if the user is correctly marked as an administrator. */ public final void testIsAdministrator() { User user = new User("pablo", "admin@gmail"); Role role = new Role("ADMINISTRATOR"); user.addRole(role); assertTrue(user.isAdministrator()); } /* Test if the user is active or not, and also checks the method "activate" * and "deactivate" */ public final void testActivation() { User user = new User("pablo", "admin@gmail"); assertFalse(user.isActive()); user.activate(); assertTrue(user.isActive()); user.deActivate(); assertFalse(user.isActive()); } }