@@ -31,38 +31,51 @@ func TestACRWebhook_Validate(t *testing.T) {
3131 tests := []struct {
3232 name string
3333 method string
34- secret string
34+ contentType string
35+ authHeader string
3536 noSecret bool
3637 expectError bool
3738 }{
3839 {
3940 name : "valid POST request with correct secret" ,
4041 method : "POST" ,
41- secret : "test-secret" ,
42+ contentType : "application/json" ,
43+ authHeader : "test-secret" ,
4244 expectError : false ,
4345 },
4446 {
4547 name : "valid POST request without secret" ,
4648 method : "POST" ,
49+ contentType : "application/json" ,
4750 noSecret : true ,
4851 expectError : false ,
4952 },
5053 {
5154 name : "invalid HTTP method" ,
5255 method : "GET" ,
53- secret : "test-secret" ,
56+ contentType : "application/json" ,
57+ authHeader : "test-secret" ,
5458 expectError : true ,
5559 },
5660 {
57- name : "missing secret when secret is configured " ,
61+ name : "invalid content type " ,
5862 method : "POST" ,
59- secret : "" ,
63+ contentType : "text/plain" ,
64+ authHeader : "test-secret" ,
6065 expectError : true ,
6166 },
6267 {
63- name : "invalid secret" ,
68+ name : "missing Authorization header when secret is configured " ,
6469 method : "POST" ,
65- secret : "not-the-secret" ,
70+ contentType : "application/json" ,
71+ authHeader : "" ,
72+ expectError : true ,
73+ },
74+ {
75+ name : "incorrect secret" ,
76+ method : "POST" ,
77+ contentType : "application/json" ,
78+ authHeader : "not-the-secret" ,
6679 expectError : true ,
6780 },
6881 }
@@ -75,10 +88,11 @@ func TestACRWebhook_Validate(t *testing.T) {
7588 }
7689
7790 req := httptest .NewRequest (tt .method , "/webhook" , nil )
78- if tt .secret != "" {
79- query := req .URL .Query ()
80- query .Set ("secret" , tt .secret )
81- req .URL .RawQuery = query .Encode ()
91+ if tt .contentType != "" {
92+ req .Header .Set ("Content-Type" , tt .contentType )
93+ }
94+ if tt .authHeader != "" {
95+ req .Header .Set ("Authorization" , tt .authHeader )
8296 }
8397
8498 err := testWebhook .Validate (req )
0 commit comments