46 lines
2.1 KiB
Go
46 lines
2.1 KiB
Go
package app
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
"testing"
|
|
|
|
distributoradapter "gitea.maximumdirect.net/eric/weatherreporter/internal/adapters/distributor"
|
|
)
|
|
|
|
func TestNotificationResultFromUploadExcludesRemoteResponseDetails(t *testing.T) {
|
|
const remote = "REMOTE-DIAGNOSTIC"
|
|
notification := notificationResultFromUpload("weather", "bundle", "key", distributoradapter.UploadResult{
|
|
RunID: "run-123", Status: "failed", UploadStatus: "accepted", StatusError: remote,
|
|
RunStatus: &distributoradapter.RunStatus{PipelineID: "weather", Status: "failed", Report: []byte(`{"detail":"REMOTE-DIAGNOSTIC"}`), Error: remote},
|
|
})
|
|
if notification == nil || notification.StatusError != "distributor status could not be confirmed" || notification.Error != "distributor reported a failed run" || len(notification.Report) != 0 {
|
|
t.Fatalf("notification = %#v", notification)
|
|
}
|
|
if strings.Contains(notification.StatusError, remote) || strings.Contains(notification.Error, remote) {
|
|
t.Fatalf("notification includes remote detail: %#v", notification)
|
|
}
|
|
}
|
|
|
|
func TestBatchNotificationResultExcludesRemoteResponseDetails(t *testing.T) {
|
|
const remote = "REMOTE-DIAGNOSTIC"
|
|
notification := batchNotificationResult(batchNotificationRequest{PipelineID: "weather", BundleID: "bundle", IdempotencyKey: "key"}, &NotificationResult{Status: "failed", Error: remote})
|
|
if notification == nil || notification.Error != "distributor reported a failed run" {
|
|
t.Fatalf("notification = %#v", notification)
|
|
}
|
|
if strings.Contains(notification.Error, remote) {
|
|
t.Fatalf("notification includes remote detail: %#v", notification)
|
|
}
|
|
}
|
|
|
|
func TestFailedBatchNotificationResultExcludesRemoteResponseDetails(t *testing.T) {
|
|
const remote = "REMOTE-DIAGNOSTIC"
|
|
notification := failedBatchNotificationResult(batchNotificationRequest{PipelineID: "weather", BundleID: "bundle", IdempotencyKey: "key"}, errors.New(remote))
|
|
if notification == nil || notification.Error != "distributor notification failed" {
|
|
t.Fatalf("notification = %#v", notification)
|
|
}
|
|
if strings.Contains(notification.Error, remote) {
|
|
t.Fatalf("notification includes remote detail: %#v", notification)
|
|
}
|
|
}
|