From 87a70c11049cd3289ef64873f61f35443c567ff7 Mon Sep 17 00:00:00 2001 From: Neil MacDougall Date: Wed, 22 May 2024 10:16:07 +0100 Subject: [PATCH] Disallow reset of server url (#11067) * Don't allow server url to be reset when there is no default * Add e2e test * Fix e2e test --- .../tests/pages/global-settings/settings.spec.ts | 14 ++++++++++++++ shell/edit/management.cattle.io.setting.vue | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/cypress/e2e/tests/pages/global-settings/settings.spec.ts b/cypress/e2e/tests/pages/global-settings/settings.spec.ts index 51f766938e..34e1d70395 100644 --- a/cypress/e2e/tests/pages/global-settings/settings.spec.ts +++ b/cypress/e2e/tests/pages/global-settings/settings.spec.ts @@ -376,4 +376,18 @@ describe('Settings', { testIsolation: 'off' }, () => { expect(obj.kind).to.equal('Config'); }); }); + + // The server-url can not be reset as there is no default - so check that is the case + it('can not reset server url', { tags: ['@globalSettings', '@adminUser'] }, () => { + SettingsPagePo.navTo(); + settingsPage.editSettingsByLabel('server-url'); + + const settingsEdit = settingsPage.editSettings('_', 'server-url'); + + settingsEdit.waitForPage(); + settingsEdit.title().contains('Setting: server-url').should('be.visible'); + + settingsEdit.useDefaultButton().should('be.visible'); + settingsEdit.useDefaultButton().should('be.disabled'); + }); }); diff --git a/shell/edit/management.cattle.io.setting.vue b/shell/edit/management.cattle.io.setting.vue index 1d6d00321e..1c764c4693 100644 --- a/shell/edit/management.cattle.io.setting.vue +++ b/shell/edit/management.cattle.io.setting.vue @@ -52,6 +52,12 @@ export default { path: 'value', rules: this.setting.ruleSet.map(({ name }) => name) }] : []; + + // Don't allow the user to reset the server URL if there is no default + // helps to ensure that a value is always set + if (isServerUrl(this.value.id) && !this.value.default) { + this.canReset = false; + } }, computed: {