Skip to content

Commit 11aafca

Browse files
committed
Fix failing specs
1 parent b8b05ae commit 11aafca

File tree

9 files changed

+70
-36
lines changed

9 files changed

+70
-36
lines changed

spec/datadog/appsec/context_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@
166166
end
167167

168168
let(:run_result) do
169-
Datadog::AppSec::SecurityEngine::Result::Error.new(duration_ext_ns: 0)
169+
Datadog::AppSec::SecurityEngine::Result::Error.new(duration_ext_ns: 0, input_truncated: false)
170170
end
171171
let(:persistent_data) do
172172
{'server.request.query' => {'q' => "1' OR 1=1;"}}

spec/datadog/appsec/contrib/active_record/mysql2_adapter_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@
133133
derivatives: {},
134134
timeout: false,
135135
duration_ns: 0,
136-
duration_ext_ns: 0
136+
duration_ext_ns: 0,
137+
input_truncated: false
137138
)
138139
end
139140

spec/datadog/appsec/contrib/active_record/postgresql_adapter_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@
140140
derivatives: {},
141141
timeout: false,
142142
duration_ns: 0,
143-
duration_ext_ns: 0
143+
duration_ext_ns: 0,
144+
input_truncated: false
144145
)
145146
end
146147

spec/datadog/appsec/contrib/active_record/sqlite3_adapter_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@
127127
derivatives: {},
128128
timeout: false,
129129
duration_ns: 0,
130-
duration_ext_ns: 0
130+
duration_ext_ns: 0,
131+
input_truncated: false
131132
)
132133
end
133134

spec/datadog/appsec/event_spec.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@
5454
},
5555
timeout: false,
5656
duration_ns: 0,
57-
duration_ext_ns: 0
57+
duration_ext_ns: 0,
58+
input_truncated: false
5859
)
5960
end
6061

@@ -210,7 +211,8 @@
210211
derivatives: {},
211212
timeout: false,
212213
duration_ns: 0,
213-
duration_ext_ns: 0
214+
duration_ext_ns: 0,
215+
input_truncated: false
214216
)
215217
end
216218

@@ -282,7 +284,8 @@
282284
derivatives: {'dd.appsec.fp.http.endpoint' => 'http-post-c1525143-2d711642-1234567890'},
283285
timeout: false,
284286
duration_ns: 0,
285-
duration_ext_ns: 0
287+
duration_ext_ns: 0,
288+
input_truncated: false
286289
)
287290
end
288291

@@ -364,7 +367,8 @@
364367
},
365368
timeout: false,
366369
duration_ns: 0,
367-
duration_ext_ns: 0
370+
duration_ext_ns: 0,
371+
input_truncated: false
368372
)
369373
end
370374

spec/datadog/appsec/metrics/telemetry_spec.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
context 'when reporting a match run result' do
1717
let(:run_result) do
1818
Datadog::AppSec::SecurityEngine::Result::Match.new(
19-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
19+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
20+
input_truncated: false
2021
)
2122
end
2223

@@ -33,7 +34,8 @@
3334
context 'when reporting a match run result with timeout' do
3435
let(:run_result) do
3536
Datadog::AppSec::SecurityEngine::Result::Match.new(
36-
events: [], actions: {}, derivatives: {}, timeout: true, duration_ns: 0, duration_ext_ns: 0
37+
events: [], actions: {}, derivatives: {}, timeout: true, duration_ns: 0, duration_ext_ns: 0,
38+
input_truncated: false
3739
)
3840
end
3941

@@ -52,7 +54,8 @@
5254
context 'when reporting a ok run result' do
5355
let(:run_result) do
5456
Datadog::AppSec::SecurityEngine::Result::Ok.new(
55-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
57+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
58+
input_truncated: false
5659
)
5760
end
5861

@@ -67,7 +70,8 @@
6770
context 'when reporting a ok run result with timeout' do
6871
let(:run_result) do
6972
Datadog::AppSec::SecurityEngine::Result::Ok.new(
70-
events: [], actions: {}, derivatives: {}, timeout: true, duration_ns: 0, duration_ext_ns: 0
73+
events: [], actions: {}, derivatives: {}, timeout: true, duration_ns: 0, duration_ext_ns: 0,
74+
input_truncated: false
7175
)
7276
end
7377

@@ -83,7 +87,7 @@
8387

8488
context 'when reporting a error run result' do
8589
let(:run_result) do
86-
Datadog::AppSec::SecurityEngine::Result::Error.new(duration_ext_ns: 0)
90+
Datadog::AppSec::SecurityEngine::Result::Error.new(duration_ext_ns: 0, input_truncated: false)
8791
end
8892

8993
it 'does not set WAF metrics on the span' do

spec/datadog/appsec/security_engine/result_spec.rb

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
derivatives: {'3' => '3'},
1313
timeout: true,
1414
duration_ns: 400,
15-
duration_ext_ns: 500
15+
duration_ext_ns: 500,
16+
input_truncated: false
1617
)
1718
end
1819

@@ -22,25 +23,28 @@
2223
it { expect(result.derivatives).to eq({'3' => '3'}) }
2324
it { expect(result.duration_ns).to eq(400) }
2425
it { expect(result.duration_ext_ns).to eq(500) }
26+
it { expect(result.input_truncated?).to eq(false) }
2527
end
2628

2729
context 'when initializing error result' do
28-
subject(:result) { described_class::Error.new(duration_ext_ns: 100) }
30+
subject(:result) { described_class::Error.new(duration_ext_ns: 100, input_truncated: false) }
2931

3032
it { expect(result).not_to be_timeout }
3133
it { expect(result.events).to eq([]) }
3234
it { expect(result.actions).to eq({}) }
3335
it { expect(result.derivatives).to eq({}) }
3436
it { expect(result.duration_ns).to eq(0) }
3537
it { expect(result.duration_ext_ns).to eq(100) }
38+
it { expect(result.input_truncated?).to eq(false) }
3639
end
3740
end
3841

3942
describe '#timeout?' do
4043
context 'when result indicates timeout' do
4144
subject(:result) do
4245
described_class::Ok.new(
43-
events: [], actions: {}, derivatives: {}, timeout: true, duration_ns: 0, duration_ext_ns: 0
46+
events: [], actions: {}, derivatives: {}, timeout: true, duration_ns: 0, duration_ext_ns: 0,
47+
input_truncated: false
4448
)
4549
end
4650

@@ -50,7 +54,8 @@
5054
context 'when result does not indicate timeout' do
5155
subject(:result) do
5256
described_class::Ok.new(
53-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
57+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
58+
input_truncated: false
5459
)
5560
end
5661

@@ -62,7 +67,8 @@
6267
context 'when result is a generic type' do
6368
subject(:result) do
6469
described_class::Base.new(
65-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
70+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
71+
input_truncated: false
6672
)
6773
end
6874

@@ -72,7 +78,8 @@
7278
context 'when result is a "match" type' do
7379
subject(:result) do
7480
described_class::Match.new(
75-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
81+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
82+
input_truncated: false
7683
)
7784
end
7885

@@ -82,15 +89,16 @@
8289
context 'when result is an "ok" type' do
8390
subject(:result) do
8491
described_class::Ok.new(
85-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
92+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
93+
input_truncated: false
8694
)
8795
end
8896

8997
it { expect(result).not_to be_match }
9098
end
9199

92100
context 'when result is an "error" type' do
93-
subject(:result) { described_class::Error.new(duration_ext_ns: 0) }
101+
subject(:result) { described_class::Error.new(duration_ext_ns: 0, input_truncated: false) }
94102

95103
it { expect(result).not_to be_match }
96104
end
@@ -100,7 +108,8 @@
100108
context 'when result is a generic type' do
101109
subject(:result) do
102110
described_class::Base.new(
103-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
111+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
112+
input_truncated: false
104113
)
105114
end
106115

@@ -110,7 +119,8 @@
110119
context 'when result is a "match" type' do
111120
subject(:result) do
112121
described_class::Match.new(
113-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
122+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
123+
input_truncated: false
114124
)
115125
end
116126

@@ -120,15 +130,16 @@
120130
context 'when result is an "ok" type' do
121131
subject(:result) do
122132
described_class::Ok.new(
123-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
133+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
134+
input_truncated: false
124135
)
125136
end
126137

127138
it { expect(result).not_to be_error }
128139
end
129140

130141
context 'when result is an "error" type' do
131-
subject(:result) { described_class::Error.new(duration_ext_ns: 0) }
142+
subject(:result) { described_class::Error.new(duration_ext_ns: 0, input_truncated: false) }
132143

133144
it { expect(result).to be_error }
134145
end

spec/datadog/appsec/security_engine/runner_spec.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,9 @@
185185
end
186186

187187
let(:waf_result) do
188-
instance_double(Datadog::AppSec::WAF::Result, status: :err_invalid_object, timeout: false)
188+
instance_double(
189+
Datadog::AppSec::WAF::Result, status: :err_invalid_object, timeout: false, input_truncated?: false
190+
)
189191
end
190192

191193
it 'sends telemetry error' do
@@ -197,11 +199,13 @@
197199

198200
context 'when WAF::Result#input_truncated? is true' do
199201
let(:waf_result) do
200-
instance_double(Datadog::AppSec::WAF::Result, status: :err_invalid_object, timeout: true)
202+
instance_double(
203+
Datadog::AppSec::WAF::Result, status: :err_invalid_object, timeout: true, input_truncated?: true
204+
)
201205
end
202206

203207
it 'returns result with input_trucnated set to true' do
204-
expect(result.input_truncated?).to be true
208+
expect(waf_result.input_truncated?).to be true
205209
end
206210
end
207211
end
@@ -224,7 +228,7 @@
224228

225229
expect(run_result).to be_kind_of(Datadog::AppSec::SecurityEngine::Result::Error)
226230
expect(run_result.duration_ext_ns).to be > 0
227-
expect(result.input_truncated?).to be false
231+
expect(run_result.input_truncated?).to be false
228232
end
229233
end
230234
end

spec/datadog/appsec/security_event_spec.rb

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313

1414
let(:waf_result) do
1515
Datadog::AppSec::SecurityEngine::Result::Match.new(
16-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
16+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
17+
input_truncated: false
1718
)
1819
end
1920

@@ -25,7 +26,8 @@
2526

2627
let(:waf_result) do
2728
Datadog::AppSec::SecurityEngine::Result::Ok.new(
28-
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0
29+
events: [], actions: {}, derivatives: {}, timeout: false, duration_ns: 0, duration_ext_ns: 0,
30+
input_truncated: false
2931
)
3032
end
3133

@@ -34,7 +36,9 @@
3436

3537
context 'when WAF result is an error' do
3638
subject(:event) { described_class.new(waf_result, trace: trace, span: span) }
37-
let(:waf_result) { Datadog::AppSec::SecurityEngine::Result::Error.new(duration_ext_ns: 0) }
39+
let(:waf_result) do
40+
Datadog::AppSec::SecurityEngine::Result::Error.new(duration_ext_ns: 0, input_truncated: false)
41+
end
3842

3943
it { expect(event).not_to be_attack }
4044
end
@@ -51,7 +55,8 @@
5155
derivatives: {'_dd.appsec.s.req.headers' => [{'host' => [8], 'version' => [8]}]},
5256
timeout: false,
5357
duration_ns: 0,
54-
duration_ext_ns: 0
58+
duration_ext_ns: 0,
59+
input_truncated: false
5560
)
5661
end
5762

@@ -68,7 +73,8 @@
6873
derivatives: {'not_schema' => 'value'},
6974
timeout: false,
7075
duration_ns: 0,
71-
duration_ext_ns: 0
76+
duration_ext_ns: 0,
77+
input_truncated: false
7278
)
7379
end
7480

@@ -87,7 +93,8 @@
8793
derivatives: {'_dd.appsec.fp.http.endpoint' => 'http-post-c1525143-2d711642-'},
8894
timeout: false,
8995
duration_ns: 0,
90-
duration_ext_ns: 0
96+
duration_ext_ns: 0,
97+
input_truncated: false
9198
)
9299
end
93100

@@ -104,7 +111,8 @@
104111
derivatives: {'not_fingerprint' => 'value'},
105112
timeout: false,
106113
duration_ns: 0,
107-
duration_ext_ns: 0
114+
duration_ext_ns: 0,
115+
input_truncated: false
108116
)
109117
end
110118

0 commit comments

Comments
 (0)