]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #33665 from rhcs-dashboard/wip-44375-nautilus
authorYuri Weinstein <yweinste@redhat.com>
Thu, 26 Mar 2020 17:21:12 +0000 (10:21 -0700)
committerGitHub <noreply@github.com>
Thu, 26 Mar 2020 17:21:12 +0000 (10:21 -0700)
nautilus: mgr/dashboard: do not show RGW API keys if only read-only privileges

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
1  2 
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-details/rgw-user-details.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-details/rgw-user-details.component.spec.ts

index cafbf63d5f0b1454ee5de9ba913ede20006e893e,2dc8b286a6b8143270fcb7049bb4cd326a265bcf..dc5aa35a5828fcc2cd4d1eb19236eb4042ac856c
@@@ -28,27 -29,35 +29,57 @@@ describe('RgwUserDetailsComponent', () 
  
    it('should create', () => {
      expect(component).toBeTruthy();
+     const detailsTab = fixture.debugElement.nativeElement.querySelector('tab[heading="Details"]');
+     expect(detailsTab).toBeFalsy();
+     const keysTab = fixture.debugElement.nativeElement.querySelector('tab[heading="Keys"]');
+     expect(keysTab).toBeFalsy();
+   });
+   it('should show "Details" tab', () => {
+     component.selection.selected = [{ uid: 'myUsername' }];
+     component.selection.hasSingleSelection = true;
+     fixture.detectChanges();
+     const detailsTab = fixture.debugElement.nativeElement.querySelector('tab[heading="Details"]');
+     expect(detailsTab).toBeTruthy();
+     const keysTab = fixture.debugElement.nativeElement.querySelector('tab[heading="Keys"]');
+     expect(keysTab).toBeFalsy();
+   });
+   it('should show "Keys" tab', () => {
+     const s3Key = new RgwUserS3Key();
+     component.selection.selected = [{ keys: [s3Key] }];
+     component.selection.hasSingleSelection = true;
+     component.selection.hasSelection = true;
+     component.ngOnChanges();
+     fixture.detectChanges();
+     const detailsTab = fixture.debugElement.nativeElement.querySelector('tab[heading="Details"]');
+     expect(detailsTab).toBeTruthy();
+     const keysTab = fixture.debugElement.nativeElement.querySelector('tab[heading="Keys"]');
+     expect(keysTab).toBeTruthy();
    });
 +
 +  it('should show correct "System" info', () => {
 +    component.selection.selected = [
 +      { uid: '', email: '', system: 'true', keys: [], swift_keys: [] }
 +    ];
 +    component.selection.hasSelection = true;
 +    component.selection.hasSingleSelection = true;
 +    component.ngOnChanges();
 +    fixture.detectChanges();
 +
 +    const detailsTab = fixture.debugElement.nativeElement.querySelectorAll(
 +      '.table.table-striped.table-bordered tr td'
 +    );
 +    expect(detailsTab[6].textContent).toEqual('System');
 +    expect(detailsTab[7].textContent).toEqual('Yes');
 +
 +    component.selection.selected[0].system = 'false';
 +    component.ngOnChanges();
 +    fixture.detectChanges();
 +
 +    expect(detailsTab[7].textContent).toEqual('No');
 +  });
  });