columnMode="flex"
selectionType="single"
identifier="Id"
+ [autoReload]="true"
(updateSelection)="updateSelection($event)"
(fetchData)="fetchData()">
<cd-table-actions class="table-actions"
},
{
name: $localize`Destination`,
- prop: 'Destination',
+ prop: 'Topic',
flexGrow: 1,
cellTransformation: CellTemplate.copy
},
<ng-container>
+ <legend>
+ <cd-help-text i18n>
+ A topic specifies where and how event notifications from a bucket are delivered, including the target system (e.g., Kafka or HTTP) and its configuration.
+ </cd-help-text>
+ </legend>
<cd-table #table
headerTitle="Notification destination"
headerDescription="Delivers bucket and object change notifications to external services like Kafka or AMQP."
- [autoReload]="false"
+ [autoReload]="true"
[data]="topics$ | async"
[columns]="columns"
columnMode="flex"
import { ComponentFixture, TestBed } from '@angular/core/testing';
+
import { RgwTopicListComponent } from './rgw-topic-list.component';
import { SharedModule } from '~/app/shared/shared.module';
import { configureTestBed, PermissionHelper } from '~/testing/unit-test-helper';
it('should create', () => {
expect(component).toBeTruthy();
- expect(rgwTopicServiceListSpy).toHaveBeenCalledTimes(2);
+ expect(rgwTopicServiceListSpy.calls.count()).toBe(1);
});
it('should test all TableActions combinations', () => {
name: 's3:ObjectCreated:CompleteMultipartUpload'
},
{ content: 's3:ObjectRemoved:*', name: 's3:ObjectRemoved:*' },
+ { content: 's3:ObjectRestore:*', name: 's3:ObjectRestore:*' },
+ { content: 's3:ObjectRestore:Post', name: 's3:ObjectRestore:Post' },
+ { content: 's3:ObjectRestore:Completed', name: 's3:ObjectRestore:Completed' },
+ { content: 's3:ObjectRestore:Delete', name: 's3:ObjectRestore:Delete' },
{ content: 's3:ObjectRemoved:Delete', name: 's3:ObjectRemoved:Delete' },
{ content: 's3:ObjectRemoved:DeleteMarkerCreated', name: 's3:ObjectRemoved:DeleteMarkerCreated' }
];