19
19
*/
20
20
package com .xpn .xwiki .user .api ;
21
21
22
+ import javax .inject .Named ;
23
+
22
24
import org .junit .jupiter .api .BeforeEach ;
23
25
import org .junit .jupiter .api .Test ;
24
26
import org .mockito .Mock ;
25
27
import org .xwiki .localization .ContextualLocalizationManager ;
28
+ import org .xwiki .model .document .DocumentAuthors ;
26
29
import org .xwiki .model .reference .DocumentReference ;
30
+ import org .xwiki .test .junit5 .mockito .MockComponent ;
27
31
import org .xwiki .test .mockito .MockitoComponentManager ;
32
+ import org .xwiki .user .UserReferenceResolver ;
28
33
29
34
import com .xpn .xwiki .XWikiException ;
30
35
import com .xpn .xwiki .doc .XWikiDocument ;
@@ -56,21 +61,29 @@ public class XWikiUserTest
56
61
@ InjectMockitoOldcore
57
62
private MockitoOldcore mockitoOldcore ;
58
63
64
+ @ MockComponent
65
+ @ Named ("document" )
66
+ private UserReferenceResolver <DocumentReference > documentReferenceUserReferenceResolver ;
67
+
59
68
@ Mock
60
69
private XWikiDocument userDocument ;
61
70
62
- private DocumentReference userClassReference = new DocumentReference ("xwiki" , "XWiki" , "XWikiUsers" );
71
+ @ Mock
72
+ private DocumentAuthors authors ;
73
+
74
+ private final DocumentReference userClassReference = new DocumentReference ("xwiki" , "XWiki" , "XWikiUsers" );
63
75
64
- private DocumentReference userReference = new DocumentReference ("xwiki" , "XWiki" , "Foo" );
76
+ private final DocumentReference userReference = new DocumentReference ("xwiki" , "XWiki" , "Foo" );
65
77
66
78
@ BeforeEach
67
79
public void setup (MockitoComponentManager componentManager ) throws Exception
68
80
{
69
- when (mockitoOldcore .getSpyXWiki ().getDocument (userReference , mockitoOldcore .getXWikiContext ()))
70
- .thenReturn (userDocument );
71
- when (userDocument .getDocumentReference ()).thenReturn (userReference );
72
- when (userDocument .getDocumentReferenceWithLocale ()).thenReturn (userReference );
73
- when (userDocument .clone ()).thenReturn (userDocument );
81
+ when (this .mockitoOldcore .getSpyXWiki ().getDocument (this .userReference , this .mockitoOldcore .getXWikiContext ()))
82
+ .thenReturn (this .userDocument );
83
+ when (this .userDocument .getDocumentReference ()).thenReturn (this .userReference );
84
+ when (this .userDocument .getDocumentReferenceWithLocale ()).thenReturn (this .userReference );
85
+ when (this .userDocument .getAuthors ()).thenReturn (this .authors );
86
+ when (this .userDocument .clone ()).thenReturn (this .userDocument );
74
87
componentManager .registerMockComponent (ContextualLocalizationManager .class , "default" );
75
88
}
76
89
@@ -95,138 +108,142 @@ public void createWithNullFullName()
95
108
@ Test
96
109
public void isDisabled ()
97
110
{
98
- XWikiUser user = new XWikiUser (userReference );
99
- when (userDocument .getIntValue (userClassReference , XWikiUser .ACTIVE_PROPERTY , 1 )).thenReturn (1 );
100
- assertFalse (user .isDisabled (mockitoOldcore .getXWikiContext ()));
111
+ XWikiUser user = new XWikiUser (this . userReference );
112
+ when (this . userDocument .getIntValue (this . userClassReference , XWikiUser .ACTIVE_PROPERTY , 1 )).thenReturn (1 );
113
+ assertFalse (user .isDisabled (this . mockitoOldcore .getXWikiContext ()));
101
114
102
- when (userDocument .getIntValue (userClassReference , XWikiUser .ACTIVE_PROPERTY , 1 )).thenReturn (0 );
103
- assertTrue (user .isDisabled (mockitoOldcore .getXWikiContext ()));
115
+ when (this . userDocument .getIntValue (this . userClassReference , XWikiUser .ACTIVE_PROPERTY , 1 )).thenReturn (0 );
116
+ assertTrue (user .isDisabled (this . mockitoOldcore .getXWikiContext ()));
104
117
105
118
user = new XWikiUser ((DocumentReference ) null );
106
- assertFalse (user .isDisabled (mockitoOldcore .getXWikiContext ()));
119
+ assertFalse (user .isDisabled (this . mockitoOldcore .getXWikiContext ()));
107
120
108
121
user = new XWikiUser (XWikiRightService .SUPERADMIN_USER_FULLNAME );
109
- assertFalse (user .isDisabled (mockitoOldcore .getXWikiContext ()));
122
+ assertFalse (user .isDisabled (this . mockitoOldcore .getXWikiContext ()));
110
123
}
111
124
112
125
@ Test
113
126
public void setDisabledFalseNormalUser () throws XWikiException
114
127
{
115
- XWikiUser user = new XWikiUser (userReference );
116
- user .setDisabled (false , mockitoOldcore .getXWikiContext ());
117
- verify (userDocument , times (1 )).setIntValue (userClassReference , XWikiUser .ACTIVE_PROPERTY , 1 );
118
- verify (mockitoOldcore .getSpyXWiki (), times (1 ))
119
- .saveDocument (same (userDocument ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
128
+ XWikiUser user = new XWikiUser (this .userReference );
129
+ user .setDisabled (false , this .mockitoOldcore .getXWikiContext ());
130
+ verify (this .userDocument , times (1 )).setIntValue (this .userClassReference , XWikiUser .ACTIVE_PROPERTY , 1 );
131
+ verify (this .mockitoOldcore .getSpyXWiki (), times (1 ))
132
+ .saveDocument (same (this .userDocument ), any (String .class ), same (this .mockitoOldcore .getXWikiContext ()));
133
+ verify (this .authors , times (1 )).setOriginalMetadataAuthor (any ());
134
+ verify (this .authors , never ()).setEffectiveMetadataAuthor (any ());
120
135
}
121
136
122
137
@ Test
123
138
public void setDisabledTrueNormalUser () throws XWikiException
124
139
{
125
- XWikiUser user = new XWikiUser (userReference );
126
- user .setDisabled (true , mockitoOldcore .getXWikiContext ());
127
- verify (userDocument , times (1 )).setIntValue (userClassReference , XWikiUser .ACTIVE_PROPERTY , 0 );
128
- verify (mockitoOldcore .getSpyXWiki (), times (1 ))
129
- .saveDocument (same (userDocument ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
140
+ XWikiUser user = new XWikiUser (this .userReference );
141
+ user .setDisabled (true , this .mockitoOldcore .getXWikiContext ());
142
+ verify (this .userDocument , times (1 )).setIntValue (this .userClassReference , XWikiUser .ACTIVE_PROPERTY , 0 );
143
+ verify (this .mockitoOldcore .getSpyXWiki (), times (1 ))
144
+ .saveDocument (same (this .userDocument ), any (String .class ), same (this .mockitoOldcore .getXWikiContext ()));
145
+ verify (this .authors , times (1 )).setOriginalMetadataAuthor (any ());
146
+ verify (this .authors , never ()).setEffectiveMetadataAuthor (any ());
130
147
}
131
148
132
149
@ Test
133
150
public void setDisabledGuestOrSuperadminUser () throws XWikiException
134
151
{
135
152
// With guest user we never save anything
136
153
XWikiUser user = new XWikiUser ((DocumentReference ) null );
137
- user .setDisabled (true , mockitoOldcore .getXWikiContext ());
138
- verify (userDocument , never ())
139
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
140
- verify (mockitoOldcore .getSpyXWiki (), never ())
141
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
142
-
143
- user .setDisabled (false , mockitoOldcore .getXWikiContext ());
144
- verify (userDocument , never ())
145
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
146
- verify (mockitoOldcore .getSpyXWiki (), never ())
147
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
154
+ user .setDisabled (true , this . mockitoOldcore .getXWikiContext ());
155
+ verify (this . userDocument , never ())
156
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
157
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
158
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
159
+
160
+ user .setDisabled (false , this . mockitoOldcore .getXWikiContext ());
161
+ verify (this . userDocument , never ())
162
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
163
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
164
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
148
165
149
166
// With superadmin user we never save anything
150
167
user = new XWikiUser (XWikiRightService .SUPERADMIN_USER_FULLNAME );
151
- user .setDisabled (true , mockitoOldcore .getXWikiContext ());
152
- verify (userDocument , never ())
153
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
154
- verify (mockitoOldcore .getSpyXWiki (), never ())
155
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
156
-
157
- user .setDisabled (false , mockitoOldcore .getXWikiContext ());
158
- verify (userDocument , never ())
159
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
160
- verify (mockitoOldcore .getSpyXWiki (), never ())
161
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
168
+ user .setDisabled (true , this . mockitoOldcore .getXWikiContext ());
169
+ verify (this . userDocument , never ())
170
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
171
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
172
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
173
+
174
+ user .setDisabled (false , this . mockitoOldcore .getXWikiContext ());
175
+ verify (this . userDocument , never ())
176
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
177
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
178
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
162
179
}
163
180
164
181
@ Test
165
182
public void isEmailChecked ()
166
183
{
167
- XWikiUser user = new XWikiUser (userReference );
168
- when (userDocument .getIntValue (userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 1 )).thenReturn (1 );
169
- assertTrue (user .isEmailChecked (mockitoOldcore .getXWikiContext ()));
184
+ XWikiUser user = new XWikiUser (this . userReference );
185
+ when (this . userDocument .getIntValue (this . userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 1 )).thenReturn (1 );
186
+ assertTrue (user .isEmailChecked (this . mockitoOldcore .getXWikiContext ()));
170
187
171
- when (userDocument .getIntValue (userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 1 )).thenReturn (0 );
172
- assertFalse (user .isEmailChecked (mockitoOldcore .getXWikiContext ()));
188
+ when (this . userDocument .getIntValue (this . userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 1 )).thenReturn (0 );
189
+ assertFalse (user .isEmailChecked (this . mockitoOldcore .getXWikiContext ()));
173
190
174
191
user = new XWikiUser ((DocumentReference ) null );
175
- assertTrue (user .isEmailChecked (mockitoOldcore .getXWikiContext ()));
192
+ assertTrue (user .isEmailChecked (this . mockitoOldcore .getXWikiContext ()));
176
193
177
194
user = new XWikiUser (XWikiRightService .SUPERADMIN_USER_FULLNAME );
178
- assertTrue (user .isEmailChecked (mockitoOldcore .getXWikiContext ()));
195
+ assertTrue (user .isEmailChecked (this . mockitoOldcore .getXWikiContext ()));
179
196
}
180
197
181
198
@ Test
182
199
public void setEmailCheckedFalseNormalUser () throws XWikiException
183
200
{
184
- XWikiUser user = new XWikiUser (userReference );
185
- user .setEmailChecked (false , mockitoOldcore .getXWikiContext ());
186
- verify (userDocument , times (1 )).setIntValue (userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 0 );
187
- verify (mockitoOldcore .getSpyXWiki (), times (1 ))
188
- .saveDocument (same (userDocument ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
201
+ XWikiUser user = new XWikiUser (this . userReference );
202
+ user .setEmailChecked (false , this . mockitoOldcore .getXWikiContext ());
203
+ verify (this . userDocument , times (1 )).setIntValue (this . userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 0 );
204
+ verify (this . mockitoOldcore .getSpyXWiki (), times (1 ))
205
+ .saveDocument (same (this . userDocument ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
189
206
}
190
207
191
208
@ Test
192
209
public void setEmailCheckedTrueNormalUser () throws XWikiException
193
210
{
194
- XWikiUser user = new XWikiUser (userReference );
195
- user .setEmailChecked (true , mockitoOldcore .getXWikiContext ());
196
- verify (userDocument , times (1 )).setIntValue (userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 1 );
197
- verify (mockitoOldcore .getSpyXWiki (), times (1 ))
198
- .saveDocument (same (userDocument ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
211
+ XWikiUser user = new XWikiUser (this . userReference );
212
+ user .setEmailChecked (true , this . mockitoOldcore .getXWikiContext ());
213
+ verify (this . userDocument , times (1 )).setIntValue (this . userClassReference , XWikiUser .EMAIL_CHECKED_PROPERTY , 1 );
214
+ verify (this . mockitoOldcore .getSpyXWiki (), times (1 ))
215
+ .saveDocument (same (this . userDocument ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
199
216
}
200
217
201
218
@ Test
202
219
public void setEmailCheckedGuestOrSuperadminUser () throws XWikiException
203
220
{
204
221
// With guest user we never save anything
205
222
XWikiUser user = new XWikiUser ((DocumentReference ) null );
206
- user .setEmailChecked (true , mockitoOldcore .getXWikiContext ());
207
- verify (userDocument , never ())
208
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
209
- verify (mockitoOldcore .getSpyXWiki (), never ())
210
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
211
-
212
- user .setEmailChecked (false , mockitoOldcore .getXWikiContext ());
213
- verify (userDocument , never ())
214
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
215
- verify (mockitoOldcore .getSpyXWiki (), never ())
216
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
223
+ user .setEmailChecked (true , this . mockitoOldcore .getXWikiContext ());
224
+ verify (this . userDocument , never ())
225
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
226
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
227
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
228
+
229
+ user .setEmailChecked (false , this . mockitoOldcore .getXWikiContext ());
230
+ verify (this . userDocument , never ())
231
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
232
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
233
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
217
234
218
235
// With superadmin user we never save anything
219
236
user = new XWikiUser (XWikiRightService .SUPERADMIN_USER_FULLNAME );
220
- user .setEmailChecked (true , mockitoOldcore .getXWikiContext ());
221
- verify (userDocument , never ())
222
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
223
- verify (mockitoOldcore .getSpyXWiki (), never ())
224
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
225
-
226
- user .setEmailChecked (false , mockitoOldcore .getXWikiContext ());
227
- verify (userDocument , never ())
228
- .setIntValue (same (userClassReference ), any (String .class ), any (Integer .class ));
229
- verify (mockitoOldcore .getSpyXWiki (), never ())
230
- .saveDocument (any (XWikiDocument .class ), any (String .class ), same (mockitoOldcore .getXWikiContext ()));
237
+ user .setEmailChecked (true , this . mockitoOldcore .getXWikiContext ());
238
+ verify (this . userDocument , never ())
239
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
240
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
241
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
242
+
243
+ user .setEmailChecked (false , this . mockitoOldcore .getXWikiContext ());
244
+ verify (this . userDocument , never ())
245
+ .setIntValue (same (this . userClassReference ), any (String .class ), any (Integer .class ));
246
+ verify (this . mockitoOldcore .getSpyXWiki (), never ())
247
+ .saveDocument (any (XWikiDocument .class ), any (String .class ), same (this . mockitoOldcore .getXWikiContext ()));
231
248
}
232
249
}
0 commit comments