@@ -318,6 +318,7 @@ def get_all
318318 context "with named Cloud" do
319319 let ( :app ) { application . routes }
320320 let ( :named_cloud_path ) { "_cross_app" }
321+ let ( :named_sync_secret ) { "named-secret" }
321322 let ( :request_body ) do
322323 JSON . generate ( {
323324 "environment_id" => 1 ,
@@ -331,12 +332,12 @@ def get_all
331332 Flipper ::Cloud ::MessageVerifier . new ( secret : "named-secret" ) . generate ( request_body , timestamp )
332333 end
333334 let ( :signature_header_value ) do
334- Flipper ::Cloud ::MessageVerifier . new ( secret : "" ) . header ( signature , timestamp )
335+ Flipper ::Cloud ::MessageVerifier . new ( secret : "header-secret " ) . header ( signature , timestamp )
335336 end
336337
337338 before do
338339 ENV [ "FLIPPER_CLOUD_CROSS_APP_TOKEN" ] = "named-token"
339- ENV [ "FLIPPER_CLOUD_CROSS_APP_SYNC_SECRET" ] = "named-secret"
340+ ENV [ "FLIPPER_CLOUD_CROSS_APP_SYNC_SECRET" ] = named_sync_secret
340341 initializer do
341342 Flipper . configure do |flipper_config |
342343 flipper_config . named ( :cross_app ) do |named |
@@ -385,6 +386,20 @@ def get_all
385386 ENV . delete ( "FLIPPER_CLOUD_SYNC_SECRET" )
386387 end
387388 end
389+
390+ context "with an empty sync secret" do
391+ let ( :named_sync_secret ) { "" }
392+
393+ it "does not mount a webhook" do
394+ silence { application . initialize! }
395+
396+ post "/_cross_app" , request_body , {
397+ "HTTP_FLIPPER_CLOUD_SIGNATURE" => signature_header_value ,
398+ }
399+
400+ expect ( last_response . status ) . to eq ( 404 )
401+ end
402+ end
388403 end
389404
390405 it "loads named Cloud credentials from the matching Rails credential scope" do
0 commit comments