Bonjour,

Comment feriez-vous pour tester cette classe ?
Je sais faire des tests unitaires simples, mais là !!! dans un context spring .... je ne vois pas. en plus le constructeur est privée. Je ne peux même pas faire une new ...
Le projet utilise spring, spring security, jsf, hibernate, maven
et pour les tests : Unitils, junit4, mockito, easymock, powermock.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
 * Formulaire pour les donnees du Header.
 * @author $Author: $
 * @version $Revision: $
 */
@Component(HeaderForm.BEAN)
@Scope("session")
@CustomScope(CustomScopeType.CONNEXION)
public final class HeaderForm implements Serializable {
 
  /** la Constante BEAN. */
  public static final String BEAN = "headerForm";
 
  /**
   * le serialVersionUID
   */
  private static final long serialVersionUID = -1420241458583308694L;
 
  /** DisplayName de l'utilisateur connecte */
  private String displayName;
 
  /** Unite d'affectation de l'utilisateur connecte */
  private String codeUnite;
 
  /**
   * Constructeur prive. Initialisation des attributs a partir du contexte de securite Spring.
   */
  private HeaderForm() {
    final Object vObject = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    if (vObject instanceof MonUser) {
      final MonUser vUser = (MonUser) vObject;
      this.displayName = vUser.getDetails().getDisplayName();
      this.codeUnite = vUser.getDetails().getCodeUnite();
      final FacesContext vCurrentCtx = FacesContext.getCurrentInstance();
      if (vCurrentCtx != null && vCurrentCtx.getExternalContext() != null) {
        Object vSession = vCurrentCtx.getExternalContext().getSession(false);
        if (vSession instanceof HttpSession) {
          vUser.getDetails().setSessionId(((HttpSession) vSession).getId());
        }
      }
    }
  }
 
  /**
   * Getter pour l'attribut displayName.
   * @return l'attribut displayName
   */
  public String getDisplayName() {
    return this.displayName;
  }
 
  /**
   * Getter de l'attribut uniteAffectationName
   * @return l'attribut uniteAffectationName
   */
  public String getCodeUnite() {
    return this.codeUnite;
  }
 
}