Test : Ajout des tests du systeme d'invitation

TestCase "InvitationTokenTest" est en vert
This commit is contained in:
2008-01-31 21:05:35 +00:00
parent c297d94e0a
commit 02d6610e12

View File

@@ -0,0 +1,125 @@
/**
*
*/
package org.yacos.tests.core;
import static org.junit.Assert.*;
import java.util.Date;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.yacos.core.conferences.Conference;
import org.yacos.core.conferences.IConferenceManager;
import org.yacos.core.system.InvitationToken;
import org.yacos.core.users.IUserManager;
import org.yacos.core.users.User;
import org.yacos.core.users.Role.RoleType;
/**
* @author christiancorsano
*
*/
public class InvitationTokenTest {
private IUserManager userManager;
private IConferenceManager confManager;
private Integer testConferenceId;
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
Context context = new InitialContext();
userManager = (IUserManager) context.lookup("UserManagerBean/remote");
confManager = (IConferenceManager) context.lookup("ConferenceManagerBean/remote");
Conference conf = confManager.addConference(
"InvitationToken Test conference",
"A conference to test InvitationToken",
"None",
new Date(),
new Date(),
new Date(),
new Date(),
new Date());
testConferenceId = conf.getId();
}
@Test
public void testConferenceReady() throws Exception {
assertNotNull("Checking presence of conference", confManager.getConference(testConferenceId));
assertTrue("Checking emptiness of conference token list",
confManager.getInvitationTokensForConference(testConferenceId).isEmpty());
}
@Test
public void testInvitationTokenCreation() throws Exception {
InvitationToken token = confManager.addInvitationToken("InvitationToken@test.com", RoleType.AUTHOR, testConferenceId);
List<InvitationToken> tokensForConference = confManager.getInvitationTokensForConference(testConferenceId);
assertEquals("Checking incrementation of tokens after adding",
1, tokensForConference.size());
assertNotNull(token);
assertEquals("InvitationToken@test.com", token.getEmail());
assertEquals(RoleType.AUTHOR, token.getRole());
Conference conf = confManager.getConference(testConferenceId);
assertEquals(conf.getId(), token.getConference().getId() );
}
@Test
public void testInvitationTokenUsedWhenUserCreated() throws Exception {
Conference conf2 = confManager.addConference(
"InvitationToken Test conference 2",
"A second conference to test InvitationToken",
"None",
new Date(),
new Date(),
new Date(),
new Date(),
new Date());
confManager.addInvitationToken("InvitationToken@test.com", RoleType.AUTHOR, testConferenceId);
confManager.addInvitationToken("InvitationToken@test.com", RoleType.REFEREE, testConferenceId);
confManager.addInvitationToken("InvitationToken@test.com", RoleType.PCMEMBER, conf2.getId());
assertEquals(2,confManager.getInvitationTokensForConference(testConferenceId).size());
assertEquals(1,confManager.getInvitationTokensForConference(conf2.getId()).size());
assertEquals(3,userManager.getInvitationTokensForEmail("InvitationToken@test.com").size());
User testUser = userManager.addUser("testInvitationToken", "pass", "ITokenTest", "ITokenTest", "YACOS", "InvitationToken@test.com");
assertTrue("Checking that all tokens are used when User is created",
userManager.getInvitationTokensForEmail(testUser.getEmail()).isEmpty());
assertTrue("Checking the roles for test user",
userManager.hasRoleForConference(testUser.getLogin(), RoleType.AUTHOR, testConferenceId));
assertTrue("Checking the roles for test user",
userManager.hasRoleForConference(testUser.getLogin(), RoleType.REFEREE, testConferenceId));
assertTrue("Checking the roles for test user",
userManager.hasRoleForConference(testUser.getLogin(), RoleType.PCMEMBER, conf2.getId()));
// Cleaning up
userManager.removeUser("testInvitationToken");
confManager.remove(conf2.getId());
}
/**
* @throws java.lang.Exception
*/
@After
public void tearDown() throws Exception {
List<InvitationToken> tokensForConference = confManager.getInvitationTokensForConference(testConferenceId);
for(InvitationToken token : tokensForConference){
confManager.removeInvitationToken(token);
}
assertTrue("TearDown : checking that no test tokens are left in the database",
confManager.getInvitationTokensForConference(testConferenceId).isEmpty());
confManager.remove(testConferenceId);
assertNull("TearDown : checking that the test conference has been removed",
confManager.getConference(testConferenceId));
}
}