From 0e90d20ba384053e081e9f22164f785ed654ce6a Mon Sep 17 00:00:00 2001 From: "Qingyang(Abby) Hu" Date: Thu, 9 Sep 2021 19:01:43 -0700 Subject: [PATCH] Branding configs rename and improvement (#771) Change config smallLogoUrl to logoUrl, config logoUrl to fullLogoUrl to emphasize that thumbnail version of the logo will be used mostly in the application. Full version of the logo will only be used on the main page nav bar. If full logo is not provided, thumbnail logo will be used on the nav bar. Some config improvement includes fixing the validation error when inputting empty string, and add title validation function. Signed-off-by: Qingyang(Abby) Hu --- config/opensearch_dashboards.yml | 4 +- .../header/__snapshots__/header.test.tsx.snap | 22 +- ...earch_dashboards_custom_logo.test.tsx.snap | 268 +++++++++++++----- ...opensearch_dashboards_custom_logo.test.tsx | 15 +- .../opensearch_dashboards_custom_logo.tsx | 24 +- .../public/chrome/ui/header/header.test.tsx | 2 +- src/core/public/chrome/ui/header/header.tsx | 4 +- .../public/chrome/ui/header/header_logo.tsx | 7 +- src/core/public/index.ts | 4 +- .../injected_metadata_service.test.ts | 4 +- .../injected_metadata_service.ts | 4 +- .../server/opensearch_dashboards_config.ts | 6 +- .../rendering/__mocks__/rendering_service.ts | 2 + .../rendering/rendering_service.test.ts | 28 +- .../server/rendering/rendering_service.tsx | 34 ++- src/core/server/rendering/types.ts | 2 +- .../__snapshots__/template.test.tsx.snap | 8 +- .../server/rendering/views/template.test.tsx | 4 +- src/core/server/rendering/views/template.tsx | 6 +- src/legacy/server/config/schema.js | 8 +- .../__snapshots__/welcome.test.tsx.snap | 8 +- .../application/components/welcome.test.tsx | 4 +- .../public/application/components/welcome.tsx | 10 +- .../opensearch_dashboards_services.ts | 2 +- test/common/config.js | 4 +- .../apps/visualize/_custom_branding.js | 4 +- 26 files changed, 338 insertions(+), 150 deletions(-) diff --git a/config/opensearch_dashboards.yml b/config/opensearch_dashboards.yml index 7b3416f6208d..9c1ba20aa5cd 100644 --- a/config/opensearch_dashboards.yml +++ b/config/opensearch_dashboards.yml @@ -152,10 +152,10 @@ #vis_type_timeline.graphiteBlockedIPs: [] # full version customized logo URL -# opensearchDashboards.branding.logoUrl: "" +# opensearchDashboards.branding.fullLogoUrl: "" # smaller version customized logo URL -# opensearchDashboards.branding.smallLogoUrl: "" +# opensearchDashboards.branding.logoUrl: "" # customized loading logo URL # opensearchDashboards.branding.loadingLogoUrl: "" diff --git a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap index 23021f21c535..8421a105e5f0 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap @@ -249,8 +249,8 @@ exports[`Header renders 1`] = ` } branding={ Object { + "fullLogoUrl": "/", "logoUrl": "/", - "smallLogoUrl": "/", "title": "OpenSearch Dashboards", } } @@ -1672,6 +1672,13 @@ exports[`Header renders 1`] = ` "borders": "none", "items": Array [ logo - - - - - - - - - - - - - - - - - + title logo `; -exports[`Custom Logo Take in a normal URL string 1`] = ` +exports[`Custom Logo Take in an invalid full logo URL string and a valid logo URL string 1`] = ` logo `; + +exports[`Custom Logo Take in invalid full logo URL and logo URL 1`] = ` + + + + + + + + + + + + + + + + + + + +`; diff --git a/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.test.tsx b/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.test.tsx index 66a3f7a3694a..ef54524ddd3e 100644 --- a/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.test.tsx +++ b/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.test.tsx @@ -11,13 +11,20 @@ import { mountWithIntl } from 'test_utils/enzyme_helpers'; import { CustomLogo } from './opensearch_dashboards_custom_logo'; describe('Custom Logo', () => { - it('Take in a normal URL string', () => { - const branding = { logoUrl: '/custom' }; + it('Take in a normal full logo URL string', () => { + const branding = { fullLogoUrl: '/custom', title: 'title' }; const component = mountWithIntl(); expect(component).toMatchSnapshot(); }); - it('Take in a invalid URL string', () => { - const branding = {}; + + it('Take in an invalid full logo URL string and a valid logo URL string', () => { + const branding = { logoUrl: '/custom', title: 'title' }; + const component = mountWithIntl(); + expect(component).toMatchSnapshot(); + }); + + it('Take in invalid full logo URL and logo URL', () => { + const branding = { title: 'title' }; const component = mountWithIntl(); expect(component).toMatchSnapshot(); }); diff --git a/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.tsx b/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.tsx index bdf240cb1a7c..ce1c4eecd859 100644 --- a/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.tsx +++ b/src/core/public/chrome/ui/header/branding/opensearch_dashboards_custom_logo.tsx @@ -35,21 +35,33 @@ import '../header_logo.scss'; import { OpenSearchDashboardsLogoDarkMode } from './opensearch_dashboards_logo_darkmode'; /** - * @param {string} logoUrl - custom URL for the top left logo of the main screen + * @param {string} fullLogoUrl - custom URL for the top left logo of the main screen + * @param {string} logoUrl - custom URL for the logo icon + * @param {string} title - custom title for the application */ export interface CustomLogoType { + fullLogoUrl?: string; logoUrl?: string; + title: string; } - +/** + * + * @param {CustomLogoType} - branding object consist of fullLogoUrl, logoUrl and title + * @returns A image component which is going to be rendered on the main page header bar. + * If fullLogoUrl is valid, the full logo by fullLogoUrl config will be rendered; + * if not, the logo icon by logoUrl config will be rendered; if both are not found, + * the default opensearch logo will be rendered. + */ export const CustomLogo = ({ ...branding }: CustomLogoType) => { - return !branding.logoUrl ? ( + const headerLogoUrl = !branding.fullLogoUrl ? branding.logoUrl : branding.fullLogoUrl; + return !branding.fullLogoUrl && !branding.logoUrl ? ( OpenSearchDashboardsLogoDarkMode() ) : ( logo diff --git a/src/core/public/chrome/ui/header/header.test.tsx b/src/core/public/chrome/ui/header/header.test.tsx index 6393f59833bd..9a3ca4ece870 100644 --- a/src/core/public/chrome/ui/header/header.test.tsx +++ b/src/core/public/chrome/ui/header/header.test.tsx @@ -69,7 +69,7 @@ function mockProps() { isLocked$: new BehaviorSubject(false), loadingCount$: new BehaviorSubject(0), onIsLockedUpdate: () => {}, - branding: { logoUrl: '/', smallLogoUrl: '/', title: 'OpenSearch Dashboards' }, + branding: { fullLogoUrl: '/', logoUrl: '/', title: 'OpenSearch Dashboards' }, }; } diff --git a/src/core/public/chrome/ui/header/header.tsx b/src/core/public/chrome/ui/header/header.tsx index e7a4abd53cba..8555342503ab 100644 --- a/src/core/public/chrome/ui/header/header.tsx +++ b/src/core/public/chrome/ui/header/header.tsx @@ -87,7 +87,7 @@ export interface HeaderProps { isLocked$: Observable; loadingCount$: ReturnType; onIsLockedUpdate: OnIsLockedUpdate; - branding: { logoUrl?: string }; + branding: { fullLogoUrl?: string; logoUrl?: string; title: string }; } export function Header({ @@ -127,7 +127,7 @@ export function Header({ forceNavigation$={observables.forceAppSwitcherNavigation$} navLinks$={observables.navLinks$} navigateToApp={application.navigateToApp} - logoUrl={branding.logoUrl} + branding={branding} />, , ], diff --git a/src/core/public/chrome/ui/header/header_logo.tsx b/src/core/public/chrome/ui/header/header_logo.tsx index b7219a2e1863..b042da3c0d69 100644 --- a/src/core/public/chrome/ui/header/header_logo.tsx +++ b/src/core/public/chrome/ui/header/header_logo.tsx @@ -104,15 +104,12 @@ interface Props { navLinks$: Observable; forceNavigation$: Observable; navigateToApp: (appId: string) => void; - logoUrl?: string; + branding: CustomLogoType; } -export function HeaderLogo({ href, navigateToApp, logoUrl, ...observables }: Props) { +export function HeaderLogo({ href, navigateToApp, branding, ...observables }: Props) { const forceNavigation = useObservable(observables.forceNavigation$, false); const navLinks = useObservable(observables.navLinks$, []); - const branding: CustomLogoType = { - logoUrl, - }; return ( unknown; getBranding: () => { + fullLogoUrl?: string; logoUrl?: string; - smallLogoUrl?: string; title: string; }; }; @@ -297,8 +297,8 @@ export interface CoreStart { injectedMetadata: { getInjectedVar: (name: string, defaultValue?: any) => unknown; getBranding: () => { + fullLogoUrl?: string; logoUrl?: string; - smallLogoUrl?: string; title: string; }; }; diff --git a/src/core/public/injected_metadata/injected_metadata_service.test.ts b/src/core/public/injected_metadata/injected_metadata_service.test.ts index 140fa96f72f3..d21de7e96b64 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.test.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.test.ts @@ -234,11 +234,11 @@ describe('setup.getBranding()', () => { it('returns injectedMetadata.branding', () => { const injectedMetadata = new InjectedMetadataService({ injectedMetadata: { - branding: { logoUrl: '/', smallLogoUrl: '/', title: 'title' }, + branding: { fullLogoUrl: '/', logoUrl: '/', title: 'title' }, }, } as any); const branding = injectedMetadata.setup().getBranding(); - expect(branding).toEqual({ logoUrl: '/', smallLogoUrl: '/', title: 'title' }); + expect(branding).toEqual({ fullLogoUrl: '/', logoUrl: '/', title: 'title' }); }); }); diff --git a/src/core/public/injected_metadata/injected_metadata_service.ts b/src/core/public/injected_metadata/injected_metadata_service.ts index 2cb1eef378ad..ee69c8208267 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.ts @@ -77,8 +77,8 @@ export interface InjectedMetadataParams { }; }; branding: { + fullLogoUrl?: string; logoUrl?: string; - smallLogoUrl?: string; title: string; }; }; @@ -186,8 +186,8 @@ export interface InjectedMetadataSetup { [key: string]: unknown; }; getBranding: () => { + fullLogoUrl?: string; logoUrl?: string; - smallLogoUrl?: string; title: string; }; } diff --git a/src/core/server/opensearch_dashboards_config.ts b/src/core/server/opensearch_dashboards_config.ts index 8284ab6c6e9b..c3f2c7821c26 100644 --- a/src/core/server/opensearch_dashboards_config.ts +++ b/src/core/server/opensearch_dashboards_config.ts @@ -53,16 +53,16 @@ export const config = { autocompleteTerminateAfter: schema.duration({ defaultValue: 100000 }), autocompleteTimeout: schema.duration({ defaultValue: 1000 }), branding: schema.object({ - logoUrl: schema.string({ + fullLogoUrl: schema.string({ defaultValue: '/', }), - smallLogoUrl: schema.string({ + logoUrl: schema.string({ defaultValue: '/', }), loadingLogoUrl: schema.string({ defaultValue: '/', }), - title: schema.string({ defaultValue: 'OpenSearch Dashboards' }), + title: schema.string({ defaultValue: '' }), }), }), deprecations, diff --git a/src/core/server/rendering/__mocks__/rendering_service.ts b/src/core/server/rendering/__mocks__/rendering_service.ts index e3547c9f8baf..d4e0ede01828 100644 --- a/src/core/server/rendering/__mocks__/rendering_service.ts +++ b/src/core/server/rendering/__mocks__/rendering_service.ts @@ -42,10 +42,12 @@ export const setupMock: jest.Mocked = { export const mockSetup = jest.fn().mockResolvedValue(setupMock); export const mockStop = jest.fn(); export const mockCheckUrlValid = jest.fn(); +export const mockCheckTitleValid = jest.fn(); export const mockRenderingService: jest.Mocked = { setup: mockSetup, stop: mockStop, checkUrlValid: mockCheckUrlValid, + checkTitleValid: mockCheckTitleValid, }; export const RenderingService = jest.fn( () => mockRenderingService diff --git a/src/core/server/rendering/rendering_service.test.ts b/src/core/server/rendering/rendering_service.test.ts index 9a1d37203ff4..ac726838d431 100644 --- a/src/core/server/rendering/rendering_service.test.ts +++ b/src/core/server/rendering/rendering_service.test.ts @@ -138,7 +138,7 @@ describe('RenderingService', () => { }); describe('checkUrlValid()', () => { - it('SVG URL is valid', async () => { + it('checks valid SVG URL', async () => { const result = await service.checkUrlValid( 'https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg', 'config' @@ -146,7 +146,7 @@ describe('RenderingService', () => { expect(result).toEqual(true); }); - it('PNG URL is valid', async () => { + it('checks valid PNG URL', async () => { const result = await service.checkUrlValid( 'https://opensearch.org/assets/brand/PNG/Mark/opensearch_mark_default.png', 'config' @@ -154,14 +154,34 @@ describe('RenderingService', () => { expect(result).toEqual(true); }); - it('URL does not contain svg, png or gif', async () => { + it('checks invalid URL that does not contain svg, png or gif', async () => { const result = await service.checkUrlValid('https://validUrl', 'config'); expect(result).toEqual(false); }); - it('URL is invalid', async () => { + it('checks invalid URL', async () => { const result = await service.checkUrlValid('http://notfound.svg', 'config'); expect(result).toEqual(false); }); }); + + describe('checkTitleValid()', () => { + it('checks valid title', () => { + const result = service.checkTitleValid('OpenSearch Dashboards', 'config'); + expect(result).toEqual(true); + }); + + it('checks invalid title with empty string', () => { + const result = service.checkTitleValid('', 'config'); + expect(result).toEqual(false); + }); + + it('checks invalid title with length > 36 character', () => { + const result = service.checkTitleValid( + 'OpenSearch Dashboardssssssssssssssssssssss', + 'config' + ); + expect(result).toEqual(false); + }); + }); }); diff --git a/src/core/server/rendering/rendering_service.tsx b/src/core/server/rendering/rendering_service.tsx index 49b5897defee..903f63887d39 100644 --- a/src/core/server/rendering/rendering_service.tsx +++ b/src/core/server/rendering/rendering_service.tsx @@ -49,6 +49,8 @@ import { } from './types'; import { OpenSearchDashboardsConfigType } from '../opensearch_dashboards_config'; +const DEFAULT_TITLE = 'OpenSearch Dashboards'; + /** @internal */ export class RenderingService { constructor(private readonly coreContext: CoreContext) {} @@ -63,18 +65,19 @@ export class RenderingService { .pipe(first()) .toPromise(); + const isFullLogoUrlValid = await this.checkUrlValid( + opensearchDashboardsConfig.branding.fullLogoUrl, + 'fullLogoUrl' + ); const isLogoUrlValid = await this.checkUrlValid( opensearchDashboardsConfig.branding.logoUrl, 'logoUrl' ); - const isSmallLogoUrlValid = await this.checkUrlValid( - opensearchDashboardsConfig.branding.smallLogoUrl, - 'smallLogoUrl' - ); const isLoadingLogoUrlValid = await this.checkUrlValid( opensearchDashboardsConfig.branding.loadingLogoUrl, 'loadingLogoUrl' ); + const isTitleValid = this.checkTitleValid(opensearchDashboardsConfig.branding.title, 'title'); return { render: async ( @@ -125,14 +128,14 @@ export class RenderingService { uiSettings: settings, }, branding: { - logoUrl: isLogoUrlValid ? opensearchDashboardsConfig.branding.logoUrl : undefined, - smallLogoUrl: isSmallLogoUrlValid - ? opensearchDashboardsConfig.branding.smallLogoUrl + fullLogoUrl: isFullLogoUrlValid + ? opensearchDashboardsConfig.branding.fullLogoUrl : undefined, + logoUrl: isLogoUrlValid ? opensearchDashboardsConfig.branding.logoUrl : undefined, loadingLogoUrl: isLoadingLogoUrlValid ? opensearchDashboardsConfig.branding.loadingLogoUrl : undefined, - title: opensearchDashboardsConfig.branding.title, + title: isTitleValid ? opensearchDashboardsConfig.branding.title : DEFAULT_TITLE, }, }, }; @@ -151,7 +154,7 @@ export class RenderingService { } public checkUrlValid = async (url: string, configName?: string): Promise => { - if (url.match(/\.(png|svg|gif)$/) === null) { + if (url.match(/\.(png|svg|gif|PNG|SVG|GIF)$/) === null) { this.logger.get('branding').warn(configName + ' config is not found or invalid.'); return false; } @@ -164,4 +167,17 @@ export class RenderingService { return false; }); }; + + public checkTitleValid = (title: string, configName?: string): boolean => { + if (!title || title.length > 36) { + this.logger + .get('branding') + .warn( + configName + + ' config is not found or invalid. Title length should be between 1 to 36 characters.' + ); + return false; + } + return true; + }; } diff --git a/src/core/server/rendering/types.ts b/src/core/server/rendering/types.ts index 31a610448882..98ee1ba20ae1 100644 --- a/src/core/server/rendering/types.ts +++ b/src/core/server/rendering/types.ts @@ -75,8 +75,8 @@ export interface RenderingMetadata { }; }; branding: { + fullLogoUrl?: string; logoUrl?: string; - smallLogoUrl?: string; loadingLogoUrl?: string; title: string; }; diff --git a/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap b/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap index b54c56b50f3e..beb6ec2b2693 100644 --- a/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap +++ b/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap @@ -66,7 +66,7 @@ Array [ data="{\\"strictCsp\\":true}" />, ,
@@ -367,7 +367,7 @@ Array [ data="{\\"strictCsp\\":true}" />, ,
diff --git a/src/core/server/rendering/views/template.test.tsx b/src/core/server/rendering/views/template.test.tsx index 08532e8b1329..f562e4846534 100644 --- a/src/core/server/rendering/views/template.test.tsx +++ b/src/core/server/rendering/views/template.test.tsx @@ -95,7 +95,7 @@ describe('Template', () => { it('renders with static logo with horizontal loading bar', () => { const branding = { - smallLogoUrl: '/', + logoUrl: '/', title: '', }; injectedMetadata.getBranding.mockReturnValue(branding); @@ -105,7 +105,7 @@ describe('Template', () => { it('renders with customized loading logo', () => { const branding = { - smallLogoUrl: '/', + logoUrl: '/', loadingLogoUrl: '/', title: '', }; diff --git a/src/core/server/rendering/views/template.tsx b/src/core/server/rendering/views/template.tsx index 7eb8bf06f42a..f3fab623615c 100644 --- a/src/core/server/rendering/views/template.tsx +++ b/src/core/server/rendering/views/template.tsx @@ -97,13 +97,13 @@ export const Template: FunctionComponent = ({ ); const renderBrandingEnabledOrDisabledLoadingBar = () => { - if (!injectedMetadata.branding.loadingLogoUrl && injectedMetadata.branding.smallLogoUrl) { + if (!injectedMetadata.branding.loadingLogoUrl && injectedMetadata.branding.logoUrl) { return
; } }; const renderBrandingEnabledOrDisabledLoadingLogo = () => { - if (!injectedMetadata.branding.loadingLogoUrl && !injectedMetadata.branding.smallLogoUrl) { + if (!injectedMetadata.branding.loadingLogoUrl && !injectedMetadata.branding.logoUrl) { return openSearchLogoSpinner; } else { return ( @@ -112,7 +112,7 @@ export const Template: FunctionComponent = ({ className="loadingLogo" src={ !injectedMetadata.branding.loadingLogoUrl - ? injectedMetadata.branding.smallLogoUrl + ? injectedMetadata.branding.logoUrl : injectedMetadata.branding.loadingLogoUrl } alt={injectedMetadata.branding.title + ' logo'} diff --git a/src/legacy/server/config/schema.js b/src/legacy/server/config/schema.js index 1b58b6c4983d..89c1b6cc7553 100644 --- a/src/legacy/server/config/schema.js +++ b/src/legacy/server/config/schema.js @@ -234,10 +234,10 @@ export default () => // TODO Also allow units here like in opensearch config once this is moved to the new platform autocompleteTimeout: Joi.number().integer().min(1).default(1000), branding: Joi.object({ - logoUrl: Joi.string().default('/'), - smallLogoUrl: Joi.string().default('/'), - loadingLogoUrl: Joi.string().default('/'), - title: Joi.string().default('OpenSearch Dashboards'), + fullLogoUrl: Joi.any().default('/'), + logoUrl: Joi.any().default('/'), + loadingLogoUrl: Joi.any().default('/'), + title: Joi.any().default(''), }), }).default(), diff --git a/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap b/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap index bb331c752bad..c25085bc1b1b 100644 --- a/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap +++ b/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap @@ -18,7 +18,7 @@ exports[`should render a Welcome screen with customized branding 1`] = ` className="homWelcome__customLogoContainer" > logo logo logo logo { */ const branding = { - smallLogoUrl: '/', + logoUrl: '/', title: 'OpenSearch Dashboards', }; @@ -102,7 +102,7 @@ test('should render a Welcome screen with the default OpenSearch Dashboards bran test('should render a Welcome screen with customized branding', () => { const customBranding = { - smallLogoUrl: '/custom', + logoUrl: '/custom', title: 'custom title', }; const component = shallow( diff --git a/src/plugins/home/public/application/components/welcome.tsx b/src/plugins/home/public/application/components/welcome.tsx index 77d265c0862b..67f7dbb4cf38 100644 --- a/src/plugins/home/public/application/components/welcome.tsx +++ b/src/plugins/home/public/application/components/welcome.tsx @@ -59,7 +59,7 @@ interface Props { onSkip: () => void; telemetry?: TelemetryPluginStart; branding: { - smallLogoUrl?: string; + logoUrl?: string; title: string; }; } @@ -145,7 +145,7 @@ export class Welcome extends React.Component { }; private renderBrandingEnabledOrDisabledLogo = () => { - if (!this.props.branding.smallLogoUrl) { + if (!this.props.branding.logoUrl) { return ( @@ -157,9 +157,9 @@ export class Welcome extends React.Component { logo
); diff --git a/src/plugins/home/public/application/opensearch_dashboards_services.ts b/src/plugins/home/public/application/opensearch_dashboards_services.ts index 7a7dc60a3d1d..a14d33ee54d9 100644 --- a/src/plugins/home/public/application/opensearch_dashboards_services.ts +++ b/src/plugins/home/public/application/opensearch_dashboards_services.ts @@ -71,8 +71,8 @@ export interface HomeOpenSearchDashboardsServices { injectedMetadata: { getInjectedVar: (name: string, defaultValue?: any) => unknown; getBranding: () => { + fullLogoUrl?: string; logoUrl?: string; - smallLogoUrl?: string; title: string; }; }; diff --git a/test/common/config.js b/test/common/config.js index 05432914a95b..36b6732ea39b 100644 --- a/test/common/config.js +++ b/test/common/config.js @@ -75,8 +75,8 @@ export default function () { // `--newsfeed.service.urlRoot=${servers.opensearchDashboards.protocol}://${servers.opensearchDashboards.hostname}:${servers.opensearchDashboards.port}`, // `--newsfeed.service.pathTemplate=/api/_newsfeed-FTS-external-service-simulators/opensearch-dashboards/v{VERSION}.json`, // Custom branding config - `--opensearchDashboards.branding.logoUrl=https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg`, - `--opensearchDashboards.branding.smallLogoUrl=https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg`, + `--opensearchDashboards.branding.fullLogoUrl=https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg`, + `--opensearchDashboards.branding.logoUrl=https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg`, `--opensearchDashboards.branding.title=OpenSearch`, ], }, diff --git a/test/functional/apps/visualize/_custom_branding.js b/test/functional/apps/visualize/_custom_branding.js index 1263914dbb36..54669990cf9f 100644 --- a/test/functional/apps/visualize/_custom_branding.js +++ b/test/functional/apps/visualize/_custom_branding.js @@ -44,7 +44,7 @@ export default function ({ getService, getPageObjects }) { describe('should render welcome page', async () => { this.tags('includeFirefox'); const expectedWelcomeLogo = - 'https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg'; + 'https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg'; const expectedWelcomeMessage = 'Welcome to OpenSearch'; //unloading any pre-existing settings so the welcome page will appear @@ -89,7 +89,7 @@ export default function ({ getService, getPageObjects }) { describe('should render home page', async () => { this.tags('includeFirefox'); const expectedUrl = - 'https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg'; + 'https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg'; before(async function () { await PageObjects.common.navigateToApp('home');