package com.aperture_software.glados_wiki.tests;
import com.aperture_software.glados_wiki.entities.Group;
import com.aperture_software.glados_wiki.entities.User;
import com.aperture_software.glados_wiki.junit.MyTestcase;
import com.aperture_software.glados_wiki.services.GroupService;
import com.aperture_software.glados_wiki.services.UserService;
import com.google.common.base.Optional;
import junit.framework.Assert;
import org.apache.commons.lang3.ObjectUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.UUID;
/**
* Created by jonghyouk on 2014. 1. 4..
*/
@Ignore
public class AdminsGroupUserTests extends MyTestcase {
@Autowired
private UserService userService;
@Autowired
private GroupService groupService;
private final String un = UUID.randomUUID().toString();
@Before
public void createSomeAdminsUser() {
Optional<User> u = userService.create(un, "foobarzoo!");
LOG.debug(String.format("CREATED USER = [%s]", u));
//
Optional<Group> g = groupService.getByName(GroupService.ADMIN_ROLE);
u.get().getGroups().add(g.get());
userService.update(u.get());
}
@After
public void deleteCreatedAdminsUser() {
userService.delete(userService.getByUsername(un).get());
}
@Test
public void t() {
List<User> l = userService.list(Optional.of(un),
Optional.of(GroupService.ADMIN_ROLE), 0, Integer.MAX_VALUE);
LOG.debug("RESULT = " + ObjectUtils.toString(l));
Assert.assertTrue(l != null);
Assert.assertTrue(l.size() == 1);
Assert.assertTrue(un.equals(l.get(0).getUsername()));
}
}