mirror of
https://github.com/gravitational/teleport.git
synced 2026-10-30 18:29:21 +08:00
Ensure the upload completer sets the time on session.upload events (#14535)
Fixes #11364
This commit is contained in:
@@ -221,6 +221,7 @@ func (u *UploadCompleter) checkUploads(ctx context.Context) error {
|
||||
Metadata: events.Metadata{
|
||||
Type: SessionUploadEvent,
|
||||
Code: SessionUploadCode,
|
||||
Time: u.cfg.Clock.Now().UTC(),
|
||||
ID: uuid.New().String(),
|
||||
Index: SessionUploadIndex,
|
||||
},
|
||||
|
||||
@@ -147,6 +147,7 @@ func TestUploadCompleterEmitsSessionEnd(t *testing.T) {
|
||||
clock := clockwork.NewFakeClock()
|
||||
mu := NewMemoryUploader()
|
||||
mu.Clock = clock
|
||||
startTime := clock.Now().UTC()
|
||||
|
||||
log := &mockAuditLog{
|
||||
sessionEvents: []apievents.AuditEvent{test.startEvent},
|
||||
@@ -174,6 +175,7 @@ func TestUploadCompleterEmitsSessionEnd(t *testing.T) {
|
||||
// advance the clock to force the asynchronous session end event emission
|
||||
clock.BlockUntil(1)
|
||||
clock.Advance(3 * time.Minute)
|
||||
endTime := clock.Now().UTC()
|
||||
|
||||
// expect two events - a session end and a session upload
|
||||
// the session end is done asynchronously, so wait for that
|
||||
@@ -181,7 +183,9 @@ func TestUploadCompleterEmitsSessionEnd(t *testing.T) {
|
||||
"should have emitted 2 events, but only got %d", len(log.emitter.Events()))
|
||||
|
||||
require.IsType(t, &apievents.SessionUpload{}, log.emitter.Events()[0])
|
||||
require.Equal(t, startTime, log.emitter.Events()[0].GetTime())
|
||||
require.Equal(t, test.endEventType, log.emitter.Events()[1].GetType())
|
||||
require.Equal(t, endTime, log.emitter.Events()[1].GetTime())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user