package com.javaeye.jert.service.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.javaeye.jert.domain.Database;
import com.javaeye.jert.domain.ReportDefinition;
import com.javaeye.jert.domain.ReportPermissionGroup;
import com.javaeye.jert.domain.query.QueryBuilder;
import com.javaeye.jert.service.DatabaseService;
import com.javaeye.jert.service.ReportDefinitionService;
import com.javaeye.jert.service.SecurityService;
import com.javaeye.user.Group;
import com.javaeye.user.UserManager;
/**
* @author Quake Wang
* @since 2005-3-10
* @version $Revision: 1.1 $
*/
public class SecurityServiceTest extends TestService {
private SecurityService service;
private UserManager userManager;
protected void setUp() throws Exception {
super.setUp();
service = (SecurityService) context.getBean("securityService");
userManager = (UserManager) context.getBean("userManager");
}
protected ApplicationContext getContext() {
return new ClassPathXmlApplicationContext("com/javaeye/jert/service/test/SecurityServiceTest.xml");
}
public void testAddRemove() {
Group group = userManager.newGroup();
group.setName("test group");
ReportDefinition reportDefinition = getReportDefintion();
ReportPermissionGroup rpg = service.addReportPermissionToGroup(reportDefinition, group);
assertEquals(group.getName(), rpg.getGroupName());
assertEquals(reportDefinition, rpg.getReportDefinition());
service.removeReportPermissionFromGroup(reportDefinition, group);
}
private ReportDefinition getReportDefintion() {
Database db = new Database();
((DatabaseService) context.getBean("databaseService")).createDatabase(db);
ReportDefinition rd = new ReportDefinition();
rd.setDatabase(db);
rd.setName("test");
rd.setSql("select * from user");
rd.setQueryType(QueryBuilder.QUERY_TYPE_STATIC);
((ReportDefinitionService) context.getBean("reportDefinitionService")).createReportDefinition(rd);
return rd;
}
}