]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/cypress/integration/orchestrator/workflow/07-nfs-exports.e2e-spec.ts
import ceph 16.2.7
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / cypress / integration / orchestrator / workflow / 07-nfs-exports.e2e-spec.ts
1 import { ServicesPageHelper } from 'cypress/integration/cluster/services.po';
2 import { NFSPageHelper } from 'cypress/integration/orchestrator/workflow/nfs/nfs-export.po';
3 import { BucketsPageHelper } from 'cypress/integration/rgw/buckets.po';
4
5 describe('nfsExport page', () => {
6 const nfsExport = new NFSPageHelper();
7 const services = new ServicesPageHelper();
8 const buckets = new BucketsPageHelper();
9 const bucketName = 'e2e.nfs.bucket';
10 // @TODO: uncomment this when a CephFS volume can be created through Dashboard.
11 // const fsPseudo = '/fsPseudo';
12 const rgwPseudo = '/rgwPseudo';
13 const editPseudo = '/editPseudo';
14 const backends = ['CephFS', 'Object Gateway'];
15 const squash = 'no_root_squash';
16 const client: object = { addresses: '192.168.0.10' };
17
18 beforeEach(() => {
19 cy.login();
20 Cypress.Cookies.preserveOnce('token');
21 nfsExport.navigateTo();
22 });
23
24 describe('breadcrumb test', () => {
25 it('should open and show breadcrumb', () => {
26 nfsExport.expectBreadcrumbText('NFS');
27 });
28 });
29
30 describe('Create, edit and delete', () => {
31 it('should create an NFS cluster', () => {
32 services.navigateTo('create');
33
34 services.addService('nfs');
35
36 services.checkExist('nfs.testnfs', true);
37 services.getExpandCollapseElement().click();
38 services.checkServiceStatus('nfs');
39 });
40
41 it('should create a nfs-export with RGW backend', () => {
42 buckets.navigateTo('create');
43 buckets.create(bucketName, 'dashboard', 'default-placement');
44
45 nfsExport.navigateTo();
46 nfsExport.existTableCell(rgwPseudo, false);
47 nfsExport.navigateTo('create');
48 nfsExport.create(backends[1], squash, client, rgwPseudo, bucketName);
49 nfsExport.existTableCell(rgwPseudo);
50 });
51
52 // @TODO: uncomment this when a CephFS volume can be created through Dashboard.
53 // it('should create a nfs-export with CephFS backend', () => {
54 // nfsExport.navigateTo();
55 // nfsExport.existTableCell(fsPseudo, false);
56 // nfsExport.navigateTo('create');
57 // nfsExport.create(backends[0], squash, client, fsPseudo);
58 // nfsExport.existTableCell(fsPseudo);
59 // });
60
61 it('should show Clients', () => {
62 nfsExport.clickTab('cd-nfs-details', rgwPseudo, 'Clients (1)');
63 cy.get('cd-nfs-details').within(() => {
64 nfsExport.getTableCount('total').should('be.gte', 0);
65 });
66 });
67
68 it('should edit an export', () => {
69 nfsExport.editExport(rgwPseudo, editPseudo);
70
71 nfsExport.existTableCell(editPseudo);
72 });
73
74 it('should delete exports and bucket', () => {
75 nfsExport.delete(editPseudo);
76
77 buckets.navigateTo();
78 buckets.delete(bucketName);
79 });
80 });
81 });