PakhomovAlexander commented on code in PR #2688:
URL: https://github.com/apache/ignite-3/pull/2688#discussion_r1366847950


##########
modules/security/src/test/java/org/apache/ignite/internal/security/authentication/AuthenticationManagerImplTest.java:
##########
@@ -20,200 +20,191 @@
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 import java.util.function.Consumer;
 import 
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
 import 
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
 import 
org.apache.ignite.internal.security.authentication.basic.BasicAuthenticationProviderChange;
+import 
org.apache.ignite.internal.security.authentication.event.AuthenticationDisabled;
+import 
org.apache.ignite.internal.security.authentication.event.AuthenticationEnabled;
+import 
org.apache.ignite.internal.security.authentication.event.AuthenticationEvent;
+import 
org.apache.ignite.internal.security.authentication.event.AuthenticationListener;
+import 
org.apache.ignite.internal.security.authentication.event.AuthenticationProviderRemoved;
+import 
org.apache.ignite.internal.security.authentication.event.AuthenticationProviderUpdated;
 import org.apache.ignite.internal.security.configuration.SecurityChange;
 import org.apache.ignite.internal.security.configuration.SecurityConfiguration;
 import org.apache.ignite.internal.security.configuration.SecurityView;
 import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
 import org.apache.ignite.security.exception.InvalidCredentialsException;
 import 
org.apache.ignite.security.exception.UnsupportedAuthenticationTypeException;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 
-
 @ExtendWith(ConfigurationExtension.class)
 class AuthenticationManagerImplTest extends BaseIgniteAbstractTest {
+    private static final String PROVIDER = "basic";
+
+    private static final String USERNAME = "admin";
+
+    private static final String PASSWORD = "password";
+
+    private static final UsernamePasswordRequest USERNAME_PASSWORD_REQUEST = 
new UsernamePasswordRequest(USERNAME, PASSWORD);
+
     private final AuthenticationManagerImpl manager = new 
AuthenticationManagerImpl();
 
+    private final List<AuthenticationEvent> events = new ArrayList<>();
+
+    private final AuthenticationListener listener = events::add;
+
     @InjectConfiguration
     private SecurityConfiguration securityConfiguration;
 
+    @BeforeEach
+    void setUp() {
+        manager.listen(listener);
+    }
+
     @Test
     public void enableAuth() {
         // when
-        SecurityView adminPasswordView = mutateConfiguration(
-                securityConfiguration, change -> {
-                    change.changeAuthentication().changeProviders(providers -> 
providers.create("basic", provider -> {
-                        
provider.convert(BasicAuthenticationProviderChange.class)
-                                .changeUsername("admin")
-                                .changePassword("password");
-                    }));
-                    change.changeEnabled(true);
-                })
-                .value();
-
-        manager.onUpdate(new StubSecurityViewEvent(null, 
adminPasswordView)).join();
+        enableAuthentication();
 
         // then
         // successful authentication with valid credentials
-        UsernamePasswordRequest validCredentials = new 
UsernamePasswordRequest("admin", "password");
 
-        assertEquals("admin", 
manager.authenticate(validCredentials).username());
+        assertEquals(USERNAME, 
manager.authenticate(USERNAME_PASSWORD_REQUEST).username());
 
         // and failed authentication with invalid credentials
         assertThrows(InvalidCredentialsException.class,
-                () -> manager.authenticate(new 
UsernamePasswordRequest("admin", "invalid-password")));
+                () -> manager.authenticate(new 
UsernamePasswordRequest(USERNAME, "invalid-password")));
+
+        assertEquals(1, events.size());

Review Comment:
   @Flaugh24 can you answer this, please?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to