From 58ea341c84e38f641ce5f65a1b415fa9db86060c Mon Sep 17 00:00:00 2001 From: Joe D'Amore Date: Mon, 25 Sep 2023 09:13:23 -0400 Subject: [PATCH] Mock DBaaS feature flag --- .../core/databases/create-database.spec.ts | 11 +++++++++++ .../core/databases/delete-database.spec.ts | 17 +++++++++++++++-- .../core/databases/update-database.spec.ts | 19 +++++++++++++++++-- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/packages/manager/cypress/e2e/core/databases/create-database.spec.ts b/packages/manager/cypress/e2e/core/databases/create-database.spec.ts index 11cbfe49164..167f9b28aec 100644 --- a/packages/manager/cypress/e2e/core/databases/create-database.spec.ts +++ b/packages/manager/cypress/e2e/core/databases/create-database.spec.ts @@ -8,9 +8,14 @@ import { mockCreateDatabase, mockGetDatabases, } from 'support/intercepts/databases'; +import { + mockAppendFeatureFlags, + mockGetFeatureFlagClientstream, +} from 'support/intercepts/feature-flags'; import { mockGetEvents } from 'support/intercepts/events'; import { getRegionById } from 'support/util/regions'; import { ui } from 'support/ui'; +import { makeFeatureFlagData } from 'support/util/feature-flags'; describe('create a database cluster, mocked data', () => { databaseConfigurations.forEach( @@ -62,10 +67,16 @@ describe('create a database cluster, mocked data', () => { ? 'Dedicated CPU' : 'Shared CPU'; + mockAppendFeatureFlags({ + databases: makeFeatureFlagData(true), + }).as('getFeatureFlags'); + mockGetFeatureFlagClientstream().as('getClientstream'); mockCreateDatabase(databaseMock).as('createDatabase'); mockGetDatabases([databaseMock]).as('getDatabases'); cy.visitWithLogin('/databases/create'); + cy.wait(['@getFeatureFlags', '@getClientstream']); + ui.entityHeader .find() .should('be.visible') diff --git a/packages/manager/cypress/e2e/core/databases/delete-database.spec.ts b/packages/manager/cypress/e2e/core/databases/delete-database.spec.ts index 070c4c58155..1f02c11f8e6 100644 --- a/packages/manager/cypress/e2e/core/databases/delete-database.spec.ts +++ b/packages/manager/cypress/e2e/core/databases/delete-database.spec.ts @@ -9,11 +9,16 @@ import { mockDeleteProvisioningDatabase, mockGetDatabase, } from 'support/intercepts/databases'; +import { + mockAppendFeatureFlags, + mockGetFeatureFlagClientstream, +} from 'support/intercepts/feature-flags'; import { ui } from 'support/ui'; import { databaseClusterConfiguration, databaseConfigurations, } from 'support/constants/databases'; +import { makeFeatureFlagData } from 'support/util/feature-flags'; describe('Delete database clusters', () => { databaseConfigurations.forEach( @@ -36,13 +41,17 @@ describe('Delete database clusters', () => { allow_list: [allowedIp], }); + mockAppendFeatureFlags({ + databases: makeFeatureFlagData(true), + }).as('getFeatureFlags'); + mockGetFeatureFlagClientstream().as('getClientstream'); mockGetDatabase(database).as('getDatabase'); mockDeleteDatabase(database.id, database.engine).as('deleteDatabase'); cy.visitWithLogin( `/databases/${database.engine}/${database.id}/settings` ); - cy.wait('@getDatabase'); + cy.wait(['@getFeatureFlags', '@getClientstream', '@getDatabase']); // Click "Delete Cluster" button. ui.button @@ -92,6 +101,10 @@ describe('Delete database clusters', () => { const errorMessage = 'Your database is provisioning; please wait until provisioning is complete to perform this operation.'; + mockAppendFeatureFlags({ + databases: makeFeatureFlagData(true), + }).as('getFeatureFlags'); + mockGetFeatureFlagClientstream().as('getClientstream'); mockGetDatabase(database).as('getDatabase'); mockDeleteProvisioningDatabase( database.id, @@ -102,7 +115,7 @@ describe('Delete database clusters', () => { cy.visitWithLogin( `/databases/${database.engine}/${database.id}/settings` ); - cy.wait('@getDatabase'); + cy.wait(['@getFeatureFlags', '@getClientstream', '@getDatabase']); // Click "Delete Cluster" button. ui.button diff --git a/packages/manager/cypress/e2e/core/databases/update-database.spec.ts b/packages/manager/cypress/e2e/core/databases/update-database.spec.ts index 45883cad926..b1c66e422b7 100644 --- a/packages/manager/cypress/e2e/core/databases/update-database.spec.ts +++ b/packages/manager/cypress/e2e/core/databases/update-database.spec.ts @@ -18,6 +18,11 @@ import { mockUpdateDatabase, mockUpdateProvisioningDatabase, } from 'support/intercepts/databases'; +import { + mockAppendFeatureFlags, + mockGetFeatureFlagClientstream, +} from 'support/intercepts/feature-flags'; +import { makeFeatureFlagData } from 'support/util/feature-flags'; import { databaseClusterConfiguration, databaseConfigurations, @@ -164,6 +169,10 @@ describe('Update database clusters', () => { allow_list: [allowedIp], }); + mockAppendFeatureFlags({ + databases: makeFeatureFlagData(true), + }).as('getFeatureFlags'); + mockGetFeatureFlagClientstream().as('getClientstream'); mockGetDatabase(database).as('getDatabase'); mockResetPassword(database.id, database.engine).as( 'resetRootPassword' @@ -175,7 +184,7 @@ describe('Update database clusters', () => { ).as('getCredentials'); cy.visitWithLogin(`/databases/${database.engine}/${database.id}`); - cy.wait('@getDatabase'); + cy.wait(['@getDatabase', '@getFeatureFlags', '@getClientstream']); cy.get('[data-qa-cluster-config]').within(() => { cy.findByText(configuration.region.label).should('be.visible'); @@ -276,6 +285,12 @@ describe('Update database clusters', () => { 'Your database is provisioning; please wait until provisioning is complete to perform this operation.'; const hostnameRegex = /your hostnames? will appear here once (it is|they are) available./i; + mockAppendFeatureFlags({ + databases: makeFeatureFlagData(true), + }).as('getFeatureFlags'); + + mockGetFeatureFlagClientstream().as('getClientstream'); + mockGetDatabase(database).as('getDatabase'); mockUpdateProvisioningDatabase( @@ -291,7 +306,7 @@ describe('Update database clusters', () => { ).as('resetRootPassword'); cy.visitWithLogin(`/databases/${database.engine}/${database.id}`); - cy.wait('@getDatabase'); + cy.wait(['@getDatabase', '@getFeatureFlags', '@getClientstream']); // Cannot update database label. updateDatabaseLabel(initialLabel, updateAttemptLabel);