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
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; |
|
} |
|
|
|
}
|
|
|