SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

100 lines
3.2 KiB

package de.superx.spring;
import java.util.List;
import org.junit.Ignore;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import de.superx.common.Sichten;
import de.superx.common.SxResultSet;
import de.superx.common.SxUser;
import de.superx.rest.model.job.Component;
import de.superx.servlet.ServletUtils;
import de.superx.servlet.SichtServlet;
import de.superx.spring.service.UserService;
import de.superx.spring.service.UserServiceImpl;
@Ignore
public class TestUserServiceImpl implements UserService {
private UserDetails userDetails;
private UserServiceImpl impl = new UserServiceImpl();
@Override
public UserDetails currentUserDetails() {
return userDetails;
}
@Override
public void checkRights(int report_tid, SxUser user) {
impl.checkRights(report_tid, user);
}
@Override
public void checkAdminRights() {
impl.checkAdminRights();
}
@Override
public void checkViewRights() {
impl.checkViewRights();
}
@Override
public void checkEtlJobRights() {
impl.checkEtlJobRights();
}
@Override
public void checkLieferfreigabeRights() {
impl.checkLieferfreigabeRights();
}
@Override
public void checkStichtageRights() {
impl.checkStichtageRights();
}
@Override
public void checkReportDeliveryRights() {
impl.checkReportDeliveryRights();
}
@Override
public List<Component> filterComponents(List<Component> components) {
return impl.filterComponents(components);
}
public void setUserDetails(UserDetails details) {
this.userDetails = details;
Authentication auth = new UsernamePasswordAuthenticationToken(userDetails, null);
SecurityContextHolder.getContext().setAuthentication(auth);
}
public SxUser createTestUser(boolean isAdmin, List<Integer> erlaubteMasken) {
SxUser user;
try {
user = new SxUser("testuser", Integer.valueOf(42), "test");
user.setAdmin(isAdmin);
if (erlaubteMasken != null) {
user.initErlaubteMasken(erlaubteMasken);
}
SxResultSet rs = ServletUtils.execute("Einlesen von Sichten für Benutzer " + user.getId(),
Sichten.getReadingSql(user), user.getMandantenID());
user.getSichten().init(user.getMandantenID(), rs, SichtServlet.class);
rs = ServletUtils.execute("Einlesen von Sichtrechten für Benutzer " + user.getId(),
"select distinct tid,type from sichten S where " + Sichten.getErlaubteSichtenSql(user),
user.getMandantenID());
user.getSichten().setAllowedSichten(rs, user.isAdmin());
} catch (Exception e) {
throw new RuntimeException("Could not create testuser", e);
}
setUserDetails(user);
return user;
}
}