esp_sdk 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +4 -1
- data/Rakefile +12 -1
- data/lib/esp/extensions/active_resource/formats/json_api_format.rb +1 -1
- data/lib/esp/extensions/active_resource/validations.rb +3 -2
- data/lib/esp/external_account_creator.rb +2 -2
- data/lib/esp/resources/custom_signature.rb +7 -0
- data/lib/esp/resources/report.rb +1 -1
- data/lib/esp/resources/reports/export/integration.rb +44 -0
- data/lib/esp/resources/team.rb +6 -0
- data/lib/esp/version.rb +1 -1
- data/lib/esp.rb +5 -0
- data/test/esp/extensions/active_resource/formats/json_api_format_test.rb +0 -67
- data/test/esp/extensions/active_resource/paginated_collection_test.rb +0 -69
- data/test/esp/extensions/active_resource/validations_test.rb +0 -20
- data/test/esp/integration/alert_integration_test.rb +96 -0
- data/test/esp/integration/cloud_trail_event_integration_test.rb +18 -0
- data/test/esp/integration/contact_request_integration_test.rb +21 -0
- data/test/esp/integration/custom_signature_integration_test.rb +97 -0
- data/test/esp/integration/dashboard_integration_test.rb +17 -0
- data/test/esp/integration/external_account_integration_test.rb +68 -0
- data/test/esp/integration/json_api_format_integration_test.rb +61 -0
- data/test/esp/integration/metadata_integration_test.rb +18 -0
- data/test/esp/integration/organization_integration_test.rb +81 -0
- data/test/esp/integration/paginated_collection_integration_test.rb +67 -0
- data/test/esp/integration/region_integration_test.rb +32 -0
- data/test/esp/integration/report_export_integration_integration_test.rb +24 -0
- data/test/esp/integration/report_integration_test.rb +71 -0
- data/test/esp/integration/resource_integration_test.rb +54 -0
- data/test/esp/integration/scan_interval_integration_test.rb +49 -0
- data/test/esp/integration/service_integration_test.rb +28 -0
- data/test/esp/integration/signature_integration_test.rb +62 -0
- data/test/esp/integration/stat_custom_signature_integration_test.rb +22 -0
- data/test/esp/integration/stat_integration_test.rb +69 -0
- data/test/esp/integration/stat_region_integration_test.rb +36 -0
- data/test/esp/integration/stat_service_integration_test.rb +36 -0
- data/test/esp/integration/stat_signature_integration_test.rb +36 -0
- data/test/esp/integration/sub_organization_integration_test.rb +79 -0
- data/test/esp/integration/suppression_integration_test.rb +95 -0
- data/test/esp/integration/suppression_region_integration_test.rb +52 -0
- data/test/esp/integration/suppression_signature_integration_test.rb +52 -0
- data/test/esp/integration/suppression_unique_identifier_integration_test.rb +30 -0
- data/test/esp/integration/tag_integration_test.rb +18 -0
- data/test/esp/integration/team_integration_test.rb +87 -0
- data/test/esp/integration/user_integration_test.rb +52 -0
- data/test/esp/integration/validations_integration_test.rb +18 -0
- data/test/esp/resources/alert_test.rb +0 -93
- data/test/esp/resources/cloud_trail_event_test.rb +0 -20
- data/test/esp/resources/contact_request_test.rb +0 -23
- data/test/esp/resources/custom_signature_test.rb +14 -85
- data/test/esp/resources/dashboard_test.rb +0 -19
- data/test/esp/resources/external_account_test.rb +0 -67
- data/test/esp/resources/metadata_test.rb +0 -20
- data/test/esp/resources/organization_test.rb +0 -80
- data/test/esp/resources/region_test.rb +0 -31
- data/test/esp/resources/report_test.rb +0 -70
- data/test/esp/resources/reports/export/integration_test.rb +55 -0
- data/test/esp/resources/resource_test.rb +0 -53
- data/test/esp/resources/scan_interval_test.rb +0 -50
- data/test/esp/resources/service_test.rb +0 -27
- data/test/esp/resources/signature_test.rb +0 -60
- data/test/esp/resources/stat_custom_signature_test.rb +0 -22
- data/test/esp/resources/stat_region_test.rb +1 -36
- data/test/esp/resources/stat_service_test.rb +1 -36
- data/test/esp/resources/stat_signature_test.rb +0 -36
- data/test/esp/resources/stat_test.rb +0 -68
- data/test/esp/resources/sub_organization_test.rb +0 -78
- data/test/esp/resources/suppression/region_test.rb +0 -50
- data/test/esp/resources/suppression/signature_test.rb +0 -50
- data/test/esp/resources/suppression/unique_identifier_test.rb +0 -30
- data/test/esp/resources/suppression_test.rb +0 -94
- data/test/esp/resources/tag_test.rb +0 -20
- data/test/esp/resources/team_test.rb +14 -78
- data/test/esp/resources/user_test.rb +0 -47
- data/test/factories/custom_signatures.rb +17 -7
- data/test/factories/teams.rb +18 -8
- data/test/parallel_reporter.rb +93 -0
- data/test/test_helper.rb +20 -4
- metadata +70 -3
@@ -278,59 +278,6 @@ module ESP
|
|
278
278
|
end
|
279
279
|
end
|
280
280
|
end
|
281
|
-
|
282
|
-
context 'live calls' do
|
283
|
-
setup do
|
284
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
285
|
-
WebMock.allow_net_connect!
|
286
|
-
@team = ESP::Team.last
|
287
|
-
skip "Live DB does not have any teams. Add a team and run tests again." if @team.blank?
|
288
|
-
end
|
289
|
-
|
290
|
-
teardown do
|
291
|
-
WebMock.disable_net_connect!
|
292
|
-
end
|
293
|
-
|
294
|
-
context 'with ESP::Team' do
|
295
|
-
context '.find' do
|
296
|
-
should 'find a team' do
|
297
|
-
t = ESP::Team.find(@team.id)
|
298
|
-
|
299
|
-
assert_equal ESP::Team, t.class
|
300
|
-
assert_equal @team.id, t.id
|
301
|
-
end
|
302
|
-
|
303
|
-
should 'find teams' do
|
304
|
-
t = ESP::Team.find(:all, params: { id: @team.id })
|
305
|
-
|
306
|
-
assert_equal ESP::Team, t.resource_class
|
307
|
-
assert_equal 1, t.count
|
308
|
-
end
|
309
|
-
end
|
310
|
-
|
311
|
-
context '.where' do
|
312
|
-
should 'return teams' do
|
313
|
-
teams = ESP::Team.where(id: @team.id)
|
314
|
-
|
315
|
-
assert_equal ESP::Team, teams.resource_class
|
316
|
-
assert_equal 1, teams.count
|
317
|
-
end
|
318
|
-
|
319
|
-
should 'return included object on first call' do
|
320
|
-
teams = ESP::Team.where(id: @team.id, include: 'organization')
|
321
|
-
|
322
|
-
assert_equal ESP::Organization, teams.first.attributes['organization'].class
|
323
|
-
end
|
324
|
-
|
325
|
-
should 'return multiple included objects on first call' do
|
326
|
-
teams = ESP::Team.where(id: @team.id, include: 'sub_organization, organization')
|
327
|
-
|
328
|
-
assert_equal ESP::Organization, teams.first.attributes['organization'].class
|
329
|
-
assert_equal ESP::SubOrganization, teams.first.attributes['sub_organization'].class
|
330
|
-
end
|
331
|
-
end
|
332
|
-
end
|
333
|
-
end
|
334
281
|
end
|
335
282
|
end
|
336
283
|
end
|
@@ -69,56 +69,6 @@ module ESP
|
|
69
69
|
assert_equal ESP::ScanInterval, scan_interval.resource_class
|
70
70
|
end
|
71
71
|
end
|
72
|
-
|
73
|
-
context 'live calls' do
|
74
|
-
setup do
|
75
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
76
|
-
WebMock.allow_net_connect!
|
77
|
-
@external_account = ESP::ExternalAccount.last
|
78
|
-
@service = ESP::Service.last
|
79
|
-
skip "Live DB does not have any external_accounts. Add an external_account and run tests again." if @external_account.blank?
|
80
|
-
skip "Live DB does not have any services. Add an service and run tests again." if @service.blank?
|
81
|
-
end
|
82
|
-
|
83
|
-
teardown do
|
84
|
-
# destroy record incase of failure
|
85
|
-
@scan_interval.destroy rescue nil # rubocop:disable Style/RescueModifier
|
86
|
-
WebMock.disable_net_connect!
|
87
|
-
end
|
88
|
-
|
89
|
-
context '#CRUD' do
|
90
|
-
should 'be able to create, update and destroy' do
|
91
|
-
@scan_interval = ESP::ScanInterval.new(interval: 15, service_id: @service.id, external_account_id: @external_account.id)
|
92
|
-
|
93
|
-
# Create
|
94
|
-
assert_predicate @scan_interval, :new?
|
95
|
-
@scan_interval.save
|
96
|
-
refute_predicate @scan_interval, :new?
|
97
|
-
|
98
|
-
# Update
|
99
|
-
@scan_interval.interval = 30
|
100
|
-
@scan_interval.save
|
101
|
-
assert_nothing_raised do
|
102
|
-
ESP::ScanInterval.find(@scan_interval.id.to_i)
|
103
|
-
end
|
104
|
-
|
105
|
-
# Service Relationship
|
106
|
-
service = @scan_interval.service
|
107
|
-
assert_equal service.id, @service.id
|
108
|
-
|
109
|
-
# External Account Relationship
|
110
|
-
external_account = @scan_interval.external_account
|
111
|
-
assert_equal external_account.id, @external_account.id
|
112
|
-
|
113
|
-
# Destroy
|
114
|
-
@scan_interval.destroy
|
115
|
-
|
116
|
-
assert_raises ActiveResource::ResourceNotFound do
|
117
|
-
ESP::ScanInterval.find(@scan_interval.id.to_i)
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
122
72
|
end
|
123
73
|
end
|
124
74
|
end
|
@@ -40,33 +40,6 @@ module ESP
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
43
|
-
|
44
|
-
context 'live calls' do
|
45
|
-
setup do
|
46
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
47
|
-
WebMock.allow_net_connect!
|
48
|
-
@service = ESP::Service.last
|
49
|
-
skip "Live DB does not have any services. Add a service and run tests again." if @service.blank?
|
50
|
-
end
|
51
|
-
|
52
|
-
teardown do
|
53
|
-
WebMock.disable_net_connect!
|
54
|
-
end
|
55
|
-
|
56
|
-
context '#signatures' do
|
57
|
-
should 'return an array of signatures' do
|
58
|
-
signatures = @service.signatures
|
59
|
-
|
60
|
-
assert_equal ESP::Signature, signatures.resource_class
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
context '#CRUD' do
|
65
|
-
should 'be able to read' do
|
66
|
-
assert_not_nil @service, @service.inspect
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
43
|
end
|
71
44
|
end
|
72
45
|
end
|
@@ -118,66 +118,6 @@ module ESP
|
|
118
118
|
assert_equal ESP::Suppression::Signature, suppression.class
|
119
119
|
end
|
120
120
|
end
|
121
|
-
|
122
|
-
context 'live calls' do
|
123
|
-
setup do
|
124
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
125
|
-
WebMock.allow_net_connect!
|
126
|
-
@signature = ESP::Signature.where(name_cont: 'heartbleed').last
|
127
|
-
skip "Live DB does not have any signatures. Add a signature and run tests again." if @signature.blank?
|
128
|
-
end
|
129
|
-
|
130
|
-
teardown do
|
131
|
-
WebMock.disable_net_connect!
|
132
|
-
end
|
133
|
-
|
134
|
-
context '#service' do
|
135
|
-
should 'return a service' do
|
136
|
-
service = @signature.service
|
137
|
-
|
138
|
-
assert_equal @signature.service_id, service.id
|
139
|
-
assert_equal ESP::Service, service.class
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
context '#run' do
|
144
|
-
should 'return alerts' do
|
145
|
-
external_account_id = ESP::ExternalAccount.last.id
|
146
|
-
|
147
|
-
alerts = @signature.run(external_account_id: external_account_id, region: 'us_east_1')
|
148
|
-
|
149
|
-
assert_equal ESP::Alert, alerts.resource_class
|
150
|
-
end
|
151
|
-
|
152
|
-
should 'return errors' do
|
153
|
-
external_account_id = 999_999_999_999
|
154
|
-
|
155
|
-
@signature.run(external_account_id: external_account_id, region: 'us_east_1')
|
156
|
-
|
157
|
-
assert_equal "Couldn't find ExternalAccount", @signature.errors.full_messages.first
|
158
|
-
end
|
159
|
-
end
|
160
|
-
|
161
|
-
context '.where' do
|
162
|
-
should 'return signature objects' do
|
163
|
-
signatures = ESP::Signature.where(id_eq: @signature.id)
|
164
|
-
|
165
|
-
assert_equal ESP::Signature, signatures.resource_class
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
context '#CRUD' do
|
170
|
-
should 'be able to read' do
|
171
|
-
signature = ESP::Signature.last
|
172
|
-
|
173
|
-
assert_not_nil signature
|
174
|
-
|
175
|
-
signature = ESP::Signature.find(signature.id)
|
176
|
-
|
177
|
-
assert_not_nil signature
|
178
|
-
end
|
179
|
-
end
|
180
|
-
end
|
181
121
|
end
|
182
122
|
end
|
183
123
|
end
|
@@ -95,28 +95,6 @@ module ESP
|
|
95
95
|
assert_equal ESP::CustomSignature, custom_signature.class
|
96
96
|
end
|
97
97
|
end
|
98
|
-
|
99
|
-
context 'live calls' do
|
100
|
-
setup do
|
101
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
102
|
-
WebMock.allow_net_connect!
|
103
|
-
end
|
104
|
-
|
105
|
-
teardown do
|
106
|
-
WebMock.disable_net_connect!
|
107
|
-
end
|
108
|
-
|
109
|
-
context '.for_stat' do
|
110
|
-
should 'return tags for stat id' do
|
111
|
-
report = ESP::Report.find(:first, params: { id_eq: 1 })
|
112
|
-
skip "make sure you have a complete report" unless report.present?
|
113
|
-
stat_id = report.stat.id
|
114
|
-
stats = ESP::StatCustomSignature.for_stat(stat_id)
|
115
|
-
|
116
|
-
assert_equal ESP::StatCustomSignature, stats.resource_class
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
98
|
end
|
121
99
|
end
|
122
100
|
end
|
@@ -29,6 +29,7 @@ module ESP
|
|
29
29
|
assert_equal ESP::StatRegion, regions.resource_class
|
30
30
|
end
|
31
31
|
end
|
32
|
+
|
32
33
|
context '.find' do
|
33
34
|
should 'throw an error if stat_id is not supplied' do
|
34
35
|
error = assert_raises ArgumentError do
|
@@ -94,42 +95,6 @@ module ESP
|
|
94
95
|
assert_equal ESP::Region, region.class
|
95
96
|
end
|
96
97
|
end
|
97
|
-
|
98
|
-
context 'live calls' do
|
99
|
-
setup do
|
100
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
101
|
-
WebMock.allow_net_connect!
|
102
|
-
end
|
103
|
-
|
104
|
-
teardown do
|
105
|
-
WebMock.disable_net_connect!
|
106
|
-
end
|
107
|
-
|
108
|
-
context '#regions' do
|
109
|
-
should 'return regions' do
|
110
|
-
report = ESP::Report.all.detect { |r| r.status == 'complete' }
|
111
|
-
skip "Live DB does not have any reports. Add a report with stats and run tests again." if report.blank?
|
112
|
-
stat = ESP::Stat.for_report(report.id)
|
113
|
-
regions = stat.regions
|
114
|
-
|
115
|
-
region = regions.first.region
|
116
|
-
|
117
|
-
assert_equal ESP::Region, region.class
|
118
|
-
assert_equal regions.first.region.code, region.code
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
context '.for_stat' do
|
123
|
-
should 'return tags for stat id' do
|
124
|
-
report = ESP::Report.find(:first, params: { id_eq: 1 })
|
125
|
-
skip "make sure you have a complete report" unless report.present?
|
126
|
-
stat_id = report.stat.id
|
127
|
-
stats = ESP::StatRegion.for_stat(stat_id)
|
128
|
-
|
129
|
-
assert_equal ESP::StatRegion, stats.resource_class
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
98
|
end
|
134
99
|
end
|
135
100
|
end
|
@@ -29,6 +29,7 @@ module ESP
|
|
29
29
|
assert_equal ESP::StatService, services.resource_class
|
30
30
|
end
|
31
31
|
end
|
32
|
+
|
32
33
|
context '.find' do
|
33
34
|
should 'throw an error if stat_id is not supplied' do
|
34
35
|
error = assert_raises ArgumentError do
|
@@ -94,42 +95,6 @@ module ESP
|
|
94
95
|
assert_equal ESP::Service, service.class
|
95
96
|
end
|
96
97
|
end
|
97
|
-
|
98
|
-
context 'live calls' do
|
99
|
-
setup do
|
100
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
101
|
-
WebMock.allow_net_connect!
|
102
|
-
end
|
103
|
-
|
104
|
-
teardown do
|
105
|
-
WebMock.disable_net_connect!
|
106
|
-
end
|
107
|
-
|
108
|
-
context '#services' do
|
109
|
-
should 'return signatures' do
|
110
|
-
report = ESP::Report.all.detect { |r| r.status == 'complete' }
|
111
|
-
skip "Live DB does not have any reports. Add a report with stats and run tests again." if report.blank?
|
112
|
-
stat = ESP::Stat.for_report(report.id)
|
113
|
-
services = stat.services
|
114
|
-
|
115
|
-
service = services.first.service
|
116
|
-
|
117
|
-
assert_equal ESP::Service, service.class
|
118
|
-
assert_equal services.first.service.name, service.name
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
context '.for_stat' do
|
123
|
-
should 'return tags for stat id' do
|
124
|
-
report = ESP::Report.find(:first, params: { id_eq: 1 })
|
125
|
-
skip "make sure you have a complete report" unless report.present?
|
126
|
-
stat_id = report.stat.id
|
127
|
-
stats = ESP::StatService.for_stat(stat_id)
|
128
|
-
|
129
|
-
assert_equal ESP::StatService, stats.resource_class
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
98
|
end
|
134
99
|
end
|
135
100
|
end
|
@@ -95,42 +95,6 @@ module ESP
|
|
95
95
|
assert_equal ESP::Signature, signature.class
|
96
96
|
end
|
97
97
|
end
|
98
|
-
|
99
|
-
context 'live calls' do
|
100
|
-
setup do
|
101
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
102
|
-
WebMock.allow_net_connect!
|
103
|
-
end
|
104
|
-
|
105
|
-
teardown do
|
106
|
-
WebMock.disable_net_connect!
|
107
|
-
end
|
108
|
-
|
109
|
-
context '#signatures' do
|
110
|
-
should 'return signatures' do
|
111
|
-
report = ESP::Report.all.detect { |r| r.status == 'complete' }
|
112
|
-
skip "Live DB does not have any reports. Add a report with stats and run tests again." if report.blank?
|
113
|
-
stat = ESP::Stat.for_report(report.id)
|
114
|
-
signatures = stat.signatures
|
115
|
-
|
116
|
-
signature = signatures.first.signature
|
117
|
-
|
118
|
-
assert_equal ESP::Signature, signature.class
|
119
|
-
assert_equal signatures.first.signature.name, signature.name
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
context '.for_stat' do
|
124
|
-
should 'return tags for stat id' do
|
125
|
-
report = ESP::Report.find(:first, params: { id_eq: 1 })
|
126
|
-
skip "make sure you have a complete report" unless report.present?
|
127
|
-
stat_id = report.stat.id
|
128
|
-
stats = ESP::StatSignature.for_stat(stat_id)
|
129
|
-
|
130
|
-
assert_equal ESP::StatSignature, stats.resource_class
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
98
|
end
|
135
99
|
end
|
136
100
|
end
|
@@ -130,74 +130,6 @@ module ESP
|
|
130
130
|
assert_equal ESP::Stat, stats.resource_class
|
131
131
|
end
|
132
132
|
end
|
133
|
-
|
134
|
-
context 'live calls' do
|
135
|
-
setup do
|
136
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
137
|
-
WebMock.allow_net_connect!
|
138
|
-
@report = ESP::Report.all.detect { |r| r.status == 'complete' }
|
139
|
-
skip "Live DB does not have any reports. Add a report with stats and run tests again." if @report.blank?
|
140
|
-
@stat = ESP::Stat.for_report(@report.id)
|
141
|
-
end
|
142
|
-
|
143
|
-
teardown do
|
144
|
-
WebMock.disable_net_connect!
|
145
|
-
end
|
146
|
-
|
147
|
-
context '#report' do
|
148
|
-
should 'return a report' do
|
149
|
-
report = @stat.report
|
150
|
-
|
151
|
-
assert_equal @stat.report_id, report.id
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
context '#regions' do
|
156
|
-
should 'return regions' do
|
157
|
-
regions = @stat.regions
|
158
|
-
|
159
|
-
assert_equal ESP::StatRegion, regions.resource_class
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
context '#services' do
|
164
|
-
should 'return services' do
|
165
|
-
services = @stat.services
|
166
|
-
|
167
|
-
assert_equal ESP::StatService, services.resource_class
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
context '#signatures' do
|
172
|
-
should 'return signatures' do
|
173
|
-
signatures = @stat.signatures
|
174
|
-
|
175
|
-
assert_equal ESP::StatSignature, signatures.resource_class
|
176
|
-
end
|
177
|
-
end
|
178
|
-
|
179
|
-
context '#custom_signautures' do
|
180
|
-
should 'return custom_signautures' do
|
181
|
-
custom_signatures = @stat.custom_signatures
|
182
|
-
|
183
|
-
assert_equal ESP::StatCustomSignature, custom_signatures.resource_class
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
|
-
context 'for_report' do
|
188
|
-
should 'return the stat for the report' do
|
189
|
-
assert_equal @report.id, @stat.report_id
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
|
-
context '.latest_for_teams' do
|
194
|
-
should 'return a collection of stats' do
|
195
|
-
stats = ESP::Stat.latest_for_teams
|
196
|
-
|
197
|
-
assert_equal ESP::Stat, stats.resource_class
|
198
|
-
end
|
199
|
-
end
|
200
|
-
end
|
201
133
|
end
|
202
134
|
end
|
203
135
|
end
|
@@ -52,84 +52,6 @@ module ESP
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
55
|
-
|
56
|
-
context 'live calls' do
|
57
|
-
setup do
|
58
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
59
|
-
WebMock.allow_net_connect!
|
60
|
-
@sub_organization = ESP::SubOrganization.last
|
61
|
-
skip "Live DB does not have any sub organizations. Add a sub organization and run tests again." if @sub_organization.blank?
|
62
|
-
end
|
63
|
-
|
64
|
-
teardown do
|
65
|
-
WebMock.disable_net_connect!
|
66
|
-
end
|
67
|
-
|
68
|
-
context '#organization' do
|
69
|
-
should 'return an organization' do
|
70
|
-
org = @sub_organization.organization
|
71
|
-
|
72
|
-
assert_equal @sub_organization.organization_id, org.id
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
context '#teams' do
|
77
|
-
should 'return a sub_organization' do
|
78
|
-
teams = @sub_organization.teams
|
79
|
-
|
80
|
-
assert_equal ESP::Team, teams.resource_class
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
context '#external_accounts' do
|
85
|
-
should 'return an array of external_accounts' do
|
86
|
-
external_accounts = @sub_organization.external_accounts
|
87
|
-
|
88
|
-
assert_equal ESP::ExternalAccount, external_accounts.resource_class
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
context '#reports' do
|
93
|
-
should 'return an array of reports' do
|
94
|
-
reports = @sub_organization.reports
|
95
|
-
|
96
|
-
assert_equal ESP::Report, reports.resource_class
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
context '.where' do
|
101
|
-
should 'return sub_organization objects' do
|
102
|
-
sub_organizations = ESP::SubOrganization.where(id_eq: @sub_organization.id)
|
103
|
-
|
104
|
-
assert_equal ESP::SubOrganization, sub_organizations.resource_class
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
context '#CRUD' do
|
109
|
-
should 'be able to create, update and destroy' do
|
110
|
-
sub_organization = ESP::SubOrganization.new(name: 'bob', organization_id: @sub_organization.organization_id)
|
111
|
-
|
112
|
-
assert_predicate sub_organization, :new?
|
113
|
-
|
114
|
-
sub_organization.save
|
115
|
-
|
116
|
-
refute_predicate sub_organization, :new?
|
117
|
-
|
118
|
-
sub_organization.name = 'jim'
|
119
|
-
sub_organization.save
|
120
|
-
|
121
|
-
assert_nothing_raised do
|
122
|
-
ESP::SubOrganization.find(sub_organization.id)
|
123
|
-
end
|
124
|
-
|
125
|
-
sub_organization.destroy
|
126
|
-
|
127
|
-
assert_raises ActiveResource::ResourceNotFound do
|
128
|
-
ESP::SubOrganization.find(sub_organization.id)
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
55
|
end
|
134
56
|
end
|
135
57
|
end
|
@@ -67,56 +67,6 @@ module ESP
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
end
|
70
|
-
|
71
|
-
context 'live calls' do
|
72
|
-
setup do
|
73
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
74
|
-
WebMock.allow_net_connect!
|
75
|
-
end
|
76
|
-
|
77
|
-
teardown do
|
78
|
-
WebMock.disable_net_connect!
|
79
|
-
end
|
80
|
-
|
81
|
-
context '.create' do
|
82
|
-
should 'return error when reason is not supplied' do
|
83
|
-
signature_id = ESP::Signature.last.id
|
84
|
-
external_account_id = ESP::ExternalAccount.last.id
|
85
|
-
|
86
|
-
suppression = ESP::Suppression::Region.create(signature_ids: [signature_id], custom_signature_ids: [], regions: ['us_east_1'], external_account_ids: [external_account_id])
|
87
|
-
|
88
|
-
assert_equal "Reason can't be blank", suppression.errors.full_messages.first
|
89
|
-
end
|
90
|
-
|
91
|
-
should 'return suppression' do
|
92
|
-
signature_id = ESP::Signature.last.id
|
93
|
-
external_account_id = ESP::ExternalAccount.last.id
|
94
|
-
|
95
|
-
suppression = ESP::Suppression::Region.create(signature_ids: [signature_id], custom_signature_ids: [], reason: 'test', regions: ['us_east_1'], external_account_ids: [external_account_id])
|
96
|
-
|
97
|
-
assert_equal ESP::Suppression::Region, suppression.class
|
98
|
-
end
|
99
|
-
|
100
|
-
context 'for_alert' do
|
101
|
-
should 'return error when reason is not supplied' do
|
102
|
-
alert_id = ESP::Report.all.detect { |r| r.status == 'complete' }.alerts.last.id
|
103
|
-
|
104
|
-
suppression = ESP::Suppression::Region.create(alert_id: alert_id)
|
105
|
-
|
106
|
-
assert_equal "Reason can't be blank", suppression.errors.full_messages.first
|
107
|
-
end
|
108
|
-
|
109
|
-
should 'return suppression' do
|
110
|
-
alert_id = ESP::Report.all.detect { |r| r.status == 'complete' }.alerts.last.id
|
111
|
-
|
112
|
-
suppression = ESP::Suppression::Region.create(alert_id: alert_id, reason: 'test')
|
113
|
-
|
114
|
-
assert_predicate suppression.errors, :blank?
|
115
|
-
assert_equal ESP::Suppression::Region, suppression.class
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
70
|
end
|
121
71
|
end
|
122
72
|
end
|
@@ -69,56 +69,6 @@ module ESP
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
72
|
-
|
73
|
-
context 'live calls' do
|
74
|
-
setup do
|
75
|
-
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
76
|
-
WebMock.allow_net_connect!
|
77
|
-
end
|
78
|
-
|
79
|
-
teardown do
|
80
|
-
WebMock.disable_net_connect!
|
81
|
-
end
|
82
|
-
|
83
|
-
context '.create' do
|
84
|
-
should 'return error when reason is not supplied' do
|
85
|
-
signature_id = ESP::Signature.last.id
|
86
|
-
external_account_id = ESP::ExternalAccount.last.id
|
87
|
-
|
88
|
-
suppression = ESP::Suppression::Signature.create(signature_ids: [signature_id], custom_signature_ids: [], regions: ['us_east_1'], external_account_ids: [external_account_id])
|
89
|
-
|
90
|
-
assert_equal "Reason can't be blank", suppression.errors.full_messages.first
|
91
|
-
end
|
92
|
-
|
93
|
-
should 'return suppression' do
|
94
|
-
signature_id = ESP::Signature.last.id
|
95
|
-
external_account_id = ESP::ExternalAccount.last.id
|
96
|
-
|
97
|
-
suppression = ESP::Suppression::Signature.create(signature_ids: [signature_id], custom_signature_ids: [], reason: 'test', regions: ['us_east_1'], external_account_ids: [external_account_id])
|
98
|
-
|
99
|
-
assert_equal ESP::Suppression::Signature, suppression.class
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'for_alert' do
|
103
|
-
should 'return error when reason is not supplied' do
|
104
|
-
alert_id = ESP::Report.all.detect { |r| r.status == 'complete' }.alerts.last.id
|
105
|
-
|
106
|
-
suppression = ESP::Suppression::Signature.create(alert_id: alert_id)
|
107
|
-
|
108
|
-
assert_equal "Reason can't be blank", suppression.errors.full_messages.first
|
109
|
-
end
|
110
|
-
|
111
|
-
should 'return suppression' do
|
112
|
-
alert_id = ESP::Report.all.detect { |r| r.status == 'complete' }.alerts.last.id
|
113
|
-
|
114
|
-
suppression = ESP::Suppression::Signature.create(alert_id: alert_id, reason: 'test')
|
115
|
-
|
116
|
-
assert_predicate suppression.errors, :blank?
|
117
|
-
assert_equal ESP::Suppression::Signature, suppression.class
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
122
72
|
end
|
123
73
|
end
|
124
74
|
end
|