1818
1919import static org .apache .karaf .jaas .modules .PrincipalHelper .names ;
2020import static org .hamcrest .Matchers .containsInAnyOrder ;
21- import static org .hamcrest .Matchers .contains ;
22- import static org .hamcrest .MatcherAssert .assertThat ;
2321import static org .junit .Assert .assertEquals ;
2422import static org .junit .Assert .assertNotNull ;
25- import static org .junit .Assert .assertTrue ;
2623import static org .junit .Assert .fail ;
2724
2825import java .io .File ;
2926import java .io .IOException ;
30- import java .util .Arrays ;
31- import java .util .List ;
32- import java .util .stream .Collectors ;
3327
3428import org .apache .felix .utils .properties .Properties ;
3529import org .apache .karaf .jaas .boot .principal .GroupPrincipal ;
3630import org .apache .karaf .jaas .boot .principal .UserPrincipal ;
31+ import org .apache .karaf .jaas .modules .PrincipalHelper ;
3732import org .junit .After ;
3833import org .junit .Assert ;
3934import org .junit .Before ;
@@ -58,8 +53,8 @@ public void testUserRoles() throws IOException {
5853 engine .addRole ("a" , "role1" );
5954 engine .addRole ("a" , "role2" );
6055
61- UserPrincipal upa = getUser (engine , "a" );
62- assertThat (names (engine .listRoles (upa )), containsInAnyOrder ("role1" , "role2" ));
56+ UserPrincipal upa = PrincipalHelper . getUser (engine , "a" );
57+ Assert . assertThat (names (engine .listRoles (upa )), containsInAnyOrder ("role1" , "role2" ));
6358
6459 engine .addGroup ("a" , "g" );
6560 engine .addGroupRole ("g" , "role2" );
@@ -68,26 +63,26 @@ public void testUserRoles() throws IOException {
6863 engine .addGroup ("b" , "g2" );
6964 engine .addGroupRole ("g2" , "role4" );
7065
71- assertThat (names (engine .listUsers ()), containsInAnyOrder ("a" , "b" ));
72- assertThat (names (engine .listRoles (upa )), containsInAnyOrder ("role1" , "role2" , "role3" ));
66+ Assert . assertThat (names (engine .listUsers ()), containsInAnyOrder ("a" , "b" ));
67+ Assert . assertThat (names (engine .listRoles (upa )), containsInAnyOrder ("role1" , "role2" , "role3" ));
7368
7469 checkLoading ();
7570
7671 assertNotNull (engine .lookupUser ("a" ));
7772 assertEquals ("a" , engine .lookupUser ("a" ).getName ());
7873
7974 // removing some stuff
80- UserPrincipal upb = getUser (engine , "b" );
75+ UserPrincipal upb = PrincipalHelper . getUser (engine , "b" );
8176 assertEquals (1 , engine .listGroups (upa ).size ());
8277 assertEquals (2 , engine .listGroups (upb ).size ());
8378
8479 GroupPrincipal gp = engine .listGroups (upa ).iterator ().next ();
8580 engine .deleteGroupRole ("g" , "role2" );
86- assertThat (names (engine .listRoles (gp )), containsInAnyOrder ("role3" ));
81+ Assert . assertThat (names (engine .listRoles (gp )), containsInAnyOrder ("role3" ));
8782
8883 // role2 should still be there as it was added to the user directly too
89- assertThat (names (engine .listRoles (upa )), containsInAnyOrder ("role1" , "role2" , "role3" ));
90- assertThat (names (engine .listRoles (upb )), containsInAnyOrder ("role3" , "role4" ));
84+ Assert . assertThat (names (engine .listRoles (upa )), containsInAnyOrder ("role1" , "role2" , "role3" ));
85+ Assert . assertThat (names (engine .listRoles (upb )), containsInAnyOrder ("role3" , "role4" ));
9186
9287 engine .deleteGroup ("b" , "g" );
9388 engine .deleteGroup ("b" , "g2" );
@@ -101,65 +96,14 @@ public void testUserRoles() throws IOException {
10196 private void checkLoading () throws IOException {
10297 PropertiesBackingEngine engine = new PropertiesBackingEngine (new Properties (f ));
10398 assertEquals (2 , engine .listUsers ().size ());
104- UserPrincipal upa_2 = getUser (engine , "a" );
105- UserPrincipal upb_2 = getUser (engine , "b" );
99+ UserPrincipal upa_2 = PrincipalHelper . getUser (engine , "a" );
100+ UserPrincipal upb_2 = PrincipalHelper . getUser (engine , "b" );
106101
107102 assertEquals (3 , engine .listRoles (upa_2 ).size ());
108- assertThat (names (engine .listRoles (upa_2 )), containsInAnyOrder ("role1" , "role2" , "role3" ));
103+ Assert . assertThat (names (engine .listRoles (upa_2 )), containsInAnyOrder ("role1" , "role2" , "role3" ));
109104
110105 assertEquals (3 , engine .listRoles (upb_2 ).size ());
111- assertThat (names (engine .listRoles (upb_2 )), containsInAnyOrder ("role2" , "role3" , "role4" ));
112- }
113-
114- private UserPrincipal getUser (PropertiesBackingEngine engine , String name ) {
115- List <UserPrincipal > matchingUsers = engine .listUsers ().stream ()
116- .filter (user ->name .equals (user .getName ())).collect (Collectors .toList ());
117- Assert .assertFalse ("User with name " + name + " was not found" , matchingUsers .isEmpty ());
118- return matchingUsers .iterator ().next ();
119- }
120-
121- @ Test
122- public void testUserPassword () throws IOException {
123- Properties p = new Properties (f );
124- PropertiesBackingEngine engine = new PropertiesBackingEngine (p );
125-
126- // update password when user has no roles
127- engine .addUser ("a" , "pass1" );
128- engine .addUser ("a" , "pass2" );
129- assertThat (Arrays .asList (p .get ("a" ).split ("," )), contains ("pass2" ));
130- UserPrincipal upa = getUser (engine , "a" );
131- assertTrue (engine .listRoles (upa ).isEmpty ());
132-
133- // update empty password when user has no roles
134- engine .addUser ("b" , "" );
135- engine .addUser ("b" , "pass3" );
136- assertThat (Arrays .asList (p .get ("b" ).split ("," )), contains ("pass3" ));
137- UserPrincipal upb = getUser (engine , "b" );
138- assertTrue (engine .listRoles (upb ).isEmpty ());
139-
140- // update password when user has roles
141- engine .addUser ("c" , "pass4" );
142- engine .addRole ("c" , "role1" );
143- engine .addGroup ("c" , "g1" );
144- engine .addGroupRole ("g1" , "role2" );
145- engine .addUser ("c" , "pass5" );
146- assertThat (Arrays .asList (p .get ("c" ).split ("," )),
147- contains ("pass5" , "role1" , PropertiesBackingEngine .GROUP_PREFIX + "g1" ));
148- UserPrincipal upc = getUser (engine , "c" );
149- assertThat (names (engine .listRoles (upc )), containsInAnyOrder ("role1" , "role2" ));
150- assertThat (names (engine .listGroups (upc )), containsInAnyOrder ("g1" ));
151-
152- // update empty password when user has roles
153- engine .addUser ("d" , "" );
154- engine .addRole ("d" , "role3" );
155- engine .addGroup ("d" , "g2" );
156- engine .addGroupRole ("g2" , "role4" );
157- engine .addUser ("d" , "pass6" );
158- assertThat (Arrays .asList (p .get ("d" ).split ("," )),
159- contains ("pass6" , "role3" , PropertiesBackingEngine .GROUP_PREFIX + "g2" ));
160- UserPrincipal upd = getUser (engine , "d" );
161- assertThat (names (engine .listRoles (upd )), containsInAnyOrder ("role3" , "role4" ));
162- assertThat (names (engine .listGroups (upd )), containsInAnyOrder ("g2" ));
106+ Assert .assertThat (names (engine .listRoles (upb_2 )), containsInAnyOrder ("role2" , "role3" , "role4" ));
163107 }
164108
165109 @ After
0 commit comments