1 import { CreateClusterWizardHelper } from 'cypress/integration/cluster/create-cluster.po';
2 import { HostsPageHelper } from 'cypress/integration/cluster/hosts.po';
3 import { OSDsPageHelper } from 'cypress/integration/cluster/osds.po';
4 import { ServicesPageHelper } from 'cypress/integration/cluster/services.po';
6 describe('when cluster creation is completed', () => {
7 const createCluster = new CreateClusterWizardHelper();
8 const services = new ServicesPageHelper();
9 const hosts = new HostsPageHelper();
11 const serviceName = 'rgw.foo';
13 'ceph-node-00.cephlab.com',
14 'ceph-node-01.cephlab.com',
15 'ceph-node-02.cephlab.com',
16 'ceph-node-03.cephlab.com'
21 Cypress.Cookies.preserveOnce('token');
24 it('should redirect to dashboard landing page after cluster creation', () => {
25 createCluster.navigateTo();
26 createCluster.createCluster();
28 cy.get('.nav-link').contains('Review').click();
29 cy.get('button[aria-label="Next"]').click();
30 cy.get('cd-dashboard').should('exist');
33 describe('Hosts page', () => {
38 it('should have removed "_no_schedule" label', () => {
39 for (const hostname of hostnames) {
40 hosts.checkLabelExists(hostname, ['_no_schedule'], false);
44 it('should display inventory', () => {
45 hosts.clickTab('cd-host-details', hostnames[1], 'Physical Disks');
46 cy.get('cd-host-details').within(() => {
47 hosts.getTableCount('total').should('be.gte', 0);
51 it('should display daemons', () => {
52 hosts.clickTab('cd-host-details', hostnames[1], 'Daemons');
53 cy.get('cd-host-details').within(() => {
54 hosts.getTableCount('total').should('be.gte', 0);
58 it('should check if rgw service is running', () => {
59 hosts.clickTab('cd-host-details', hostnames[3], 'Daemons');
60 cy.get('cd-host-details').within(() => {
61 services.checkServiceStatus('rgw');
66 describe('OSDs page', () => {
67 const osds = new OSDsPageHelper();
73 it('should check if osds are created', { retries: 1 }, () => {
74 osds.getTableCount('total').should('be.gte', 1);
78 describe('Services page', () => {
80 services.navigateTo();
83 it('should check if services are created', () => {
84 services.checkExist(serviceName, true);
88 describe('Host actions', () => {
93 it('should force maintenance and exit', { retries: 1 }, () => {
94 hosts.maintenance(hostnames[3], true, true);
97 it('should drain, remove and add the host back', () => {
98 hosts.drain(hostnames[1]);
99 hosts.remove(hostnames[1]);
100 hosts.navigateTo('add');
101 hosts.add(hostnames[1]);
102 hosts.checkExist(hostnames[1], true);