import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ReactiveFormsModule } from '@angular/forms';
+import { By } from '@angular/platform-browser';
import { RouterTestingModule } from '@angular/router/testing';
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
});
it('should test unmanaged', () => {
- formHelper.setValue('service_type', 'rgw');
+ formHelper.setValue('service_type', 'mgr');
+ formHelper.setValue('service_id', 'svc');
formHelper.setValue('placement', 'label');
formHelper.setValue('label', 'bar');
- formHelper.setValue('rgw_frontend_port', 4567);
formHelper.setValue('unmanaged', true);
component.onSubmit();
expect(cephServiceService.create).toHaveBeenCalledWith({
- service_type: 'rgw',
+ service_type: 'mgr',
+ service_id: 'svc',
placement: {},
unmanaged: true
});
describe('should test service rgw', () => {
beforeEach(() => {
formHelper.setValue('service_type', 'rgw');
+ formHelper.setValue('service_id', 'svc');
});
it('should test rgw valid service id', () => {
- formHelper.setValue('service_id', 'foo.bar');
+ formHelper.setValue('service_id', 'svc.realm.zone');
formHelper.expectValid('service_id');
- formHelper.setValue('service_id', 'foo.bar.bas');
+ formHelper.setValue('service_id', 'svc');
formHelper.expectValid('service_id');
});
it('should test rgw invalid service id', () => {
- formHelper.setValue('service_id', 'foo');
+ formHelper.setValue('service_id', '.');
+ formHelper.expectError('service_id', 'rgwPattern');
+ formHelper.setValue('service_id', 'svc.');
formHelper.expectError('service_id', 'rgwPattern');
- formHelper.setValue('service_id', 'foo.');
+ formHelper.setValue('service_id', 'svc.realm');
formHelper.expectError('service_id', 'rgwPattern');
- formHelper.setValue('service_id', 'foo.bar.');
+ formHelper.setValue('service_id', 'svc.realm.');
formHelper.expectError('service_id', 'rgwPattern');
- formHelper.setValue('service_id', 'foo.bar.bas.');
+ formHelper.setValue('service_id', '.svc.realm');
+ formHelper.expectError('service_id', 'rgwPattern');
+ formHelper.setValue('service_id', 'svc.realm.zone.');
formHelper.expectError('service_id', 'rgwPattern');
});
- it('should submit rgw with port', () => {
+ it('should submit rgw with realm and zone', () => {
+ formHelper.setValue('service_id', 'svc.my-realm.my-zone');
+ component.onSubmit();
+ expect(cephServiceService.create).toHaveBeenCalledWith({
+ service_type: 'rgw',
+ service_id: 'svc',
+ rgw_realm: 'my-realm',
+ rgw_zone: 'my-zone',
+ placement: {},
+ unmanaged: false,
+ ssl: false
+ });
+ });
+
+ it('should submit rgw with port and ssl enabled', () => {
formHelper.setValue('rgw_frontend_port', 1234);
formHelper.setValue('ssl', true);
component.onSubmit();
expect(cephServiceService.create).toHaveBeenCalledWith({
service_type: 'rgw',
+ service_id: 'svc',
placement: {},
unmanaged: false,
rgw_frontend_port: 1234,
rgw_frontend_ssl_certificate: '',
- rgw_frontend_ssl_key: '',
ssl: true
});
});
component.onSubmit();
expect(cephServiceService.create).toHaveBeenCalledWith({
service_type: 'rgw',
+ service_id: 'svc',
placement: {},
unmanaged: false,
ssl: false
});
});
+
+ it('should not show private key field', () => {
+ formHelper.setValue('ssl', true);
+ fixture.detectChanges();
+ const ssl_key = fixture.debugElement.query(By.css('#ssl_key'));
+ expect(ssl_key).toBeNull();
+ });
+
+ it('should test .pem file', () => {
+ const pemCert = `
+-----BEGIN CERTIFICATE-----
+iJ5IbgzlKPssdYwuAEI3yPZxX/g5vKBrgcyD3LttLL/DlElq/1xCnwVrv7WROSNu
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+mn/S7BNBEC7AGe5ajmN+8hBTGdACUXe8rwMNrtTy/MwBZ0VpJsAAjJh+aptZh5yB
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+x4Ea7kGVgx9kWh5XjWz9wjZvY49UKIT5ppIAWPMbLl3UpfckiuNhTA==
+-----END RSA PRIVATE KEY-----`;
+ formHelper.setValue('ssl', true);
+ formHelper.setValue('ssl_cert', pemCert);
+ fixture.detectChanges();
+ formHelper.expectValid('ssl_cert');
+ });
});
describe('should test service iscsi', () => {