summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/dashboard/frontend/cypress/integration/orchestrator/workflow/09-services.e2e-spec.ts
blob: ed9ffb9890a1e83de84872d8f847e2841cd296e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/* tslint:disable*/
import { ServicesPageHelper } from '../../cluster/services.po';
/* tslint:enable*/

describe('Services page', () => {
  const services = new ServicesPageHelper();
  const mdsDaemonName = 'mds.test';
  beforeEach(() => {
    cy.login();
    Cypress.Cookies.preserveOnce('token');
    services.navigateTo();
  });

  it('should check if rgw service is created', () => {
    services.checkExist('rgw.foo', true);
  });

  it('should create an mds service', () => {
    services.navigateTo('create');
    services.addService('mds', false);
    services.checkExist(mdsDaemonName, true);

    services.clickServiceTab(mdsDaemonName, 'Details');
    cy.get('cd-service-details').within(() => {
      services.checkServiceStatus(mdsDaemonName);
    });
  });

  it('should stop a daemon', () => {
    services.clickServiceTab(mdsDaemonName, 'Details');
    services.checkServiceStatus(mdsDaemonName);

    services.daemonAction('mds', 'stop');
    services.checkServiceStatus(mdsDaemonName, 'stopped');
  });

  it('should restart a daemon', () => {
    services.checkExist(mdsDaemonName, true);
    services.clickServiceTab(mdsDaemonName, 'Details');
    services.daemonAction('mds', 'restart');
    services.checkServiceStatus(mdsDaemonName, 'running');
  });

  it('should redeploy a daemon', () => {
    services.checkExist(mdsDaemonName, true);
    services.clickServiceTab(mdsDaemonName, 'Details');

    services.daemonAction('mds', 'stop');
    services.checkServiceStatus(mdsDaemonName, 'stopped');
    services.daemonAction('mds', 'redeploy');
    services.checkServiceStatus(mdsDaemonName, 'running');
  });

  it('should start a daemon', () => {
    services.checkExist(mdsDaemonName, true);
    services.clickServiceTab(mdsDaemonName, 'Details');

    services.daemonAction('mds', 'stop');
    services.checkServiceStatus(mdsDaemonName, 'stopped');
    services.daemonAction('mds', 'start');
    services.checkServiceStatus(mdsDaemonName, 'running');
  });

  it('should delete an mds service', () => {
    services.deleteService(mdsDaemonName);
  });

  it('should create and delete snmp-gateway service with version V2c', () => {
    services.navigateTo('create');
    services.addService('snmp-gateway', false, '1', 'V2c');
    services.checkExist('snmp-gateway', true);

    services.clickServiceTab('snmp-gateway', 'Details');
    cy.get('cd-service-details').within(() => {
      services.checkServiceStatus('snmp-gateway');
    });

    services.deleteService('snmp-gateway');
  });

  it('should create and delete snmp-gateway service with version V3', () => {
    services.navigateTo('create');
    services.addService('snmp-gateway', false, '1', 'V3', true);
    services.checkExist('snmp-gateway', true);

    services.clickServiceTab('snmp-gateway', 'Details');
    cy.get('cd-service-details').within(() => {
      services.checkServiceStatus('snmp-gateway');
    });

    services.deleteService('snmp-gateway');
  });

  it('should create and delete snmp-gateway service with version V3 and w/o privacy protocol', () => {
    services.navigateTo('create');
    services.addService('snmp-gateway', false, '1', 'V3', false);
    services.checkExist('snmp-gateway', true);

    services.clickServiceTab('snmp-gateway', 'Details');
    cy.get('cd-service-details').within(() => {
      services.checkServiceStatus('snmp-gateway');
    });

    services.deleteService('snmp-gateway');
  });

  it('should create ingress as unmanaged', () => {
    services.navigateTo('create');
    services.addService('ingress', false, undefined, undefined, undefined, true);
    services.checkExist('ingress.rgw.foo', true);
    services.isUnmanaged('ingress.rgw.foo', true);
    services.deleteService('ingress.rgw.foo');
  });
});