test/unit/client_test.rb in raygun4ruby-2.7.1 vs test/unit/client_test.rb in raygun4ruby-3.0.0

- old
+ new

@@ -654,9 +654,47 @@ } assert_equal expected_hash, details[:request] end + + def test_filter_payload_with_whitelist_and_filter_parameters_applies_both + Raygun.configuration.filter_parameters = [:password] + Raygun.configuration.filter_payload_with_whitelist = true + Raygun.configuration.whitelist_payload_shape = proc do |payload| + payload[:request][:headers]["Cookie"] = "[FILTERED]" + payload + end + + parameters = { + "something_normal" => "hello", + "password" => "wouldntyouliketoknow" + } + + post_body_env_hash = sample_env_hash.merge( + "REQUEST_METHOD" => "POST", + "rack.input" => StringIO.new(URI.encode_www_form(parameters)) + ) + + payload = @client.send(:build_payload_hash, test_exception, post_body_env_hash) + request_payload = payload[:details][:request] + + expected_form = { + "something_normal" => "hello", + "password" => "[FILTERED]" + } + + assert_equal expected_form, request_payload[:form] + + expected_headers = { + "Version" => "HTTP/1.1", + "Host" => "localhost:3000", + "Cookie" => "[FILTERED]" + } + + assert_equal expected_headers, request_payload[:headers] + end + def test_build_payload_hash_adds_affected_user_details_when_supplied_with_user user = OpenStruct.new(id: '123', email: 'test@email.com', first_name: 'Taylor') expected_details = { :isAnonymous => false, :identifier => '123',