Remove per-report batch notification state
This commit is contained in:
@@ -130,10 +130,6 @@ type BatchReportResult struct {
|
|||||||
RunID string `json:"runId"`
|
RunID string `json:"runId"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
Error string `json:"error,omitempty"`
|
Error string `json:"error,omitempty"`
|
||||||
NotificationStatus string `json:"notificationStatus,omitempty"`
|
|
||||||
NotificationRunID string `json:"notificationRunId,omitempty"`
|
|
||||||
NotificationPipelineID string `json:"notificationPipelineId,omitempty"`
|
|
||||||
NotificationError string `json:"notificationError,omitempty"`
|
|
||||||
GeneratedAt time.Time `json:"generatedAt"`
|
GeneratedAt time.Time `json:"generatedAt"`
|
||||||
ValidPeriod timeutil.Period `json:"validPeriod"`
|
ValidPeriod timeutil.Period `json:"validPeriod"`
|
||||||
Timezone string `json:"timezone"`
|
Timezone string `json:"timezone"`
|
||||||
@@ -358,7 +354,7 @@ func RunBatchDetailed(ctx context.Context, req BatchRequest) (*BatchResult, erro
|
|||||||
noNotify: true,
|
noNotify: true,
|
||||||
})
|
})
|
||||||
if reportResult != nil {
|
if reportResult != nil {
|
||||||
copyBatchReportPaths(&item, reportResult)
|
copyBatchReportDetails(&item, reportResult)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
item.Status = "failed"
|
item.Status = "failed"
|
||||||
@@ -381,7 +377,7 @@ func RunBatchDetailed(ctx context.Context, req BatchRequest) (*BatchResult, erro
|
|||||||
return nil, fmt.Errorf("run is not implemented")
|
return nil, fmt.Errorf("run is not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
func copyBatchReportPaths(item *BatchReportResult, result *ReportResult) {
|
func copyBatchReportDetails(item *BatchReportResult, result *ReportResult) {
|
||||||
item.LLMDebugPath = result.LLMDebugPath
|
item.LLMDebugPath = result.LLMDebugPath
|
||||||
item.OutputPath = result.OutputPath
|
item.OutputPath = result.OutputPath
|
||||||
item.ProfileID = result.ProfileID
|
item.ProfileID = result.ProfileID
|
||||||
@@ -390,11 +386,6 @@ func copyBatchReportPaths(item *BatchReportResult, result *ReportResult) {
|
|||||||
item.Timezone = result.Timezone
|
item.Timezone = result.Timezone
|
||||||
item.SourceWarnings = append([]weatherdata.SourceWarning(nil), result.SourceWarnings...)
|
item.SourceWarnings = append([]weatherdata.SourceWarning(nil), result.SourceWarnings...)
|
||||||
item.ValidationStatus = result.ValidationStatus
|
item.ValidationStatus = result.ValidationStatus
|
||||||
if result.Notification != nil {
|
|
||||||
item.NotificationStatus = result.Notification.Status
|
|
||||||
item.NotificationRunID = result.Notification.RunID
|
|
||||||
item.NotificationPipelineID = result.Notification.PipelineID
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func batchInspectionCandidates(req BatchRequest, now time.Time) ([]report.Resolved, error) {
|
func batchInspectionCandidates(req BatchRequest, now time.Time) ([]report.Resolved, error) {
|
||||||
|
|||||||
@@ -33,21 +33,11 @@ func writeBatchStatus(stderr io.Writer, result *app.BatchResult) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
for _, item := range result.Reports {
|
for _, item := range result.Reports {
|
||||||
notificationFields := ""
|
|
||||||
if item.NotificationStatus != "" {
|
|
||||||
notificationFields += fmt.Sprintf(" notificationStatus=%q", item.NotificationStatus)
|
|
||||||
}
|
|
||||||
if item.NotificationRunID != "" {
|
|
||||||
notificationFields += fmt.Sprintf(" notificationRunId=%q", item.NotificationRunID)
|
|
||||||
}
|
|
||||||
if item.NotificationError != "" {
|
|
||||||
notificationFields += fmt.Sprintf(" notificationError=%q", item.NotificationError)
|
|
||||||
}
|
|
||||||
if item.Status == "failed" {
|
if item.Status == "failed" {
|
||||||
_, _ = fmt.Fprintf(stderr, "report=%s status=failed error=%q%s\n", item.ReportID, item.Error, notificationFields)
|
_, _ = fmt.Fprintf(stderr, "report=%s status=failed error=%q\n", item.ReportID, item.Error)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
_, _ = fmt.Fprintf(stderr, "report=%s status=succeeded output=%q%s\n", item.ReportID, item.OutputPath, notificationFields)
|
_, _ = fmt.Fprintf(stderr, "report=%s status=succeeded output=%q\n", item.ReportID, item.OutputPath)
|
||||||
}
|
}
|
||||||
if result.Notification != nil {
|
if result.Notification != nil {
|
||||||
_, _ = fmt.Fprintf(stderr, "batchNotification status=%q", result.Notification.Status)
|
_, _ = fmt.Fprintf(stderr, "batchNotification status=%q", result.Notification.Status)
|
||||||
|
|||||||
@@ -118,6 +118,14 @@ func TestRunActionReturnsFailureForBatchNotificationFailure(t *testing.T) {
|
|||||||
if summary.Status != summaryStatusFailed || summary.Total != 2 || summary.Succeeded != 2 || summary.Failed != 0 || summary.Notification == nil || summary.Notification.Status != "failed" {
|
if summary.Status != summaryStatusFailed || summary.Total != 2 || summary.Succeeded != 2 || summary.Failed != 0 || summary.Notification == nil || summary.Notification.Status != "failed" {
|
||||||
t.Fatalf("summary = %#v", summary)
|
t.Fatalf("summary = %#v", summary)
|
||||||
}
|
}
|
||||||
|
if !strings.Contains(stderr.String(), `batchNotification status="failed"`) {
|
||||||
|
t.Fatalf("stdout/stderr = %q/%q", stdout.String(), stderr.String())
|
||||||
|
}
|
||||||
|
for _, field := range []string{"notificationStatus", "notificationRunId", "notificationPipelineId", "notificationError"} {
|
||||||
|
if strings.Contains(stdout.String(), field) || strings.Contains(stderr.String(), field) {
|
||||||
|
t.Fatalf("stdout/stderr includes removed field %q: %q/%q", field, stdout.String(), stderr.String())
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInspectCommandIsUnknownAndAbsentFromHelp(t *testing.T) {
|
func TestInspectCommandIsUnknownAndAbsentFromHelp(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user