33namespace M6Web \Bundle \LogBridgeBundle \Tests \Units \Formatter ;
44
55use atoum ;
6+ use Symfony \Component \Security \Core \User \InMemoryUser ;
67use Symfony \Component \Security \Core \User \User ;
78use M6Web \Bundle \LogBridgeBundle \Formatter ;
89use Symfony \Component \HttpFoundation \Request ;
1415class DefaultFormatter extends atoum
1516{
1617 const ENVIRONMENT = 'test ' ;
18+ const USERNAME = 'test-username ' ;
19+ const PASSWORD = 'test-password ' ;
1720
1821 private function getUser ()
1922 {
20- return new User ('test ' , 'password ' );
23+ if (class_exists (User::class)) {
24+ return new User (self ::USERNAME , self ::PASSWORD );
25+ }
26+
27+ return new InMemoryUser (self ::USERNAME , self ::PASSWORD );
2128 }
2229
23- private function getMockedToken (User $ user = null )
30+ private function getMockedToken ()
2431 {
25- $ user = $ user ?: $ this ->getUser ();
26- $ token = new \mock \Symfony \Component \Security \Core \Authentication \TokenInterface ();
32+ $ usernameMethod = 'getUserIdentifier ' ;
33+ if (method_exists ('Symfony\Component\Security\Core\Authentication\Token\TokenInterface ' , 'getUsername ' )) {
34+ // compatibility Symfony < 6
35+ $ usernameMethod = 'getUsername ' ;
36+ }
2737
28- $ token-> getMockController ()-> getUsername = $ user -> getUsername ();
29- $ token ->getMockController ()->getUser = $ user ;
30- $ token ->getMockController ()->__toString = $ user -> getUsername ();
31- $ token ->getMockController ()->getCredentials = ' test ' ;
38+ $ token = new \ mock \ Symfony \ Component \ Security \ Core \ Authentication \ Token \ TokenInterface ();
39+ $ token ->getMockController ()->$ usernameMethod = self :: USERNAME ;
40+ $ token ->getMockController ()->getUser = $ this -> getUser ();
41+ $ token ->getMockController ()->__toString = self :: USERNAME ;
3242
3343 return $ token ;
3444 }
@@ -85,7 +95,7 @@ public function testProvider()
8595 ->integer ($ logContext ['status ' ])
8696 ->isEqualTo ($ status )
8797 ->string ($ logContext ['user ' ])
88- ->isEqualTo ($ tokenstorage -> getToken ()-> getUsername () )
98+ ->isEqualTo (self :: USERNAME )
8999 ->string ($ logContext ['key ' ])
90100 ->isEqualTo (sprintf ('%s.%s.%s.%s ' , self ::ENVIRONMENT , $ route , $ method , $ status ))
91101 ;
@@ -104,14 +114,10 @@ public function testPostProvider()
104114 ];
105115
106116
107- $ request = new \mock \Symfony \Component \HttpFoundation \Request ([], $ post );
108- $ request ->getMockController ()->getMethod = 'POST ' ;
117+ $ request = new Request ([], $ post , [], [], [], ['REQUEST_METHOD ' => 'POST ' ]);
109118
110119 $ response = new Response ('Body content response ' );
111120 $ tokenstorage = $ this ->getMockedTokenStorage ();
112- $ route = $ request ->get ('_route ' );
113- $ method = $ request ->getMethod ();
114- $ status = $ response ->getStatusCode ();
115121
116122 $ this
117123 ->if ($ provider = $ this ->createProvider ())
0 commit comments