cy.get('[type=submit]').click();
cy.get('[data-testid="pool-name"]').clear().type(name);
- cy.get(`select[name=poolType]`).select('replicated');
- cy.get(`select[name=poolType] option:checked`).contains('replicated');
+ cy.get('[data-testid="pool-type-select"]').select('replicated');
+ cy.get('[data-testid="pool-type-select"] option:checked').contains('replicated');
cy.get('.float-start.me-2.select-menu-edit').click();
cy.get('.popover-body').should('be.visible');
// Choose rbd as the application label
-import { DashboardPageHelper } from '../ui/dashboard.po';
import { MultiClusterPageHelper } from './multi-cluster.po';
describe('Muti-cluster management page', () => {
const multiCluster = new MultiClusterPageHelper();
- const dashboard = new DashboardPageHelper();
-
- const hubName = 'local-cluster';
const url = Cypress.env('CEPH2_URL');
const alias = 'ceph2';
const username = 'admin';
multiCluster.checkConnectionStatus(alias, 'CONNECTED');
});
- it('should switch to the second cluster and back to hub', () => {
- multiCluster.checkConnectionStatus(alias, 'CONNECTED');
- dashboard.navigateTo();
- cy.get('[data-testid="selected-cluster"]').click();
- cy.get('[data-testid="select-a-cluster"]').contains(alias).click();
- cy.get('[data-testid="selected-cluster"]').contains(alias);
- cy.get('cd-dashboard-v3').should('exist');
-
- // now switch back to the hub cluster
- cy.get('[data-testid="selected-cluster"]').click();
- cy.get('[data-testid="select-a-cluster"]').contains(hubName).click();
- cy.get('[data-testid="selected-cluster"]').contains(hubName);
- cy.get('cd-dashboard-v3').should('exist');
- });
-
it('should reconnect the second cluster', () => {
- multiCluster.checkConnectionStatus(alias, 'CONNECTED');
multiCluster.reconnect(alias, password);
multiCluster.existTableCell(alias);
});
it('should edit the second cluster', () => {
- multiCluster.checkConnectionStatus(alias, 'CONNECTED');
multiCluster.edit(alias, editedAlias);
multiCluster.existTableCell(editedAlias);
});
it('should disconnect the second cluster', () => {
- multiCluster.checkConnectionStatus(editedAlias, 'CONNECTED');
multiCluster.disconnect(editedAlias);
multiCluster.existTableCell(editedAlias, false);
});
edit_pool_pg(name: string, new_pg: number, wait = true, mirroring = false) {
this.isPowerOf2(new_pg);
- this.navigateEdit(name);
+ this.navigateEdit(name, true, false);
if (mirroring) {
cy.get('[data-testid="rbd-mirroring-check"]').should('be.checked');
// Select bucket owner
this.selectOwner(owner);
cy.get('#owner').should('have.class', 'ng-valid');
- cy.get('input[name=encryption_enabled]').should('be.disabled');
if (isLocking) {
cy.get('#lock_enabled_input').click({ force: true });
checkUserKeys(user_name: string) {
this.getExpandCollapseElement(user_name).should('be.visible').click();
cy.get('cd-table').contains('td', user_name).click();
- cy.get('cd-rgw-user-details cd-table').eq(0).first().click();
- cy.get("[aria-label='Show']").should('exist').click();
+ cy.get('cd-rgw-user-details cd-table [cdstablerow]').first().click();
+ cy.get("[aria-label='Show']").should('exist').click({ force: true });
cy.get('input#user').should('exist');
cy.get('input#access_key').should('exist');
cy.get('input#secret_key').should('exist');
cy.login();
pools.navigateTo('create');
pools.create(poolName, 8, ['rbd']);
+ cy.wait(5000);
pools.edit_pool_pg(poolName, 4, false);
});
ngbTooltip="{{row.name}} is removed after retaining the snapshots"></i>
</ng-template>
- <cd-label [value]="row.info.type"
- *ngIf="row.info.type !== 'subvolume'"></cd-label>
+ <cd-label [value]="row?.info?.type"
+ *ngIf="row?.info?.type !== 'subvolume'"></cd-label>
<cd-label value="namespaced"
- *ngIf="row.info.pool_namespace"
- [tooltipText]="row.info.pool_namespace"></cd-label>
+ *ngIf="row?.info?.pool_namespace"
+ [tooltipText]="row?.info?.pool_namespace"></cd-label>
</ng-template>
<ng-template #removeTmpl
i18n>Pool type</label>
<div class="cd-col-form-input">
<select class="form-select"
+ data-testid="pool-type-select"
id="poolType"
formControlName="poolType">
<option ngValue=""
<div class="form-group row">
<label class="cd-col-form-label"
i18n>Realm Name:</label>
- <div class="cd-col-form-input mt-2 text-muted"><b>{{ multisiteSetupForm.get('realmName').value }}</b></div>
+ <div class="cd-col-form-input mt-2 text-muted"><b id="realmName">{{ multisiteSetupForm.get('realmName').value }}</b></div>
</div>
<div class="form-group row">
<label class="cd-col-form-label"
i18n>Zonegroup Name:</label>
- <div class="cd-col-form-input mt-2 text-muted"><b>{{ multisiteSetupForm.get('zonegroupName').value }}</b></div>
+ <div class="cd-col-form-input mt-2 text-muted"><b id="zonegroupName">{{ multisiteSetupForm.get('zonegroupName').value }}</b></div>
</div>
<div class="form-group row">
<label class="cd-col-form-label"
<div class="form-group row">
<label class="cd-col-form-label"
i18n>Zone Name:</label>
- <div class="cd-col-form-input mt-2 text-muted"><b>{{ multisiteSetupForm.get('zoneName').value }}</b></div>
+ <div class="cd-col-form-input mt-2 text-muted"><b id="zoneName">{{ multisiteSetupForm.get('zoneName').value }}</b></div>
</div>
<div class="form-group row">
<label class="cd-col-form-label"