esp_sdk 2.0.0.rc1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/Gemfile.lock +1 -15
- data/assets/esp_logo.ans +27 -0
- data/bin/esp_console +2 -6
- data/esp_sdk.gemspec +0 -3
- data/lib/esp/extensions/active_resource/formats/json_api_format.rb +22 -3
- data/lib/esp/resources/alert.rb +6 -0
- data/lib/esp/resources/metadata.rb +50 -0
- data/lib/esp/resources/resource.rb +1 -0
- data/lib/esp/resources/signature.rb +5 -5
- data/lib/esp/version.rb +1 -1
- data/lib/esp.rb +1 -0
- data/lib/esp_sdk.rb +0 -1
- data/rdoc/ActiveResource/Formats.html +2 -0
- data/rdoc/ActiveResource/PaginatedCollection.html +2 -0
- data/rdoc/ActiveResource.html +2 -0
- data/rdoc/ESP/Alert.html +44 -7
- data/rdoc/ESP/CloudTrailEvent.html +2 -0
- data/rdoc/ESP/ContactRequest.html +2 -0
- data/rdoc/ESP/CustomSignature.html +2 -0
- data/rdoc/ESP/Dashboard.html +2 -0
- data/rdoc/ESP/ExternalAccount.html +2 -0
- data/rdoc/ESP/Metadata.html +411 -0
- data/rdoc/ESP/Organization.html +2 -0
- data/rdoc/ESP/Region.html +2 -0
- data/rdoc/ESP/Report.html +2 -0
- data/rdoc/ESP/Service.html +2 -0
- data/rdoc/ESP/Signature.html +9 -7
- data/rdoc/ESP/Stat.html +2 -0
- data/rdoc/ESP/StatCustomSignature.html +2 -0
- data/rdoc/ESP/StatRegion.html +2 -0
- data/rdoc/ESP/StatService.html +2 -0
- data/rdoc/ESP/StatSignature.html +2 -0
- data/rdoc/ESP/SubOrganization.html +2 -0
- data/rdoc/ESP/Suppression/Region.html +2 -0
- data/rdoc/ESP/Suppression/Signature.html +2 -0
- data/rdoc/ESP/Suppression/UniqueIdentifier.html +2 -0
- data/rdoc/ESP/Suppression.html +2 -0
- data/rdoc/ESP/Tag.html +2 -0
- data/rdoc/ESP/Team.html +2 -0
- data/rdoc/ESP/User.html +2 -0
- data/rdoc/ESP.html +3 -0
- data/rdoc/README_md.html +2 -0
- data/rdoc/created.rid +31 -30
- data/rdoc/index.html +2 -0
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/table_of_contents.html +218 -203
- data/test/esp/extensions/active_resource/formats/json_api_format_test.rb +28 -5
- data/test/esp/resources/alert_test.rb +26 -4
- data/test/esp/resources/custom_signature_test.rb +2 -2
- data/test/esp/resources/metadata_test.rb +98 -0
- data/test/esp/resources/resource_test.rb +10 -0
- data/test/esp/resources/signature_test.rb +9 -9
- data/test/esp/resources/suppression_test.rb +4 -4
- data/test/factories/alerts.rb +5 -1
- data/test/factories/cloud_trail_events.rb +1 -1
- data/test/factories/contact_requests.rb +15 -8
- data/test/factories/metadata.rb +9 -0
- data/test/test_helper.rb +0 -1
- metadata +12 -46
@@ -7,13 +7,13 @@ module ActiveResource
|
|
7
7
|
context '# decode' do
|
8
8
|
context 'with ESP::Suppression' do
|
9
9
|
should 'parse nested objects correctly' do
|
10
|
-
json = json(:
|
10
|
+
json = json(:dashboard)
|
11
11
|
parsed_json = JSON.parse(json)
|
12
|
-
stub_request(:get, %r{
|
12
|
+
stub_request(:get, %r{dashboard/recent.json*}).to_return(body: json_list(:dashboard, 1))
|
13
13
|
|
14
|
-
|
14
|
+
dashboard = ESP::Dashboard.recent
|
15
15
|
|
16
|
-
assert_equal parsed_json['
|
16
|
+
assert_equal parsed_json['included'].first['attributes']['stat_signatures'].first['signature']['name'], dashboard.first.stat.stat_signatures.first.signature.name
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -23,7 +23,7 @@ module ActiveResource
|
|
23
23
|
parsed_json = JSON.parse(json)
|
24
24
|
stub_request(:get, %r{reports/1/alerts.json*}).to_return(body: json)
|
25
25
|
|
26
|
-
alert = ESP::Alert.for_report(1).first
|
26
|
+
alert = ESP::Alert.for_report(1, include: 'external_accounts,regions,signatures,cloud_trail_events').first
|
27
27
|
|
28
28
|
assert_equal parsed_json['included'].detect { |e| e['type'] == 'external_accounts' }['id'], alert.external_account.id
|
29
29
|
assert_equal parsed_json['included'].detect { |e| e['type'] == 'regions' }['id'], alert.region.id
|
@@ -58,6 +58,29 @@ module ActiveResource
|
|
58
58
|
teardown do
|
59
59
|
WebMock.disable_net_connect!
|
60
60
|
end
|
61
|
+
|
62
|
+
should 'merge included objects' do
|
63
|
+
alert = ESP::Alert.find(1, include: 'external_account,region,signature')
|
64
|
+
|
65
|
+
assert_not_nil alert.attributes['external_account']
|
66
|
+
assert_equal alert.external_account_id, alert.external_account.id
|
67
|
+
assert_not_nil alert.attributes['region']
|
68
|
+
assert_equal alert.region_id, alert.region.id
|
69
|
+
assert_not_nil alert.attributes['signature']
|
70
|
+
assert_equal alert.signature_id, alert.signature.id
|
71
|
+
end
|
72
|
+
|
73
|
+
should 'assign foreign key for a belongs_to relationship' do
|
74
|
+
user = ESP::User.last
|
75
|
+
|
76
|
+
assert_not_nil user.organization_id
|
77
|
+
end
|
78
|
+
|
79
|
+
should 'assign foreign key for a has_many relationship' do
|
80
|
+
user = ESP::User.last
|
81
|
+
|
82
|
+
assert_not_nil user.sub_organization_ids
|
83
|
+
end
|
61
84
|
end
|
62
85
|
end
|
63
86
|
|
@@ -13,18 +13,18 @@ module ESP
|
|
13
13
|
|
14
14
|
context '#update' do
|
15
15
|
should 'not be implemented' do
|
16
|
-
|
16
|
+
alert = build(:alert)
|
17
17
|
assert_raises ESP::NotImplementedError do
|
18
|
-
|
18
|
+
alert.save
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
context '#destroy' do
|
24
24
|
should 'not be implemented' do
|
25
|
-
|
25
|
+
alert = build(:alert)
|
26
26
|
assert_raises ESP::NotImplementedError do
|
27
|
-
|
27
|
+
alert.destroy
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -106,6 +106,17 @@ module ESP
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
+
context '#metadata' do
|
110
|
+
should 'call the api for the alert' do
|
111
|
+
alert = build(:alert)
|
112
|
+
stubbed_metadata = stub_request(:get, %r{alerts/#{alert.id}/metadata.json*}).to_return(body: json(:metadata))
|
113
|
+
|
114
|
+
alert.metadata
|
115
|
+
|
116
|
+
assert_requested(stubbed_metadata)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
109
120
|
context '.for_report' do
|
110
121
|
should 'throw an error if report_id is not supplied' do
|
111
122
|
error = assert_raises ArgumentError do
|
@@ -232,12 +243,23 @@ module ESP
|
|
232
243
|
setup do
|
233
244
|
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
234
245
|
WebMock.allow_net_connect!
|
246
|
+
@report = ESP::Report.last
|
247
|
+
skip "Live DB does not have any reports. Add a report and run tests again." if @report.blank?
|
248
|
+
@alert = @report.alerts.last
|
235
249
|
end
|
236
250
|
|
237
251
|
teardown do
|
238
252
|
WebMock.disable_net_connect!
|
239
253
|
end
|
240
254
|
|
255
|
+
context '#metadata' do
|
256
|
+
should 'return metata' do
|
257
|
+
assert_nothing_raised do
|
258
|
+
@alert.metadata
|
259
|
+
end
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
241
263
|
context '.for_report' do
|
242
264
|
should 'return events for report id' do
|
243
265
|
report = ESP::Report.last
|
@@ -190,7 +190,7 @@ module ESP
|
|
190
190
|
end
|
191
191
|
|
192
192
|
should 'return errors' do
|
193
|
-
signature = ESP::CustomSignature.run(external_account_id:
|
193
|
+
signature = ESP::CustomSignature.run(external_account_id: 999_999_999_999, regions: 'us_east_1', language: @custom_signature.language, signature: @custom_signature.signature)
|
194
194
|
|
195
195
|
assert_equal "Couldn't find ExternalAccount", signature.errors.full_messages.first
|
196
196
|
end
|
@@ -205,7 +205,7 @@ module ESP
|
|
205
205
|
end
|
206
206
|
|
207
207
|
should 'return errors' do
|
208
|
-
@custom_signature.run(external_account_id:
|
208
|
+
@custom_signature.run(external_account_id: 999_999_999_999)
|
209
209
|
|
210
210
|
assert_equal "Couldn't find ExternalAccount", @custom_signature.errors.full_messages.first
|
211
211
|
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
2
|
+
|
3
|
+
module ESP
|
4
|
+
class MetadataTest < ActiveSupport::TestCase
|
5
|
+
context ESP::Metadata do
|
6
|
+
context '#create' do
|
7
|
+
should 'not be implemented' do
|
8
|
+
assert_raises ESP::NotImplementedError do
|
9
|
+
ESP::Metadata.create(name: 'test')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context '#update' do
|
15
|
+
should 'not be implemented' do
|
16
|
+
metadata = build(:metadata)
|
17
|
+
assert_raises ESP::NotImplementedError do
|
18
|
+
metadata.save
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context '#destroy' do
|
24
|
+
should 'not be implemented' do
|
25
|
+
metadata = build(:metadata)
|
26
|
+
assert_raises ESP::NotImplementedError do
|
27
|
+
metadata.destroy
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context '.for_alert' do
|
33
|
+
should 'throw an error if alert id is not supplied' do
|
34
|
+
error = assert_raises ArgumentError do
|
35
|
+
ESP::Metadata.for_alert
|
36
|
+
end
|
37
|
+
assert_equal 'You must supply an alert id.', error.message
|
38
|
+
end
|
39
|
+
|
40
|
+
should 'call the api' do
|
41
|
+
stub_event = stub_request(:get, %r{alerts/5/metadata.json*}).to_return(body: json_list(:metadata, 2))
|
42
|
+
|
43
|
+
metadata = ESP::Metadata.for_alert(5)
|
44
|
+
|
45
|
+
assert_requested(stub_event)
|
46
|
+
assert_equal ESP::Metadata, metadata.class
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context '.find' do
|
51
|
+
should 'throw an error if alert_id is not supplied' do
|
52
|
+
error = assert_raises ArgumentError do
|
53
|
+
ESP::Metadata.find(:all, params: { id: 3 })
|
54
|
+
end
|
55
|
+
assert_equal 'You must supply an alert id.', error.message
|
56
|
+
end
|
57
|
+
|
58
|
+
should 'call the show api and return metadata if searching by id' do
|
59
|
+
stub_event = stub_request(:get, %r{metadata/5.json*}).to_return(body: json(:metadata))
|
60
|
+
|
61
|
+
event = ESP::Metadata.find(5)
|
62
|
+
|
63
|
+
assert_requested(stub_event)
|
64
|
+
assert_equal ESP::Metadata, event.class
|
65
|
+
end
|
66
|
+
|
67
|
+
should 'call the api and return metadata when alert_id is supplied' do
|
68
|
+
stub_event = stub_request(:get, %r{alerts/5/metadata.json*}).to_return(body: json_list(:metadata, 2))
|
69
|
+
|
70
|
+
metadata = ESP::Metadata.find(:all, params: { alert_id: 5 })
|
71
|
+
|
72
|
+
assert_requested(stub_event)
|
73
|
+
assert_equal ESP::Metadata, metadata.class
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'live calls' do
|
78
|
+
setup do
|
79
|
+
skip "Make sure you run the live calls locally to ensure proper integration" if ENV['CI_SERVER']
|
80
|
+
WebMock.allow_net_connect!
|
81
|
+
end
|
82
|
+
|
83
|
+
teardown do
|
84
|
+
WebMock.disable_net_connect!
|
85
|
+
end
|
86
|
+
|
87
|
+
context '.for_alert' do
|
88
|
+
should 'return metadata for alert id' do
|
89
|
+
report = ESP::Report.last
|
90
|
+
metadata = ESP::Metadata.for_alert(report.alerts.last.id)
|
91
|
+
|
92
|
+
assert_equal ESP::Metadata, metadata.class
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -14,6 +14,16 @@ module ESP
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
should 'set the User-Agent' do
|
18
|
+
stub_request(:get, %r{teams/3.json*}).to_return(body: json(:team))
|
19
|
+
|
20
|
+
ESP::Team.find(3)
|
21
|
+
|
22
|
+
assert_requested(:get, %r{teams/3.json*}) do |req|
|
23
|
+
assert_equal "Ruby SDK #{ESP::VERSION}", req.headers['User-Agent']
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
17
27
|
should 'set the HMAC needed Authorization header' do
|
18
28
|
ESP.access_key_id ||= ApiAuth.generate_secret_key
|
19
29
|
ESP.secret_access_key ||= ApiAuth.generate_secret_key
|
@@ -45,12 +45,12 @@ module ESP
|
|
45
45
|
signature = build(:signature)
|
46
46
|
stub_request(:post, %r{signatures/#{signature.id}/run.json*}).to_return(body: json_list(:alert, 2))
|
47
47
|
|
48
|
-
alerts = signature.run(external_account_id: 3,
|
48
|
+
alerts = signature.run(external_account_id: 3, region: 'param2')
|
49
49
|
|
50
50
|
assert_requested(:post, %r{signatures/#{signature.id}/run.json}) do |req|
|
51
51
|
body = JSON.parse req.body
|
52
52
|
assert_equal 3, body['data']['attributes']['external_account_id']
|
53
|
-
assert_equal
|
53
|
+
assert_equal 'param2', body['data']['attributes']['region']
|
54
54
|
end
|
55
55
|
assert_equal ESP::Alert, alerts.resource_class
|
56
56
|
end
|
@@ -64,7 +64,7 @@ module ESP
|
|
64
64
|
ActiveResource::Connection.any_instance.expects(:post).raises(error)
|
65
65
|
|
66
66
|
assert_nothing_raised do
|
67
|
-
result = signature.run(external_account_id: 3,
|
67
|
+
result = signature.run(external_account_id: 3, region: 'param2')
|
68
68
|
assert_equal JSON.parse(error_response)['errors'].first['title'], result.errors.full_messages.first
|
69
69
|
end
|
70
70
|
end
|
@@ -75,12 +75,12 @@ module ESP
|
|
75
75
|
signature = build(:signature)
|
76
76
|
stub_request(:post, %r{signatures/#{signature.id}/run.json*}).to_return(body: json_list(:alert, 2))
|
77
77
|
|
78
|
-
alerts = signature.run!(external_account_id: 3,
|
78
|
+
alerts = signature.run!(external_account_id: 3, region: 'param2')
|
79
79
|
|
80
80
|
assert_requested(:post, %r{signatures/#{signature.id}/run.json}) do |req|
|
81
81
|
body = JSON.parse req.body
|
82
82
|
assert_equal 3, body['data']['attributes']['external_account_id']
|
83
|
-
assert_equal
|
83
|
+
assert_equal 'param2', body['data']['attributes']['region']
|
84
84
|
end
|
85
85
|
assert_equal ESP::Alert, alerts.resource_class
|
86
86
|
end
|
@@ -94,7 +94,7 @@ module ESP
|
|
94
94
|
ActiveResource::Connection.any_instance.expects(:post).raises(error)
|
95
95
|
|
96
96
|
error = assert_raises ActiveResource::ResourceInvalid do
|
97
|
-
result = signature.run!(external_account_id: 3,
|
97
|
+
result = signature.run!(external_account_id: 3, region: 'param2')
|
98
98
|
assert_equal JSON.parse(error_response)['errors'].first['title'], result.errors.full_messages.first
|
99
99
|
end
|
100
100
|
assert_equal "Failed. Response code = 400. Response message = #{JSON.parse(error_response)['errors'].first['title']}.", error.message
|
@@ -145,16 +145,16 @@ module ESP
|
|
145
145
|
signature = ESP::Signature.first
|
146
146
|
external_account_id = ESP::ExternalAccount.last.id
|
147
147
|
|
148
|
-
alerts = signature.run(external_account_id: external_account_id,
|
148
|
+
alerts = signature.run(external_account_id: external_account_id, region: 'us_east_1')
|
149
149
|
|
150
150
|
assert_equal ESP::Alert, alerts.resource_class
|
151
151
|
end
|
152
152
|
|
153
153
|
should 'return errors' do
|
154
154
|
signature = ESP::Signature.first
|
155
|
-
external_account_id =
|
155
|
+
external_account_id = 999_999_999_999
|
156
156
|
|
157
|
-
signature = signature.run(external_account_id: external_account_id,
|
157
|
+
signature = signature.run(external_account_id: external_account_id, region: 'us_east_1')
|
158
158
|
|
159
159
|
assert_equal "Couldn't find ExternalAccount", signature.errors.full_messages.first
|
160
160
|
end
|
@@ -168,7 +168,7 @@ module ESP
|
|
168
168
|
should 'return regions' do
|
169
169
|
r = @s.regions
|
170
170
|
|
171
|
-
assert_equal
|
171
|
+
assert_equal ESP::Region, r.resource_class unless r == []
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
@@ -176,7 +176,7 @@ module ESP
|
|
176
176
|
should 'return external_accounts' do
|
177
177
|
e = @s.external_accounts
|
178
178
|
|
179
|
-
assert_equal
|
179
|
+
assert_equal ESP::ExternalAccount, e.resource_class
|
180
180
|
end
|
181
181
|
end
|
182
182
|
|
@@ -184,7 +184,7 @@ module ESP
|
|
184
184
|
should 'return signatures' do
|
185
185
|
s = @s.signatures
|
186
186
|
|
187
|
-
assert_equal
|
187
|
+
assert_equal ESP::Signature, s.resource_class unless s == []
|
188
188
|
end
|
189
189
|
end
|
190
190
|
|
@@ -192,7 +192,7 @@ module ESP
|
|
192
192
|
should 'return custom_signatures' do
|
193
193
|
cs = @s.custom_signatures
|
194
194
|
|
195
|
-
assert_equal
|
195
|
+
assert_equal ESP::CustomSignature, cs.resource_class unless cs == []
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
data/test/factories/alerts.rb
CHANGED
@@ -8,7 +8,6 @@ FactoryGirl.define do
|
|
8
8
|
status "fail"
|
9
9
|
resource "resource-3"
|
10
10
|
updated_at nil
|
11
|
-
metadata { { abc: 123 } }
|
12
11
|
started_at { Time.current }
|
13
12
|
ended_at nil
|
14
13
|
relationships do
|
@@ -49,6 +48,11 @@ FactoryGirl.define do
|
|
49
48
|
related: "http://test.host/api/v2/suppressions/1.json"
|
50
49
|
}
|
51
50
|
},
|
51
|
+
metadata: {
|
52
|
+
links: {
|
53
|
+
related: "http://test.host/api/v2/alerts/1017/metadata.json"
|
54
|
+
}
|
55
|
+
},
|
52
56
|
cloud_trail_events: {
|
53
57
|
data: [
|
54
58
|
{
|
@@ -1,14 +1,21 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
factory :
|
2
|
+
factory :contact_request, class: 'ESP::ContactRequest' do
|
3
3
|
skip_create
|
4
4
|
|
5
5
|
sequence(:id) { |n| n }
|
6
|
-
type "
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
type "contact_requests"
|
7
|
+
title "Test title"
|
8
|
+
request_type "bug"
|
9
|
+
description "Test description"
|
10
|
+
created_at { Time.current }
|
11
|
+
updated_at { Time.current }
|
12
|
+
relationships do
|
13
|
+
{ user: {
|
14
|
+
links: {
|
15
|
+
related: "http://test.host/api/v2/users/1001.json"
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
end
|
13
20
|
end
|
14
21
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: esp_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evident.io
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -262,48 +262,6 @@ dependencies:
|
|
262
262
|
- - '>='
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: '0'
|
265
|
-
- !ruby/object:Gem::Dependency
|
266
|
-
name: awesome_print
|
267
|
-
requirement: !ruby/object:Gem::Requirement
|
268
|
-
requirements:
|
269
|
-
- - '>='
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: '0'
|
272
|
-
type: :runtime
|
273
|
-
prerelease: false
|
274
|
-
version_requirements: !ruby/object:Gem::Requirement
|
275
|
-
requirements:
|
276
|
-
- - '>='
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
version: '0'
|
279
|
-
- !ruby/object:Gem::Dependency
|
280
|
-
name: artii
|
281
|
-
requirement: !ruby/object:Gem::Requirement
|
282
|
-
requirements:
|
283
|
-
- - '>='
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: '0'
|
286
|
-
type: :runtime
|
287
|
-
prerelease: false
|
288
|
-
version_requirements: !ruby/object:Gem::Requirement
|
289
|
-
requirements:
|
290
|
-
- - '>='
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: '0'
|
293
|
-
- !ruby/object:Gem::Dependency
|
294
|
-
name: catpix
|
295
|
-
requirement: !ruby/object:Gem::Requirement
|
296
|
-
requirements:
|
297
|
-
- - '>='
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '0'
|
300
|
-
type: :runtime
|
301
|
-
prerelease: false
|
302
|
-
version_requirements: !ruby/object:Gem::Requirement
|
303
|
-
requirements:
|
304
|
-
- - '>='
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: '0'
|
307
265
|
description:
|
308
266
|
email:
|
309
267
|
- support@evident.io
|
@@ -318,12 +276,14 @@ files:
|
|
318
276
|
- .ruby-gemset
|
319
277
|
- .ruby-version
|
320
278
|
- .travis.yml
|
279
|
+
- CHANGELOG.md
|
321
280
|
- Gemfile
|
322
281
|
- Gemfile.lock
|
323
282
|
- Guardfile
|
324
283
|
- LICENSE.txt
|
325
284
|
- README.md
|
326
285
|
- Rakefile
|
286
|
+
- assets/esp_logo.ans
|
327
287
|
- assets/logo.png
|
328
288
|
- bin/esp_console
|
329
289
|
- esp_sdk.gemspec
|
@@ -339,6 +299,7 @@ files:
|
|
339
299
|
- lib/esp/resources/custom_signature.rb
|
340
300
|
- lib/esp/resources/dashboard.rb
|
341
301
|
- lib/esp/resources/external_account.rb
|
302
|
+
- lib/esp/resources/metadata.rb
|
342
303
|
- lib/esp/resources/organization.rb
|
343
304
|
- lib/esp/resources/region.rb
|
344
305
|
- lib/esp/resources/report.rb
|
@@ -372,6 +333,7 @@ files:
|
|
372
333
|
- rdoc/ESP/CustomSignature.html
|
373
334
|
- rdoc/ESP/Dashboard.html
|
374
335
|
- rdoc/ESP/ExternalAccount.html
|
336
|
+
- rdoc/ESP/Metadata.html
|
375
337
|
- rdoc/ESP/Organization.html
|
376
338
|
- rdoc/ESP/Region.html
|
377
339
|
- rdoc/ESP/Report.html
|
@@ -435,6 +397,7 @@ files:
|
|
435
397
|
- test/esp/resources/custom_signature_test.rb
|
436
398
|
- test/esp/resources/dashboard_test.rb
|
437
399
|
- test/esp/resources/external_account_test.rb
|
400
|
+
- test/esp/resources/metadata_test.rb
|
438
401
|
- test/esp/resources/organization_test.rb
|
439
402
|
- test/esp/resources/region_test.rb
|
440
403
|
- test/esp/resources/report_test.rb
|
@@ -462,6 +425,7 @@ files:
|
|
462
425
|
- test/factories/dashboards.rb
|
463
426
|
- test/factories/errors.rb
|
464
427
|
- test/factories/external_accounts.rb
|
428
|
+
- test/factories/metadata.rb
|
465
429
|
- test/factories/organizations.rb
|
466
430
|
- test/factories/regions.rb
|
467
431
|
- test/factories/reports.rb
|
@@ -497,9 +461,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
497
461
|
version: 2.0.0
|
498
462
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
499
463
|
requirements:
|
500
|
-
- - '
|
464
|
+
- - '>='
|
501
465
|
- !ruby/object:Gem::Version
|
502
|
-
version:
|
466
|
+
version: '0'
|
503
467
|
requirements: []
|
504
468
|
rubyforge_project:
|
505
469
|
rubygems_version: 2.4.6
|
@@ -516,6 +480,7 @@ test_files:
|
|
516
480
|
- test/esp/resources/custom_signature_test.rb
|
517
481
|
- test/esp/resources/dashboard_test.rb
|
518
482
|
- test/esp/resources/external_account_test.rb
|
483
|
+
- test/esp/resources/metadata_test.rb
|
519
484
|
- test/esp/resources/organization_test.rb
|
520
485
|
- test/esp/resources/region_test.rb
|
521
486
|
- test/esp/resources/report_test.rb
|
@@ -543,6 +508,7 @@ test_files:
|
|
543
508
|
- test/factories/dashboards.rb
|
544
509
|
- test/factories/errors.rb
|
545
510
|
- test/factories/external_accounts.rb
|
511
|
+
- test/factories/metadata.rb
|
546
512
|
- test/factories/organizations.rb
|
547
513
|
- test/factories/regions.rb
|
548
514
|
- test/factories/reports.rb
|