MCPcopy
hub / github.com/determined-ai/determined / TestTrialLogFields

Function TestTrialLogFields

master/internal/api_trials_intg_test.go:1070–1173  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1068}
1069
1070func TestTrialLogFields(t *testing.T) {
1071 api, curUser, ctx := setupAPITest(t, nil)
1072 trial, task0 := createTestTrial(t, api, curUser)
1073
1074 task1 := &model.Task{
1075 TaskType: model.TaskTypeTrial,
1076 LogVersion: model.TaskLogVersion1,
1077 StartTime: task0.StartTime.Add(time.Second),
1078 TaskID: trialTaskID(trial.ExperimentID, model.NewRequestID(rand.Reader)),
1079 }
1080 require.NoError(t, db.AddTask(ctx, task1))
1081
1082 task2 := &model.Task{
1083 TaskType: model.TaskTypeTrial,
1084 LogVersion: model.TaskLogVersion1,
1085 StartTime: task1.StartTime.Add(time.Second),
1086 TaskID: trialTaskID(trial.ExperimentID, model.NewRequestID(rand.Reader)),
1087 }
1088 require.NoError(t, db.AddTask(ctx, task2))
1089
1090 _, err := db.Bun().NewInsert().Model(&[]model.RunTaskID{
1091 {RunID: trial.ID, TaskID: task1.TaskID},
1092 {RunID: trial.ID, TaskID: task2.TaskID},
1093 }).Exec(ctx)
1094 require.NoError(t, err)
1095
1096 expectedContainerIDs := make(map[string]bool)
1097 tasks := []model.TaskID{task0.TaskID, task1.TaskID, task2.TaskID}
1098 var taskLogs []*model.TaskLog
1099 for i, taskID := range tasks {
1100 containerID := fmt.Sprintf("id-%d", i)
1101 taskLogs = append(taskLogs, &model.TaskLog{
1102 TaskID: string(taskID),
1103 Log: "test log",
1104 ContainerID: ptrs.Ptr(containerID),
1105 })
1106 expectedContainerIDs[containerID] = true
1107 }
1108 require.NoError(t, api.m.db.AddTaskLogs(taskLogs))
1109
1110 stream := &mockStream[*apiv1.TrialLogsFieldsResponse]{ctx: ctx}
1111
1112 err = api.TrialLogsFields(&apiv1.TrialLogsFieldsRequest{
1113 TrialId: int32(trial.ID),
1114 }, stream)
1115 require.NoError(t, err)
1116
1117 actualContainerIDs := make(map[string]bool)
1118 for _, s := range stream.getData() {
1119 for _, containerID := range s.ContainerIds {
1120 actualContainerIDs[containerID] = true
1121 }
1122 }
1123 require.Equal(t, expectedContainerIDs, actualContainerIDs)
1124
1125 // Retry with follow.
1126 newStream := &mockStream[*apiv1.TrialLogsFieldsResponse]{ctx: ctx}
1127 done := make(chan error, 1)

Callers

nothing calls this directly

Calls 15

NewRequestIDFunction · 0.92
AddTaskFunction · 0.92
BunFunction · 0.92
PtrFunction · 0.92
setupAPITestFunction · 0.85
createTestTrialFunction · 0.85
trialTaskIDFunction · 0.85
makeFunction · 0.85
ExecMethod · 0.80
ModelMethod · 0.80
getDataMethod · 0.80
FatalMethod · 0.80

Tested by

no test coverage detected