Skip to content

Commit

Permalink
Merge pull request #2910 from DataDog/fix-possible-leaky-specs
Browse files Browse the repository at this point in the history
Make sure to reset AppSec settings when calling `Datadog.configuration.reset!`
  • Loading branch information
GustavoCaso authored Jun 19, 2023
2 parents b4cbea0 + fa033c3 commit a734980
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 8 deletions.
1 change: 1 addition & 0 deletions lib/datadog/core/configuration/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ def dig(*options)

def reset!
reset_options!
Datadog::AppSec.settings.send(:reset!) if respond_to?(:appsec)
end
end
end
Expand Down
11 changes: 4 additions & 7 deletions spec/datadog/core/telemetry/collector_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,7 @@
end

after do
Datadog.configuration.profiling.send(:reset!)
Datadog.configuration.appsec.send(:reset!)
Datadog.configuration.reset!
end

it { expect(products.appsec).to eq({ version: '4.2' }) }
Expand All @@ -106,8 +105,7 @@
end

after do
Datadog.configuration.profiling.send(:reset!)
Datadog.configuration.appsec.send(:reset!)
Datadog.configuration.reset!
end

it { is_expected.to be_a_kind_of(Datadog::Core::Telemetry::V1::Product) }
Expand Down Expand Up @@ -215,8 +213,7 @@
Datadog.configuration.appsec.enabled = false
end
after do
Datadog.configuration.profiling.send(:reset!)
Datadog.configuration.appsec.send(:reset!)
Datadog.configuration.reset!
end
it { is_expected.to include('profiling.enabled' => false) }
end
Expand All @@ -243,7 +240,7 @@
c.appsec.enabled = true
end
end
after { Datadog.configuration.appsec.send(:reset!) }
after { Datadog.configuration.reset! }

it { is_expected.to include('appsec.enabled' => true) }
end
Expand Down
9 changes: 8 additions & 1 deletion spec/datadog/kit/identity_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,15 @@
Datadog::AppSec::Scope.new(trace, span, processor)
end

it 'instruments the user information to appsec' do
before do
Datadog.configuration.appsec.enabled = true
end

after do
Datadog.configuration.reset!
end

it 'instruments the user information to appsec' do
expect_any_instance_of(Datadog::AppSec::Instrumentation::Gateway).to receive(:push).with(
'identity.set_user',
instance_of(Datadog::AppSec::Instrumentation::Gateway::User)
Expand Down
4 changes: 4 additions & 0 deletions spec/datadog/tracing/integration_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -909,6 +909,10 @@ def sample!(trace)
end
end

after do
Datadog.configuration.reset!
end

context 'is provided' do
let(:on_build) do
double('on_build').tap do |double|
Expand Down

0 comments on commit a734980

Please sign in to comment.