From fe03e51cfe4fdb7f3164262de984c65c3b525fc1 Mon Sep 17 00:00:00 2001 From: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> Date: Wed, 8 Feb 2023 20:50:31 +0530 Subject: [PATCH] fix(ui): eliminate username logic from signIn process (#10131) * fix(ui): eliminate username logic from signIn process * fix failing cypress --------- Co-authored-by: Shailesh Parmar --- .../ui/cypress/e2e/Pages/Login.spec.js | 40 ++++++++++--------- .../resources/ui/cypress/support/commands.js | 2 +- .../auth-provider/AuthProvider.tsx | 5 +-- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Login.spec.js b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Login.spec.js index 4fc590190d2..fa175d949a9 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Login.spec.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Login.spec.js @@ -62,26 +62,30 @@ describe('Login flow should work properly', () => { // Login with the created user - // login(CREDENTIALS.email, CREDENTIALS.password); - // cy.goToHomePage(); - // cy.url().should('eq', `${BASE_URL}/my-data`); + login(CREDENTIALS.email, CREDENTIALS.password); + cy.goToHomePage(); + cy.url().should('eq', `${BASE_URL}/my-data`); - // //Verify user profile - // cy.get('[data-testid="avatar"]').first().should('be.visible').trigger('mouseover').click(); + // Verify user profile + cy.get('[data-testid="avatar"]') + .first() + .should('be.visible') + .trigger('mouseover') + .click(); - // cy.get('[data-testid="user-name"]') - // .should('be.visible') - // .invoke('text') - // .should('contain', `${CREDENTIALS.firstName}${CREDENTIALS.lastName}`); - // interceptURL('GET', 'api/v1/users/name/*', 'getUserPage'); - // cy.get('[data-testid="user-name"]') - // .should('be.visible') - // .click({ force: true }); - // verifyResponseStatusCode('@getUserPage', 200); - // cy.get('[data-testid="left-panel"]').should( - // 'contain', - // `${CREDENTIALS.firstName}${CREDENTIALS.lastName}` - // ); + cy.get('[data-testid="user-name"]') + .should('be.visible') + .invoke('text') + .should('contain', `${CREDENTIALS.firstName}${CREDENTIALS.lastName}`); + interceptURL('GET', 'api/v1/users/name/*', 'getUser'); + cy.get('[data-testid="user-name"]') + .should('be.visible') + .click({ force: true }); + verifyResponseStatusCode('@getUser', 200); + cy.get('[data-testid="left-panel"]').should( + 'contain', + `${CREDENTIALS.firstName}${CREDENTIALS.lastName}` + ); }); it('Signin using invalid credentials', () => { diff --git a/openmetadata-ui/src/main/resources/ui/cypress/support/commands.js b/openmetadata-ui/src/main/resources/ui/cypress/support/commands.js index e19fe74c192..c0a48b0e1f0 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/support/commands.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/support/commands.js @@ -80,7 +80,7 @@ Cypress.Commands.add('loginByGoogleApi', () => { Cypress.Commands.add('goToHomePage', () => { interceptURL('GET', '/api/v1/system/entities/count', 'count'); interceptURL('GET', '/api/v1/feed*', 'feed'); - interceptURL('GET', '/api/v1/users/name/*?fields=*', 'userProfile'); + interceptURL('GET', '/api/v1/users/*?fields=*', 'userProfile'); cy.get('[data-testid="whats-new-dialog"]') .should('exist') .then(() => { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/authentication/auth-provider/AuthProvider.tsx b/openmetadata-ui/src/main/resources/ui/src/components/authentication/auth-provider/AuthProvider.tsx index 8228651d948..7b73a52b705 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/authentication/auth-provider/AuthProvider.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/authentication/auth-provider/AuthProvider.tsx @@ -34,7 +34,7 @@ import React, { import { useHistory, useLocation } from 'react-router-dom'; import axiosClient from 'rest/index'; import { fetchAuthenticationConfig, fetchAuthorizerConfig } from 'rest/miscAPI'; -import { getLoggedInUser, getUserByName, updateUser } from 'rest/userAPI'; +import { getLoggedInUser, updateUser } from 'rest/userAPI'; import appState from '../../../AppState'; import { NO_AUTH } from '../../../constants/auth.constants'; import { REDIRECT_PATHNAME, ROUTES } from '../../../constants/constants'; @@ -46,7 +46,6 @@ import jsonData from '../../../jsons/en'; import { extractDetailsFromToken, getAuthConfig, - getNameFromEmail, getUrlPathnameExpiry, getUserManagerConfig, isProtectedRoute, @@ -329,7 +328,7 @@ export const AuthProvider = ({ authConfig?.provider === AuthType.Basic ? userAPIQueryFields + ',' + isEmailVerifyField : userAPIQueryFields; - getUserByName(getNameFromEmail(user.profile.email), fields) + getLoggedInUser(fields) .then((res) => { if (res) { const updatedUserData = getUserDataFromOidc(res, user);