});
}
- addService(serviceType: string, exist?: boolean, count = '1') {
+ addService(serviceType: string, exist?: boolean, count = '1', snmpVersion?: string) {
cy.get(`${this.pages.create.id}`).within(() => {
this.selectServiceType(serviceType);
switch (serviceType) {
cy.get('#count').type(count);
break;
+ case 'snmp-gateway':
+ this.selectOption('snmp_version', snmpVersion);
+ cy.get('#snmp_destination').type('192.168.0.1:8443');
+ if (snmpVersion === 'V2c') {
+ cy.get('#snmp_community').type('public');
+ } else {
+ cy.get('#engine_id').type('800C53F00000');
+ this.selectOption('auth_protocol', 'SHA');
+ this.selectOption('privacy_protocol', 'DES');
+
+ // Credentials
+ cy.get('#snmp_v3_auth_username').type('test');
+ cy.get('#snmp_v3_auth_password').type('testpass');
+ cy.get('#snmp_v3_priv_password').type('testencrypt');
+ }
+ break;
+
default:
cy.get('#service_id').type('test');
cy.get('#count').type(count);
break;
}
-
- cy.get('cd-submit-button').click();
+ if (serviceType === 'snmp-gateway') {
+ cy.get('cd-submit-button').dblclick();
+ } else {
+ cy.get('cd-submit-button').click();
+ }
});
if (exist) {
cy.get('#service_id').should('have.class', 'ng-invalid');
services.deleteService('mds.test');
});
+
+ 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');
+ services.checkExist('snmp-gateway', true);
+
+ services.clickServiceTab('snmp-gateway', 'Details');
+ cy.get('cd-service-details').within(() => {
+ services.checkServiceStatus('snmp-gateway');
+ });
+
+ services.deleteService('snmp-gateway');
+ });
});
<!-- Destination -->
<div class="form-group row">
<label class="cd-col-form-label required"
- [ngClass]="{'required': ['snmp-gateway'].includes(serviceForm.controls.service_type.value)}"
for="snmp_destination">
<span i18n>Destination</span>
<cd-helper>
<div class="form-group row"
*ngIf="serviceForm.controls.snmp_version.value === 'V3'">
<label class="cd-col-form-label required"
- [ngClass]="{'required': ['snmp-gateway'].includes(serviceForm.controls.service_type.value)}"
for="engine_id">
<span i18n>Engine Id</span>
<cd-helper>
<div class="form-group row"
*ngIf="serviceForm.controls.snmp_version.value === 'V2c'">
<label class="cd-col-form-label required"
- [ngClass]="{'required': ['snmp-gateway'].includes(serviceForm.controls.service_type.value)}"
for="snmp_community">
<span i18n>SNMP Community</span>
</label>
<div class="form-group row"
*ngIf="serviceForm.controls.snmp_version.value === 'V3'">
<label class="cd-col-form-label required"
- [ngClass]="{'required': ['snmp-gateway'].includes(serviceForm.controls.service_type.value)}"
for="snmp_v3_auth_username">
<span i18n>Username</span>
</label>
<div class="form-group row"
*ngIf="serviceForm.controls.snmp_version.value === 'V3'">
<label class="cd-col-form-label required"
- [ngClass]="{'required': ['snmp-gateway'].includes(serviceForm.controls.service_type.value)}"
for="snmp_v3_auth_password">
<span i18n>Password</span>
</label>
<div class="form-group row"
*ngIf="serviceForm.controls.snmp_version.value === 'V3' && serviceForm.controls.privacy_protocol.value !== null && serviceForm.controls.privacy_protocol.value !== undefined">
<label class="cd-col-form-label required"
- [ngClass]="{'required': ['snmp-gateway'].includes(serviceForm.controls.service_type.value)}"
for="snmp_v3_priv_password">
<span i18n>Encryption</span>
</label>
]
],
// snmp-gateway
- snmp_version: [null, [Validators.required]],
+ snmp_version: [
+ null,
+ [
+ CdValidators.requiredIf({
+ service_type: 'snmp-gateway',
+ unmanaged: false
+ })
+ ]
+ ],
snmp_destination: [
null,
{
})
]
],
- privacy_protocol: [null],
+ privacy_protocol: [
+ null,
+ [
+ CdValidators.requiredIf({
+ service_type: 'snmp-gateway',
+ unmanaged: false
+ })
+ ]
+ ],
snmp_community: [
null,
[