esp_sdk 2.6.0 → 2.7.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 +15 -4
- data/Gemfile.lock +1 -1
- data/lib/esp/resources/dashboard.rb +8 -3
- data/lib/esp/resources/region.rb +2 -2
- data/lib/esp/resources/resource.rb +1 -1
- data/lib/esp/resources/role.rb +37 -0
- data/lib/esp/resources/stat.rb +8 -3
- data/lib/esp/resources/user.rb +30 -15
- data/lib/esp/version.rb +1 -1
- data/lib/esp.rb +1 -0
- data/test/esp/extensions/active_resource/formats/json_api_format_test.rb +1 -1
- data/test/esp/integration/role_integration_test.rb +24 -0
- data/test/esp/integration/user_integration_test.rb +33 -0
- data/test/esp/resources/dashboard_test.rb +14 -1
- data/test/esp/resources/resource_test.rb +11 -0
- data/test/esp/resources/role_test.rb +44 -0
- data/test/esp/resources/stat_test.rb +14 -1
- data/test/esp/resources/suppression_test.rb +5 -5
- data/test/esp/resources/user_test.rb +11 -26
- data/test/factories/roles.rb +9 -0
- metadata +10 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 978cdf444e38c28c557b064ded697801588861b4
|
4
|
+
data.tar.gz: 002224323463cc5a0e8bd1a3199e578b35f076ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cc050b808ce01966cb03aaa4919983c6fcc1126f618e463d9dce523d2d4e52eb7e1e48190b4728cefd13668d1f7eb6b8f9e4d379ffeae11d16775bb81a70f34
|
7
|
+
data.tar.gz: 424feda1ed42cc94e87203a9fa662a113ebcce8932209212c0048a738ddf23f7ecb1e03cf962ad758ea62dbbe88959a7785ceacd7b7f9a67f8bd9cf93942df2c
|
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,24 @@
|
|
1
1
|
## Unreleased
|
2
|
+
### Added
|
3
|
+
- Users create/update/destroy support
|
4
|
+
- Role all/find support
|
5
|
+
|
6
|
+
### Fixed
|
7
|
+
- Fix merge error when calling next_page on Stat.latest_for_teams
|
8
|
+
- Fix incorrect page parameter on next_page for other endpoints
|
2
9
|
|
3
10
|
## 2.6.0 - 2016-10-17
|
4
|
-
###
|
11
|
+
### Added
|
5
12
|
- Only send changed attributes to API #39
|
6
|
-
|
7
|
-
|
8
|
-
- Silently ignore `null` entires if encountered in API responses. #69
|
13
|
+
|
14
|
+
### Changed
|
9
15
|
- Switch from RDoc to Yard. #37
|
10
16
|
|
17
|
+
### Fixed
|
18
|
+
- API now returns nested included relation data elements correctly. #40
|
19
|
+
- Calling `next_page` on queries without parameters (e.g. `ESP::ExternalAccount.all`) no longer errors. #35
|
20
|
+
- Silently ignore `null` entires if encountered in API responses. #36
|
21
|
+
|
11
22
|
## 2.5.0 - 2016-07-20
|
12
23
|
### Added
|
13
24
|
- Add custom signature definitions and results. Code for a custom signature is now created/updated under a definition. Running a definition for an on demand test creates a result record which will have errors and alerts when completed.
|
data/Gemfile.lock
CHANGED
@@ -14,8 +14,13 @@ module ESP
|
|
14
14
|
# Regular ARELlike methods are disabled.
|
15
15
|
#
|
16
16
|
# @return [void]
|
17
|
-
def self.where(
|
18
|
-
|
17
|
+
def self.where(attrs)
|
18
|
+
# when calling `recent.next_page` it will come into here
|
19
|
+
if attrs[:from].to_s.include?('recent')
|
20
|
+
super
|
21
|
+
else
|
22
|
+
fail ESP::NotImplementedError, 'Regular ARELlike methods are disabled. Use the .recent method.'
|
23
|
+
end
|
19
24
|
end
|
20
25
|
|
21
26
|
# Not Implemented. You cannot create or update a Dashboard.
|
@@ -38,7 +43,7 @@ module ESP
|
|
38
43
|
# @return [ESP::Dashboard]
|
39
44
|
def self.recent
|
40
45
|
# call find_every directly since find is overridden/not implemented
|
41
|
-
|
46
|
+
where from: "#{prefix}dashboard/recent"
|
42
47
|
end
|
43
48
|
end
|
44
49
|
end
|
data/lib/esp/resources/region.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
module ESP
|
2
2
|
class Region < ESP::Resource
|
3
|
-
# Not Implemented. You cannot create or update a
|
3
|
+
# Not Implemented. You cannot create or update a Region.
|
4
4
|
#
|
5
5
|
# @return [void]
|
6
6
|
def save
|
7
7
|
fail ESP::NotImplementedError
|
8
8
|
end
|
9
9
|
|
10
|
-
# Not Implemented. You cannot destroy a
|
10
|
+
# Not Implemented. You cannot destroy a Region.
|
11
11
|
#
|
12
12
|
# @return [void]
|
13
13
|
def destroy
|
@@ -25,7 +25,7 @@ module ESP
|
|
25
25
|
def self.where(clauses = {})
|
26
26
|
fail ArgumentError, "expected a clauses Hash, got #{clauses.inspect}" unless clauses.is_a? Hash
|
27
27
|
from = clauses.delete(:from) || "#{prefix}#{name.demodulize.pluralize.underscore}"
|
28
|
-
clauses = { params: clauses }
|
28
|
+
clauses = { params: clauses }.with_indifferent_access
|
29
29
|
arrange_options(clauses)
|
30
30
|
prefix_options, query_options = split_options(clauses)
|
31
31
|
instantiate_collection((format.decode(connection.put("#{from}.json", clauses[:params].to_json).body) || []), query_options, prefix_options).tap do |collection|
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module ESP
|
2
|
+
class Role < ESP::Resource
|
3
|
+
# Not Implemented. You cannot create or update a Role.
|
4
|
+
#
|
5
|
+
# @return [void]
|
6
|
+
def save
|
7
|
+
fail ESP::NotImplementedError
|
8
|
+
end
|
9
|
+
|
10
|
+
# Not Implemented. You cannot destroy a Role.
|
11
|
+
#
|
12
|
+
# @return [void]
|
13
|
+
def destroy
|
14
|
+
fail ESP::NotImplementedError
|
15
|
+
end
|
16
|
+
|
17
|
+
# Not Implemented. You cannot search for a Role.
|
18
|
+
#
|
19
|
+
# @return [void]
|
20
|
+
def self.where(*)
|
21
|
+
fail ESP::NotImplementedError
|
22
|
+
end
|
23
|
+
|
24
|
+
# @!method self.find(id)
|
25
|
+
# Find a Region by id
|
26
|
+
#
|
27
|
+
# *call-seq* -> +super.find(id)+
|
28
|
+
#
|
29
|
+
# @param id [Integer, Numeric, #to_i] Required ID of the region to retrieve.
|
30
|
+
# @return [ESP::Region]
|
31
|
+
|
32
|
+
# @!method self.all
|
33
|
+
# Return a paginated list.
|
34
|
+
#
|
35
|
+
# @return [ActiveResource::PaginatedCollection<ESP::Region>]
|
36
|
+
end
|
37
|
+
end
|
data/lib/esp/resources/stat.rb
CHANGED
@@ -30,8 +30,13 @@ module ESP
|
|
30
30
|
# Not Implemented. You cannot search for a Stat.
|
31
31
|
#
|
32
32
|
# @return [void]
|
33
|
-
def self.where(
|
34
|
-
|
33
|
+
def self.where(attrs)
|
34
|
+
# when calling `latest_for_teams.next_page` it will come into here
|
35
|
+
if attrs[:from].to_s.include?('latest_for_teams')
|
36
|
+
super
|
37
|
+
else
|
38
|
+
fail ESP::NotImplementedError
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
42
|
# Not Implemented. You cannot search for a Stat.
|
@@ -82,7 +87,7 @@ module ESP
|
|
82
87
|
# @return [ActiveResource::PaginatedCollection<ESP::Stat>]
|
83
88
|
def self.latest_for_teams
|
84
89
|
# call find_every directly since find is overriden/not implemented
|
85
|
-
|
90
|
+
where(from: "#{prefix}stats/latest_for_teams")
|
86
91
|
end
|
87
92
|
|
88
93
|
# @!group 'total' rollup methods
|
data/lib/esp/resources/user.rb
CHANGED
@@ -5,19 +5,10 @@ module ESP
|
|
5
5
|
# @return [ESP::Organization]
|
6
6
|
belongs_to :organization, class_name: 'ESP::Organization'
|
7
7
|
|
8
|
-
#
|
8
|
+
# The role assigned to this user.
|
9
9
|
#
|
10
|
-
# @return [
|
11
|
-
|
12
|
-
fail ESP::NotImplementedError
|
13
|
-
end
|
14
|
-
|
15
|
-
# Not Implemented. You cannot destroy a User.
|
16
|
-
#
|
17
|
-
# @return [void]
|
18
|
-
def destroy
|
19
|
-
fail ESP::NotImplementedError
|
20
|
-
end
|
10
|
+
# @return [ESP::Role]
|
11
|
+
belongs_to :role, class_name: 'ESP::Role'
|
21
12
|
|
22
13
|
# The collection of sub organizations that belong to the user.
|
23
14
|
#
|
@@ -67,9 +58,33 @@ module ESP
|
|
67
58
|
#
|
68
59
|
# @return [ActiveResource::PaginatedCollection<ESP::User>]
|
69
60
|
|
70
|
-
# @!method self.create
|
71
|
-
#
|
61
|
+
# @!method self.create(attributes = {})
|
62
|
+
# Create a User.
|
63
|
+
# *call-seq* -> +super.create(attributes={})+
|
64
|
+
#
|
65
|
+
# @param attributes [Hash] Required hash of user attributes.
|
66
|
+
# ===== Valid Attributes
|
67
|
+
#
|
68
|
+
# See {API documentation}[http://api-docs.evident.io?ruby#user-create] for valid arguments
|
69
|
+
# @return [ESP::User]
|
70
|
+
# @example
|
71
|
+
# user = ESP::User.create(first_name: 'John', last_name: 'Doe', email: "test@email.com")
|
72
|
+
|
73
|
+
# @!method save
|
74
|
+
# Create and update a User.
|
75
|
+
#
|
76
|
+
# ===== Valid Attributes
|
77
|
+
#
|
78
|
+
# See {API documentation}[http://api-docs.evident.io?ruby#user-create] for valid arguments
|
79
|
+
#
|
80
|
+
# @return [Boolean]
|
81
|
+
# @example
|
82
|
+
# user = ESP::User.new(first_name: 'John', last_name: 'Doe', email: "test@email.com")
|
83
|
+
# user.save
|
84
|
+
|
85
|
+
# @!method destroy
|
86
|
+
# Delete a User.
|
72
87
|
#
|
73
|
-
# @return [
|
88
|
+
# @return [self]
|
74
89
|
end
|
75
90
|
end
|
data/lib/esp/version.rb
CHANGED
data/lib/esp.rb
CHANGED
@@ -124,6 +124,7 @@ module ESP
|
|
124
124
|
autoload :Metadata, File.expand_path(File.dirname(__FILE__) + '/esp/resources/metadata')
|
125
125
|
autoload :Tag, File.expand_path(File.dirname(__FILE__) + '/esp/resources/tag')
|
126
126
|
autoload :Region, File.expand_path(File.dirname(__FILE__) + '/esp/resources/region')
|
127
|
+
autoload :Role, File.expand_path(File.dirname(__FILE__) + '/esp/resources/role')
|
127
128
|
autoload :Suppression, File.expand_path(File.dirname(__FILE__) + '/esp/resources/suppression')
|
128
129
|
autoload :Stat, File.expand_path(File.dirname(__FILE__) + '/esp/resources/stat')
|
129
130
|
autoload :StatCustomSignature, File.expand_path(File.dirname(__FILE__) + '/esp/resources/stat_custom_signature')
|
@@ -9,7 +9,7 @@ module ActiveResource
|
|
9
9
|
should 'parse nested objects correctly' do
|
10
10
|
json = json(:dashboard)
|
11
11
|
parsed_json = JSON.parse(json)
|
12
|
-
stub_request(:
|
12
|
+
stub_request(:put, %r{dashboard/recent*}).to_return(body: json_list(:dashboard, 1))
|
13
13
|
|
14
14
|
dashboard = ESP::Dashboard.recent
|
15
15
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
2
|
+
|
3
|
+
module ESP::Integration
|
4
|
+
class RoleTest < ESP::Integration::TestCase
|
5
|
+
context ESP::Role do
|
6
|
+
context 'live calls' do
|
7
|
+
setup do
|
8
|
+
@role = ESP::Role.last
|
9
|
+
fail "Live DB does not have any roles. Add a role and run tests again." if @role.blank?
|
10
|
+
end
|
11
|
+
|
12
|
+
context '#CRUD' do
|
13
|
+
should 'be able to read' do
|
14
|
+
assert_not_nil @role
|
15
|
+
|
16
|
+
role = ESP::Role.find(@role.id)
|
17
|
+
|
18
|
+
assert_not_nil role
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -41,6 +41,14 @@ module ESP::Integration
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
+
context '#role' do
|
45
|
+
should 'return an role' do
|
46
|
+
role = @user.role
|
47
|
+
|
48
|
+
assert_equal @user.role_id, role.id
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
44
52
|
context '.where' do
|
45
53
|
should 'return user objects' do
|
46
54
|
users = ESP::User.where(id_eq: @user.id)
|
@@ -48,6 +56,31 @@ module ESP::Integration
|
|
48
56
|
assert_equal ESP::User, users.resource_class
|
49
57
|
end
|
50
58
|
end
|
59
|
+
|
60
|
+
context '#CRUD' do
|
61
|
+
should 'be able to create, update and destroy' do
|
62
|
+
user = ESP::User.new(first_name: 'Bob', last_name: 'Belcher', email: 'burgerboss@gmail.com', organization_id: 1)
|
63
|
+
|
64
|
+
assert_predicate user, :new?
|
65
|
+
|
66
|
+
user.save
|
67
|
+
|
68
|
+
refute_predicate user, :new?
|
69
|
+
|
70
|
+
user.first_name = 'Gene'
|
71
|
+
user.save
|
72
|
+
|
73
|
+
assert_nothing_raised do
|
74
|
+
ESP::User.find(user.id)
|
75
|
+
end
|
76
|
+
|
77
|
+
user.destroy
|
78
|
+
|
79
|
+
assert_raises ActiveResource::ResourceNotFound do
|
80
|
+
ESP::User.find(user.id)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
51
84
|
end
|
52
85
|
end
|
53
86
|
end
|
@@ -47,13 +47,26 @@ module ESP
|
|
47
47
|
|
48
48
|
context '.recent' do
|
49
49
|
should 'call the api and return an array of dashboard objects' do
|
50
|
-
stubbed_dashboard = stub_request(:
|
50
|
+
stubbed_dashboard = stub_request(:put, %r{dashboard/recent*}).to_return(body: json_list(:dashboard, 2))
|
51
51
|
|
52
52
|
dashboard = ESP::Dashboard.recent
|
53
53
|
|
54
54
|
assert_requested(stubbed_dashboard)
|
55
55
|
assert_equal ESP::Dashboard, dashboard.resource_class
|
56
56
|
end
|
57
|
+
|
58
|
+
context 'next_page' do
|
59
|
+
should 'request page 2 when multiple dashboards' do
|
60
|
+
stub_dashboard = stub_request(:put, %r{dashboard/recent*}).with(body: {}.to_json).to_return(body: json_list(:dashboard, 25))
|
61
|
+
stub_dashboard2 = stub_request(:put, %r{dashboard/recent*}).with(body: { filter: {}, page: { number: '2', size: '20' } }.to_json).to_return(body: json_list(:stat, 2))
|
62
|
+
|
63
|
+
dashboard = ESP::Dashboard.recent
|
64
|
+
dashboard.next_page
|
65
|
+
|
66
|
+
assert_requested(stub_dashboard)
|
67
|
+
assert_requested(stub_dashboard2)
|
68
|
+
end
|
69
|
+
end
|
57
70
|
end
|
58
71
|
end
|
59
72
|
end
|
@@ -149,6 +149,17 @@ module ESP
|
|
149
149
|
|
150
150
|
assert_equal '/api/v2/teams.json', teams.from
|
151
151
|
end
|
152
|
+
|
153
|
+
should 'request next_page with page parameters' do
|
154
|
+
get_request = stub_request(:get, /teams.json*/).to_return(body: json_list(:team, 25))
|
155
|
+
next_page_request = stub_request(:put, /teams.json*/).with(body: { filter: {}, page: { number: '2', size: '20' } }.to_json).to_return(body: json_list(:team, 25))
|
156
|
+
|
157
|
+
teams = ESP::Team.all
|
158
|
+
teams.next_page
|
159
|
+
|
160
|
+
assert_requested(get_request)
|
161
|
+
assert_requested(next_page_request)
|
162
|
+
end
|
152
163
|
end
|
153
164
|
|
154
165
|
context '.where' do
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
2
|
+
|
3
|
+
module ESP
|
4
|
+
class RoleTest < ActiveSupport::TestCase
|
5
|
+
context ESP::Role do
|
6
|
+
context '#create' do
|
7
|
+
should 'not be implemented' do
|
8
|
+
assert_raises ESP::NotImplementedError do
|
9
|
+
ESP::Role.create(name: 'test')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context '#update' do
|
15
|
+
should 'not be implemented' do
|
16
|
+
role = build(:role)
|
17
|
+
assert_raises ESP::NotImplementedError do
|
18
|
+
role.save
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context '#destroy' do
|
24
|
+
should 'not be implemented' do
|
25
|
+
role = build(:role)
|
26
|
+
assert_raises ESP::NotImplementedError do
|
27
|
+
role.destroy
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context '.find' do
|
33
|
+
should 'call the show api and return a role if searching by id' do
|
34
|
+
stub_role = stub_request(:get, %r{roles/5.json*}).to_return(body: json(:role))
|
35
|
+
|
36
|
+
role = ESP::Role.find(5)
|
37
|
+
|
38
|
+
assert_requested(stub_role)
|
39
|
+
assert_equal ESP::Role, role.class
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -122,13 +122,26 @@ module ESP
|
|
122
122
|
|
123
123
|
context '.latest_for_teams' do
|
124
124
|
should 'call the api and return a collection of stats' do
|
125
|
-
stub_stat = stub_request(:
|
125
|
+
stub_stat = stub_request(:put, %r{stats/latest_for_teams*}).to_return(body: json_list(:stat, 2))
|
126
126
|
|
127
127
|
stats = ESP::Stat.latest_for_teams
|
128
128
|
|
129
129
|
assert_requested(stub_stat)
|
130
130
|
assert_equal ESP::Stat, stats.resource_class
|
131
131
|
end
|
132
|
+
|
133
|
+
context 'next_page' do
|
134
|
+
should 'request page 2 when multiple stats' do
|
135
|
+
stub_stat = stub_request(:put, %r{stats/latest_for_teams*}).with(body: {}.to_json).to_return(body: json_list(:stat, 25))
|
136
|
+
stub_stat2 = stub_request(:put, %r{stats/latest_for_teams*}).with(body: { filter: {}, page: { number: '2', size: '20' } }.to_json).to_return(body: json_list(:stat, 2))
|
137
|
+
|
138
|
+
stats = ESP::Stat.latest_for_teams
|
139
|
+
stats.next_page
|
140
|
+
|
141
|
+
assert_requested(stub_stat)
|
142
|
+
assert_requested(stub_stat2)
|
143
|
+
end
|
144
|
+
end
|
132
145
|
end
|
133
146
|
end
|
134
147
|
end
|
@@ -6,25 +6,25 @@ module ESP
|
|
6
6
|
context '#create' do
|
7
7
|
should 'not be implemented' do
|
8
8
|
assert_raises ESP::NotImplementedError do
|
9
|
-
ESP::
|
9
|
+
ESP::Suppression.create(reason: 'test')
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
context '#update' do
|
15
15
|
should 'not be implemented' do
|
16
|
-
|
16
|
+
s = build(:suppression)
|
17
17
|
assert_raises ESP::NotImplementedError do
|
18
|
-
|
18
|
+
s.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
|
+
s = build(:suppression)
|
26
26
|
assert_raises ESP::NotImplementedError do
|
27
|
-
|
27
|
+
s.destroy
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -3,32 +3,6 @@ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
|
3
3
|
module ESP
|
4
4
|
class UserTest < ActiveSupport::TestCase
|
5
5
|
context ESP::User do
|
6
|
-
context '#create' do
|
7
|
-
should 'not be implemented' do
|
8
|
-
assert_raises ESP::NotImplementedError do
|
9
|
-
ESP::User.create(name: 'test')
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
context '#update' do
|
15
|
-
should 'not be implemented' do
|
16
|
-
u = build(:user)
|
17
|
-
assert_raises ESP::NotImplementedError do
|
18
|
-
u.save
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
context '#destroy' do
|
24
|
-
should 'not be implemented' do
|
25
|
-
u = build(:user)
|
26
|
-
assert_raises ESP::NotImplementedError do
|
27
|
-
u.destroy
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
6
|
context '#organization' do
|
33
7
|
should 'call the api' do
|
34
8
|
u = build(:user, organization_id: 1)
|
@@ -91,6 +65,17 @@ module ESP
|
|
91
65
|
assert_not_requested(:put, /teams.json*/)
|
92
66
|
end
|
93
67
|
end
|
68
|
+
|
69
|
+
context '#role' do
|
70
|
+
should 'call the api' do
|
71
|
+
u = build(:user, role_id: 1)
|
72
|
+
stub_role = stub_request(:get, %r{roles/#{u.role_id}.json*}).to_return(body: json(:role))
|
73
|
+
|
74
|
+
u.role
|
75
|
+
|
76
|
+
assert_requested(stub_role)
|
77
|
+
end
|
78
|
+
end
|
94
79
|
end
|
95
80
|
end
|
96
81
|
end
|
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.
|
4
|
+
version: 2.7.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: 2016-
|
11
|
+
date: 2016-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -357,6 +357,7 @@ files:
|
|
357
357
|
- lib/esp/resources/report.rb
|
358
358
|
- lib/esp/resources/reports/export/integration.rb
|
359
359
|
- lib/esp/resources/resource.rb
|
360
|
+
- lib/esp/resources/role.rb
|
360
361
|
- lib/esp/resources/scan_interval.rb
|
361
362
|
- lib/esp/resources/service.rb
|
362
363
|
- lib/esp/resources/signature.rb
|
@@ -400,6 +401,7 @@ files:
|
|
400
401
|
- test/esp/integration/report_export_integration_integration_test.rb
|
401
402
|
- test/esp/integration/report_integration_test.rb
|
402
403
|
- test/esp/integration/resource_integration_test.rb
|
404
|
+
- test/esp/integration/role_integration_test.rb
|
403
405
|
- test/esp/integration/scan_interval_integration_test.rb
|
404
406
|
- test/esp/integration/service_integration_test.rb
|
405
407
|
- test/esp/integration/signature_integration_test.rb
|
@@ -432,6 +434,7 @@ files:
|
|
432
434
|
- test/esp/resources/report_test.rb
|
433
435
|
- test/esp/resources/reports/export/integration_test.rb
|
434
436
|
- test/esp/resources/resource_test.rb
|
437
|
+
- test/esp/resources/role_test.rb
|
435
438
|
- test/esp/resources/scan_interval_test.rb
|
436
439
|
- test/esp/resources/service_test.rb
|
437
440
|
- test/esp/resources/signature_test.rb
|
@@ -463,6 +466,7 @@ files:
|
|
463
466
|
- test/factories/organizations.rb
|
464
467
|
- test/factories/regions.rb
|
465
468
|
- test/factories/reports.rb
|
469
|
+
- test/factories/roles.rb
|
466
470
|
- test/factories/scan_intervals.rb
|
467
471
|
- test/factories/services.rb
|
468
472
|
- test/factories/signatures.rb
|
@@ -502,7 +506,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
502
506
|
version: '0'
|
503
507
|
requirements: []
|
504
508
|
rubyforge_project:
|
505
|
-
rubygems_version: 2.
|
509
|
+
rubygems_version: 2.4.8
|
506
510
|
signing_key:
|
507
511
|
specification_version: 4
|
508
512
|
summary: SDK for interacting with the ESP API.
|
@@ -530,6 +534,7 @@ test_files:
|
|
530
534
|
- test/esp/integration/report_export_integration_integration_test.rb
|
531
535
|
- test/esp/integration/report_integration_test.rb
|
532
536
|
- test/esp/integration/resource_integration_test.rb
|
537
|
+
- test/esp/integration/role_integration_test.rb
|
533
538
|
- test/esp/integration/scan_interval_integration_test.rb
|
534
539
|
- test/esp/integration/service_integration_test.rb
|
535
540
|
- test/esp/integration/signature_integration_test.rb
|
@@ -562,6 +567,7 @@ test_files:
|
|
562
567
|
- test/esp/resources/report_test.rb
|
563
568
|
- test/esp/resources/reports/export/integration_test.rb
|
564
569
|
- test/esp/resources/resource_test.rb
|
570
|
+
- test/esp/resources/role_test.rb
|
565
571
|
- test/esp/resources/scan_interval_test.rb
|
566
572
|
- test/esp/resources/service_test.rb
|
567
573
|
- test/esp/resources/signature_test.rb
|
@@ -593,6 +599,7 @@ test_files:
|
|
593
599
|
- test/factories/organizations.rb
|
594
600
|
- test/factories/regions.rb
|
595
601
|
- test/factories/reports.rb
|
602
|
+
- test/factories/roles.rb
|
596
603
|
- test/factories/scan_intervals.rb
|
597
604
|
- test/factories/services.rb
|
598
605
|
- test/factories/signatures.rb
|