package com.bloatit.data;
import static org.junit.Assert.assertEquals;
import java.util.Date;
import java.util.EnumSet;
import org.junit.Test;
import com.bloatit.data.DaoExternalServiceMembership.RightLevel;
import com.bloatit.framework.utils.datetime.DateUtils;
import com.bloatit.framework.utils.i18n.Language;
public class DaoExternalServiceTest extends DataTestUnit {
@Test
public final void testDaoExternalServiceDaoMemberStringStringEnumSetOfRightLevel() {
final EnumSet<RightLevel> set = EnumSet.of(RightLevel.CONTRIBUTE, RightLevel.CREATE_OFFER);
DaoExternalService service = DaoExternalService.createAndPersist(fred,
null,
DaoDescription.createAndPersist(fred, null, Language.FR, "title", "coucou"));
final DaoExternalServiceMembership membership = DaoExternalServiceMembership.createAndPersist(fred, service, "Test", set);
assertEquals(membership.getLevels(), set);
assertEquals(membership.getToken(), "Test");
assertEquals(membership.isAuthorized(), false);
}
@Test
public final void testAuthorize() {
final EnumSet<RightLevel> set = EnumSet.of(RightLevel.CONTRIBUTE, RightLevel.CREATE_OFFER);
DaoExternalService service = DaoExternalService.createAndPersist(fred,
null,
DaoDescription.createAndPersist(fred, null, Language.FR, "title", "coucou"));
final DaoExternalServiceMembership membership = DaoExternalServiceMembership.createAndPersist(fred, service, "Test", set);
final Date tomorrow = DateUtils.tomorrow();
membership.authorize("accesstoken", "refreshtoken", tomorrow);
assertEquals(membership.isAuthorized(), true);
assertEquals(membership.getToken(), "accesstoken");
assertEquals(membership.getRefreshToken(), "refreshtoken");
assertEquals(membership.getExpirationDate(), tomorrow);
assertEquals(membership.getLevels(), set);
}
}