[Notifications] Improving webhook notifications (#6965)
* worker setup * fix tests * start worker * graceful worker drain * retry queue * migrate queue to watermill * adding filters and improvements * add the event type to the webhook message * eliminating redundant JSON serialization * resolve review comments * trigger actions * fix tests * typo fixes * read max_backoff_seconds from config * add more context to the dead letter * close the http response on errors * drain the http response body in case not empty * eliminate exported typesπ
This commit is contained in:
@@ -48,7 +48,7 @@ func TestHttpClientSendMessage(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err = client.sendMessage("/test/path", message)
|
||||
err = client.sendMessage(newWebhookMessage("/test/path", message))
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to send message: %v", err)
|
||||
}
|
||||
@@ -57,6 +57,10 @@ func TestHttpClientSendMessage(t *testing.T) {
|
||||
t.Errorf("Expected key '/test/path', got %v", receivedPayload["key"])
|
||||
}
|
||||
|
||||
if receivedPayload["event_type"] != "create" {
|
||||
t.Errorf("Expected event_type 'create', got %v", receivedPayload["event_type"])
|
||||
}
|
||||
|
||||
if receivedPayload["message"] == nil {
|
||||
t.Error("Expected message to be present")
|
||||
}
|
||||
@@ -92,7 +96,7 @@ func TestHttpClientSendMessageWithoutToken(t *testing.T) {
|
||||
|
||||
message := &filer_pb.EventNotification{}
|
||||
|
||||
err = client.sendMessage("/test/path", message)
|
||||
err = client.sendMessage(newWebhookMessage("/test/path", message))
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to send message: %v", err)
|
||||
}
|
||||
@@ -120,7 +124,7 @@ func TestHttpClientSendMessageServerError(t *testing.T) {
|
||||
|
||||
message := &filer_pb.EventNotification{}
|
||||
|
||||
err = client.sendMessage("/test/path", message)
|
||||
err = client.sendMessage(newWebhookMessage("/test/path", message))
|
||||
if err == nil {
|
||||
t.Error("Expected error for server error response")
|
||||
}
|
||||
@@ -139,7 +143,7 @@ func TestHttpClientSendMessageNetworkError(t *testing.T) {
|
||||
|
||||
message := &filer_pb.EventNotification{}
|
||||
|
||||
err = client.sendMessage("/test/path", message)
|
||||
err = client.sendMessage(newWebhookMessage("/test/path", message))
|
||||
if err == nil {
|
||||
t.Error("Expected error for network failure")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user