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 filterComponents(List 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 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; } }