File tree Expand file tree Collapse file tree
main/java/org/apache/syncope/core/persistence/jpa/dao/repo
test/java/org/apache/syncope/core/persistence/jpa/inner
persistence-neo4j/src/test/java/org/apache/syncope/core/persistence/neo4j/inner Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ public interface UserRepo
4040 @ Override
4141 Optional <String > findUsername (@ Param ("key" ) String key );
4242
43- @ Query ("SELECT e FROM #{#entityName} e WHERE e.token LIKE :token" )
43+ @ Query ("SELECT e FROM #{#entityName} e WHERE e.token = :token" )
4444 @ Override
4545 Optional <? extends User > findByToken (@ Param ("token" ) String token );
4646
Original file line number Diff line number Diff line change @@ -90,6 +90,18 @@ public void findUsername() {
9090 @ Test
9191 public void findByToken () {
9292 assertTrue (userDAO .findByToken ("WRONG TOKEN" ).isEmpty ());
93+
94+ User user = userDAO .findById ("823074dc-d280-436d-a7dd-07399fae48ec" ).orElseThrow ();
95+ user .generateToken (32 , 60 );
96+ user = userDAO .save (user );
97+
98+ String token = user .getToken ();
99+ assertEquals (user .getKey (), userDAO .findByToken (token ).orElseThrow ().getKey ());
100+
101+ // wildcards must not be interpreted as such, or tokens could be guessed character by character
102+ assertTrue (userDAO .findByToken (token .substring (0 , token .length () - 1 ) + "%" ).isEmpty ());
103+ assertTrue (userDAO .findByToken ("%" ).isEmpty ());
104+ assertTrue (userDAO .findByToken ("_" ).isEmpty ());
93105 }
94106
95107 @ Test
Original file line number Diff line number Diff line change @@ -90,6 +90,18 @@ public void findUsername() {
9090 @ Test
9191 public void findByToken () {
9292 assertTrue (userDAO .findByToken ("WRONG TOKEN" ).isEmpty ());
93+
94+ User user = userDAO .findById ("823074dc-d280-436d-a7dd-07399fae48ec" ).orElseThrow ();
95+ user .generateToken (32 , 60 );
96+ user = userDAO .save (user );
97+
98+ String token = user .getToken ();
99+ assertEquals (user .getKey (), userDAO .findByToken (token ).orElseThrow ().getKey ());
100+
101+ // wildcards must not be interpreted as such, or tokens could be guessed character by character
102+ assertTrue (userDAO .findByToken (token .substring (0 , token .length () - 1 ) + "%" ).isEmpty ());
103+ assertTrue (userDAO .findByToken ("%" ).isEmpty ());
104+ assertTrue (userDAO .findByToken ("_" ).isEmpty ());
93105 }
94106
95107 @ Test
You can’t perform that action at this time.
0 commit comments