code42 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +82 -64
- data/Rakefile +5 -0
- data/code42.gemspec +6 -6
- data/lib/code42/api/computer.rb +22 -0
- data/lib/code42/api/org.rb +60 -0
- data/lib/code42/api/role.rb +24 -0
- data/lib/code42/api/token.rb +32 -0
- data/lib/code42/api/user.rb +72 -0
- data/lib/code42/client.rb +7 -178
- data/lib/code42/user.rb +8 -0
- data/lib/code42/version.rb +1 -1
- data/spec/cassettes/Code42_Client/_create_org/returns_created_org.yml +8 -8
- data/spec/cassettes/Code42_Client/_create_user/returns_created_user.yml +6 -6
- data/spec/cassettes/Code42_Client/_create_user/when_sending_an_invalid_email/raises_an_exception.yml +2 -2
- data/spec/cassettes/Code42_Client/_find_org_by_name/returns_the_org_with_the_specified_name.yml +12 -58
- data/spec/cassettes/Code42_Client/_get_token/returns_valid_tokens.yml +5 -5
- data/spec/cassettes/Code42_Client/_get_token/when_providing_invalid_credentials/should_raise_an_exception.yml +2 -2
- data/spec/cassettes/Code42_Client/_org/when_ID_is_not_passed/returns_my_org.yml +11 -11
- data/spec/cassettes/Code42_Client/_org/when_ID_is_passed_in/returns_a_specific_org.yml +11 -11
- data/spec/cassettes/Code42_Client/_ping/returns_a_ping.yml +5 -5
- data/spec/cassettes/Code42_Client/_user/when_ID_is_not_passed/returns_my_user.yml +10 -10
- data/spec/cassettes/Code42_Client/_user/when_ID_is_passed_in/returns_a_specific_user.yml +10 -10
- data/spec/cassettes/Code42_Client/_user/when_blocked/returns_the_blocked_status.yml +84 -0
- data/spec/cassettes/Code42_Client/_user/when_unblocked/returns_the_blocked_status.yml +113 -0
- data/spec/cassettes/Code42_Client/_user_roles/returns_an_enumerable.yml +7 -7
- data/spec/cassettes/Code42_Client/_validate_token/returns_a_valid_response.yml +10 -10
- data/spec/{crashplan → code42}/client_spec.rb +26 -5
- data/spec/{crashplan → code42}/connection_spec.rb +0 -0
- data/spec/{crashplan → code42}/org_spec.rb +0 -0
- data/spec/{crashplan → code42}/ping_spec.rb +0 -0
- data/spec/{crashplan → code42}/resource_spec.rb +0 -0
- data/spec/{crashplan → code42}/role_spec.rb +0 -0
- data/spec/{crashplan → code42}/settings_spec.rb +0 -0
- data/spec/{crashplan → code42}/token_spec.rb +0 -0
- data/spec/{crashplan → code42}/user_spec.rb +0 -0
- metadata +49 -66
- data/spec/cassettes/Crashplan_Client/_create_org/returns_created_org.yml +0 -47
- data/spec/cassettes/Crashplan_Client/_create_user/returns_created_user.yml +0 -44
- data/spec/cassettes/Crashplan_Client/_create_user/when_sending_an_invalid_email/raises_an_exception.yml +0 -37
- data/spec/cassettes/Crashplan_Client/_find_org_by_name/returns_the_org_with_the_specified_name.yml +0 -55
- data/spec/cassettes/Crashplan_Client/_get_token/returns_valid_tokens.yml +0 -38
- data/spec/cassettes/Crashplan_Client/_get_token/when_providing_invalid_credentials/should_raise_an_exception.yml +0 -37
- data/spec/cassettes/Crashplan_Client/_org/when_ID_is_not_passed/returns_my_org.yml +0 -54
- data/spec/cassettes/Crashplan_Client/_org/when_ID_is_passed_in/returns_a_specific_org.yml +0 -54
- data/spec/cassettes/Crashplan_Client/_ping/returns_a_ping.yml +0 -48
- data/spec/cassettes/Crashplan_Client/_user/when_ID_is_not_passed/returns_my_user.yml +0 -99
- data/spec/cassettes/Crashplan_Client/_user/when_ID_is_passed_in/returns_a_specific_user.yml +0 -53
- data/spec/cassettes/Crashplan_Client/_user_roles/returns_an_enumerable.yml +0 -50
- data/spec/cassettes/Crashplan_Client/_validate_token/returns_a_valid_response.yml +0 -128
data/lib/code42/client.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
require 'json'
|
2
|
+
Dir[File.dirname(__FILE__) + '/api/*.rb'].each { |file| require file }
|
2
3
|
|
3
4
|
module Code42
|
4
5
|
class Client
|
6
|
+
include Code42::API::User
|
7
|
+
include Code42::API::Role
|
8
|
+
include Code42::API::Org
|
9
|
+
include Code42::API::Computer
|
10
|
+
include Code42::API::Token
|
11
|
+
|
5
12
|
attr_accessor :settings
|
6
13
|
|
7
14
|
def initialize(options = {})
|
@@ -33,184 +40,6 @@ module Code42
|
|
33
40
|
settings.token = token.to_s
|
34
41
|
end
|
35
42
|
|
36
|
-
### Authentication With Tokens :post, :get, :delete ###
|
37
|
-
|
38
|
-
# Gets a token for the currently authorized user
|
39
|
-
def get_token
|
40
|
-
object_from_response(Token, :post, "authToken")
|
41
|
-
end
|
42
|
-
|
43
|
-
# Returns LoginToken and ServerUrl
|
44
|
-
# @return [CrashPlan::Token] Token to pass to ServerUrl's AuthToken resource
|
45
|
-
def get_login_token
|
46
|
-
object_from_response(Token, :post, "loginToken")
|
47
|
-
end
|
48
|
-
|
49
|
-
# Validates an authorization token
|
50
|
-
# @return [Code42::TokenValidation]
|
51
|
-
# @param token [Code42::Token, String] The token to validate
|
52
|
-
def validate_token(token)
|
53
|
-
object_from_response(TokenValidation, :get, "authToken/#{token.to_s}")
|
54
|
-
end
|
55
|
-
|
56
|
-
# Manually expires a token
|
57
|
-
# @param token [Code42::Token, String] A token to expire (leave blank to expire currently used token)
|
58
|
-
def delete_token(token = nil)
|
59
|
-
token = token || settings.token
|
60
|
-
delete "authToken/#{token.to_s}"
|
61
|
-
end
|
62
|
-
|
63
|
-
### Users :post, :get ###
|
64
|
-
|
65
|
-
# Creates a user
|
66
|
-
# @return [Code42::User] The created user
|
67
|
-
# @param attrs [Hash] A hash of attributes to assign to created user
|
68
|
-
# @example
|
69
|
-
# client.create_user(:username => 'testuser', password: 'letmein', email: 'test@example.com', org_id: 3)
|
70
|
-
def create_user(attrs = {})
|
71
|
-
object_from_response(User, :post, "user", attrs)
|
72
|
-
end
|
73
|
-
|
74
|
-
# Returns information for a given user
|
75
|
-
# @return [Code42::User] The requested user
|
76
|
-
# @param id_or_username [String, Integer] A code42 user ID or username
|
77
|
-
def user(id_or_username = "my", params = {})
|
78
|
-
if id_or_username.is_a?(Fixnum) || id_or_username == 'my'
|
79
|
-
find_user_by_id id_or_username, params
|
80
|
-
else
|
81
|
-
find_user_by_username id_or_username, params
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
# Returns a user for a given id
|
86
|
-
def find_user_by_id(id = 'my', params = {})
|
87
|
-
object_from_response(User, :get, "user/#{id}", params)
|
88
|
-
end
|
89
|
-
|
90
|
-
# Returns a user for a given username
|
91
|
-
def find_user_by_username(username, params = {})
|
92
|
-
params.merge!(username: username)
|
93
|
-
users(params).first
|
94
|
-
end
|
95
|
-
|
96
|
-
# Returns a user for a given channel id
|
97
|
-
# @return [Code42::User] The requested user
|
98
|
-
# @param channel_id [String, Integer] A code42 User
|
99
|
-
def find_user_by_channel_id(channel_id = 1)
|
100
|
-
object_from_response(User, :get, "userChannel?channelCustomerId=#{channel_id}")
|
101
|
-
end
|
102
|
-
|
103
|
-
# Returns a list of up to 100 users
|
104
|
-
# @return [Array] An array of matching users
|
105
|
-
# @param params [Hash] A hash of parameters to match results against
|
106
|
-
def users(params = {})
|
107
|
-
params.merge!(key: 'users')
|
108
|
-
objects_from_response(User, :get, 'user', params)
|
109
|
-
end
|
110
|
-
|
111
|
-
# Check if user exists with given username.
|
112
|
-
def user_exists?(username)
|
113
|
-
users(username: username).present?
|
114
|
-
end
|
115
|
-
|
116
|
-
### Roles :post, :get ###
|
117
|
-
|
118
|
-
# Assigns a role to a user
|
119
|
-
# @return [Code42::Role] The assigned role
|
120
|
-
# @param attrs [Hash] A hash of attributes for assigning a user role
|
121
|
-
# @example
|
122
|
-
# client.assign_role(:user_id => 2, :role_name => 'Admin')
|
123
|
-
def assign_role(attrs = {})
|
124
|
-
object_from_response(Role, :post, 'UserRole', attrs)
|
125
|
-
end
|
126
|
-
|
127
|
-
# Returns a list of roles for a given user
|
128
|
-
# @return [Code42::RoleCollection] A collection of matching roles
|
129
|
-
# @param id [String, Integer] The id of the user to return roles for
|
130
|
-
def user_roles(id = 'my')
|
131
|
-
collection_from_response(RoleCollection, Role, :get, "userRole/#{id}")
|
132
|
-
end
|
133
|
-
|
134
|
-
### Orgs :post, :get, :put, :delete ###
|
135
|
-
|
136
|
-
# Creates blue org as well as user for the org
|
137
|
-
# @return [Code42::Org] The created org
|
138
|
-
# @param attrs [Hash] A hash of attributes to assign to created org
|
139
|
-
# @example
|
140
|
-
# client.create_org(:company => "test", :email => "test@test.com", :firstname => "test", :lastname => "test")
|
141
|
-
def create_pro_org(attrs = {})
|
142
|
-
object_from_response(Org, :post, "proOrgChannel", attrs)
|
143
|
-
end
|
144
|
-
|
145
|
-
# Creates an org
|
146
|
-
# @return [Code42::Org] The created org
|
147
|
-
# @param attrs [Hash] A hash of attributes to assign to created org
|
148
|
-
# @example
|
149
|
-
# client.create_org(:name => 'Acme Org', :parent_id => 2)
|
150
|
-
def create_org(attrs = {})
|
151
|
-
object_from_response(Org, :post, "org", attrs)
|
152
|
-
end
|
153
|
-
|
154
|
-
# Returns information for a given org
|
155
|
-
# @return [Code42::Org] The requested org
|
156
|
-
# @param id [String, Integer] A code42 user ID
|
157
|
-
def org(id = "my", params = {})
|
158
|
-
object_from_response(Org, :get, "org/#{id}", params)
|
159
|
-
end
|
160
|
-
|
161
|
-
# Returns an org for a given name
|
162
|
-
# @return [Code42::Org] The requested org
|
163
|
-
# @param name [String] A Code42 org name
|
164
|
-
# FIXME: This needs to change when the API implements a better way.
|
165
|
-
def find_org_by_name(name)
|
166
|
-
search_orgs(name).select { |o| o.name == name }.first
|
167
|
-
end
|
168
|
-
|
169
|
-
# Searches orgs for a query string
|
170
|
-
# @return [Array] An array of matching orgs
|
171
|
-
# @param query [String] A string to search for
|
172
|
-
def search_orgs(query)
|
173
|
-
orgs(q: query)
|
174
|
-
end
|
175
|
-
|
176
|
-
# Creates a user
|
177
|
-
# @return [Code42::User] The created user
|
178
|
-
# @param attrs [Hash] A hash of attributes to assign to created user
|
179
|
-
# @example
|
180
|
-
# client.create_user(:username => 'testuser', :password => 'letmein', :email => 'test@example.com', :org_id => 3)
|
181
|
-
def create_user(attrs = {})
|
182
|
-
object_from_response(User, :post, "user", attrs)
|
183
|
-
end
|
184
|
-
|
185
|
-
# Returns a list of up to 100 orgs
|
186
|
-
# @return [Array] An array of matching orgs
|
187
|
-
# @param params [Hash] A hash of parameters to match results against
|
188
|
-
def orgs(params = {})
|
189
|
-
params.merge!(key: 'orgs')
|
190
|
-
objects_from_response(Org, :get, 'org', params)
|
191
|
-
end
|
192
|
-
|
193
|
-
def update_org(id = 'my', attrs = {})
|
194
|
-
object_from_response(Org, :put, "org/#{id}", attrs)
|
195
|
-
end
|
196
|
-
|
197
|
-
### Computers :get, :put ###
|
198
|
-
|
199
|
-
# Returns one computer or http status 404
|
200
|
-
# @return [Code42::Computer] The requested computer
|
201
|
-
# @param id [String, Integer] A computer ID
|
202
|
-
def computer(id, params = {})
|
203
|
-
object_from_response(Computer, :get, "computer/#{id}", params)
|
204
|
-
end
|
205
|
-
|
206
|
-
# Returns a list of computers
|
207
|
-
# @return [Array] The list of computers
|
208
|
-
# @param params [Hash] A hash of valid search parameters for computers
|
209
|
-
def computers(params = {})
|
210
|
-
params.merge!(key: 'computers')
|
211
|
-
objects_from_response(Computer, :get, 'computer', params)
|
212
|
-
end
|
213
|
-
|
214
43
|
def diagnostic
|
215
44
|
object_from_response(Diagnostic, :get, 'diagnostic')
|
216
45
|
end
|
data/lib/code42/user.rb
CHANGED
data/lib/code42/version.rb
CHANGED
@@ -30,18 +30,18 @@ http_interactions:
|
|
30
30
|
- Jetty(7.6.3.v20120416)
|
31
31
|
body:
|
32
32
|
encoding: US-ASCII
|
33
|
-
string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-
|
34
|
-
\ \"params\": {}\n },\n \"data\": {\n \"orgId\":
|
35
|
-
\"
|
33
|
+
string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-06-11T15:36:12.931-05:00\",\n
|
34
|
+
\ \"params\": {}\n },\n \"data\": {\n \"orgId\": 88,\n \"orgUid\":
|
35
|
+
\"587597449746066070\",\n \"orgName\": \"IBM\",\n \"status\": \"Active\",\n
|
36
36
|
\ \"active\": true,\n \"blocked\": false,\n \"parentOrgId\": null,\n
|
37
|
-
\ \"type\": \"ENTERPRISE\",\n \"externalId\": \"
|
37
|
+
\ \"type\": \"ENTERPRISE\",\n \"externalId\": \"587597449746066070\",\n
|
38
38
|
\ \"hierarchyCounts\": {},\n \"configInheritanceCounts\": {},\n \"creationDate\":
|
39
|
-
\"2013-
|
40
|
-
\ \"registrationKey\": \"
|
39
|
+
\"2013-06-11T15:36:12.778-05:00\",\n \"modificationDate\": \"2013-06-11T15:36:12.894-05:00\",\n
|
40
|
+
\ \"registrationKey\": \"K44T-JS9H-892T-4C4U\",\n \"reporting\": {},\n
|
41
41
|
\ \"customConfig\": false,\n \"settings\": {\n \"maxSeats\":
|
42
42
|
null,\n \"maxBytes\": null\n },\n \"settingsInherited\": {\n
|
43
43
|
\ \"maxSeats\": \"\",\n \"maxBytes\": \"\"\n },\n \"settingsSummary\":
|
44
44
|
\ {\n \"maxSeats\": \"\",\n \"maxBytes\": \"\"\n }\n }\n}"
|
45
45
|
http_version:
|
46
|
-
recorded_at:
|
47
|
-
recorded_with: VCR 2.
|
46
|
+
recorded_at: Tue, 11 Jun 2013 20:36:12 GMT
|
47
|
+
recorded_with: VCR 2.5.0
|
@@ -30,15 +30,15 @@ http_interactions:
|
|
30
30
|
- Jetty(7.6.3.v20120416)
|
31
31
|
body:
|
32
32
|
encoding: US-ASCII
|
33
|
-
string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-
|
33
|
+
string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-06-11T15:36:13.440-05:00\",\n
|
34
34
|
\ \"params\": {}\n },\n \"data\": {\n \"userId\": 3,\n \"userUid\":
|
35
|
-
\"
|
35
|
+
\"89e29f40cccc6890\",\n \"status\": \"Active\",\n \"username\": \"testuser\",\n
|
36
36
|
\ \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n
|
37
37
|
\ \"quotaInBytes\": -1,\n \"orgId\": 2,\n \"orgUid\": \"proserverdemo\",\n
|
38
38
|
\ \"orgName\": \"PROServer Demo\",\n \"active\": true,\n \"blocked\":
|
39
39
|
false,\n \"emailPromo\": true,\n \"invited\": true,\n \"orgType\":
|
40
|
-
\"ENTERPRISE\",\n \"usernameIsAnEmail\": null,\n \"creationDate\": \"2013-
|
41
|
-
\ \"modificationDate\": \"2013-
|
40
|
+
\"ENTERPRISE\",\n \"usernameIsAnEmail\": null,\n \"creationDate\": \"2013-06-11T15:34:42.178-05:00\",\n
|
41
|
+
\ \"modificationDate\": \"2013-06-11T15:36:13.426-05:00\"\n }\n}"
|
42
42
|
http_version:
|
43
|
-
recorded_at:
|
44
|
-
recorded_with: VCR 2.
|
43
|
+
recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
|
44
|
+
recorded_with: VCR 2.5.0
|
data/spec/cassettes/Code42_Client/_create_user/when_sending_an_invalid_email/raises_an_exception.yml
CHANGED
@@ -33,5 +33,5 @@ http_interactions:
|
|
33
33
|
encoding: US-ASCII
|
34
34
|
string: ! '[{"name":"EMAIL_INVALID","description":"Email is invalid","objects":[]}]'
|
35
35
|
http_version:
|
36
|
-
recorded_at:
|
37
|
-
recorded_with: VCR 2.
|
36
|
+
recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
|
37
|
+
recorded_with: VCR 2.5.0
|
data/spec/cassettes/Code42_Client/_find_org_by_name/returns_the_org_with_the_specified_name.yml
CHANGED
@@ -1,51 +1,5 @@
|
|
1
1
|
---
|
2
2
|
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: http://admin:admin@localhost:7280/api/org?q=Default
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.8.7
|
12
|
-
Accept-Encoding:
|
13
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
-
Accept:
|
15
|
-
- ! '*/*'
|
16
|
-
response:
|
17
|
-
status:
|
18
|
-
code: 200
|
19
|
-
message: !binary |-
|
20
|
-
T0s=
|
21
|
-
headers:
|
22
|
-
!binary "Q2FjaGUtQ29udHJvbA==":
|
23
|
-
- !binary |-
|
24
|
-
bm8tc3RvcmU=
|
25
|
-
!binary "UHJhZ21h":
|
26
|
-
- !binary |-
|
27
|
-
bm8tY2FjaGU=
|
28
|
-
!binary "Q29udGVudC1UeXBl":
|
29
|
-
- !binary |-
|
30
|
-
YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
|
31
|
-
!binary "Q29udGVudC1FbmNvZGluZw==":
|
32
|
-
- !binary |-
|
33
|
-
Z3ppcA==
|
34
|
-
!binary "VHJhbnNmZXItRW5jb2Rpbmc=":
|
35
|
-
- !binary |-
|
36
|
-
Y2h1bmtlZA==
|
37
|
-
!binary "U2VydmVy":
|
38
|
-
- !binary |-
|
39
|
-
SmV0dHkoNy42LjMudjIwMTIwNDE2KQ==
|
40
|
-
body:
|
41
|
-
encoding: ASCII-8BIT
|
42
|
-
string: !binary |-
|
43
|
-
H4sIAAAAAAAAAGWNuw7CMAxF936F5blFbpARylo+gQ11sERASA3pw52i/DuO
|
44
|
-
YGP0ufdc5wYAY1C5iwp6AMhGjOkrhk0lzgbRUX/siDs6XXvniT2fD+zsZk+E
|
45
|
-
7deYZZW4WT3jUqVLeMg+KRaLS+3g34+kMg1pf6tR+s2k9VlHbmPVmvIB1DL0
|
46
|
-
wKEAAAA=
|
47
|
-
http_version:
|
48
|
-
recorded_at: Mon, 06 May 2013 17:05:58 GMT
|
49
3
|
- request:
|
50
4
|
method: get
|
51
5
|
uri: http://admin:admin@localhost:7280/api/org?q=PROServer%20Demo
|
@@ -86,16 +40,16 @@ http_interactions:
|
|
86
40
|
body:
|
87
41
|
encoding: ASCII-8BIT
|
88
42
|
string: !binary |-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
43
|
+
H4sIAAAAAAAAAKVTy07DMBC88xWRzwQlKVSQG49KVJWgalJxQByWdNtaxHaw
|
44
|
+
N4ioyr9juyUttHCAU+TZ2Zl9ZXUUBEwgwQwIWBoEwcoiFiMu0BCIyoIsieJe
|
45
|
+
GPXDOM7js7TXT+PeSRSfhtFZGkXseJ1RgQZhLH3FXl3SeHKfoX5DHdygUKy1
|
46
|
+
rNZR2Z6VIiivVS3JovFGTemF03oMOt4aHM4smhzvIFPuIFZpZbzdzLntEu5A
|
47
|
+
4IGCOoptk2pnxi4L4m+4jcD6nQaka+zQ51IVL+hM51CaLW4HgJLuNzXKuiy7
|
48
|
+
EDWVL2Fwlw8m48kwG2xN8J1QSyiHv7Wx5KhBF8vGz8lPue2ChZJzvhjKJWpO
|
49
|
+
IAs8SNIIxJW8AcIDO03SJDrpR+dfdupuQ834nBd/SdW44Ia0Tx1h4zNHo4fw
|
50
|
+
Is/yMLmdJuF0nJ/v8iulicvFt8JrQ0pc+x73Zm6QXIbx97R7K650eM9sz+bb
|
51
|
+
MtaRq4bwM7IJtHuqm5H6Xf8mz9hhccZ+lM5qIUA3/xb23/bJ/VxH7QdHtqUI
|
52
|
+
zgMAAA==
|
99
53
|
http_version:
|
100
|
-
recorded_at:
|
101
|
-
recorded_with: VCR 2.
|
54
|
+
recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
|
55
|
+
recorded_with: VCR 2.5.0
|
@@ -30,9 +30,9 @@ http_interactions:
|
|
30
30
|
- Jetty(7.6.3.v20120416)
|
31
31
|
body:
|
32
32
|
encoding: US-ASCII
|
33
|
-
string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-
|
34
|
-
\ \"params\": {}\n },\n \"data\": [\n \"
|
35
|
-
\ \"
|
33
|
+
string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-06-11T15:36:13.358-05:00\",\n
|
34
|
+
\ \"params\": {}\n },\n \"data\": [\n \"1vg9c5mi59cze0e9v679dha9wi\",\n
|
35
|
+
\ \"12d07otjuvxh51o5woefxkofdq\"\n ]\n}"
|
36
36
|
http_version:
|
37
|
-
recorded_at:
|
38
|
-
recorded_with: VCR 2.
|
37
|
+
recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
|
38
|
+
recorded_with: VCR 2.5.0
|
@@ -33,5 +33,5 @@ http_interactions:
|
|
33
33
|
encoding: US-ASCII
|
34
34
|
string: ! '[{"name":"SYSTEM","description":"Invalid or missing credentials"}]'
|
35
35
|
http_version:
|
36
|
-
recorded_at:
|
37
|
-
recorded_with: VCR 2.
|
36
|
+
recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
|
37
|
+
recorded_with: VCR 2.5.0
|
@@ -40,15 +40,15 @@ http_interactions:
|
|
40
40
|
body:
|
41
41
|
encoding: ASCII-8BIT
|
42
42
|
string: !binary |-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
43
|
+
H4sIAAAAAAAAAJ2SwXKCMBCG7z4Fk7M4BIROubXqgenUdtQ+QIorZkoSJiwd
|
44
|
+
GYd3bwJYB7SXcsuX3T///st54jhEALI9Q0Zix3HOhhiGXECJTBQGEt+jgetF
|
45
|
+
LqU7GsZBFFN/FlHqemHseWTadRRMM1Ga8nNjQGMpGasqnSV7A+j09/zBLSBP
|
46
|
+
y9dkTa54zQTccGMIq7LFKfJvuHDWnWIHdQU9+8xV+gVW+8DyEq4mQeJbb0NW
|
47
|
+
ed5fYF20763Wu9XmfZNsVxdxOCFoyfLk1ueRg2Y6PdYLVUnsZu+vUiUPPEvk
|
48
|
+
ETRHJlO4U6KBIVdyyRC6lE3EXuj6gU2Z0jh4nNHwcZiyUHt+4OmocbCeeTyn
|
49
|
+
swc/GjZqyHiJum18gdr2nUbftbRQGrnMBm6rEpVYtGMNky4BbXHZLvqyamuV
|
50
|
+
nbZmQsvdfuEdfa4ROtrCZqTTh9bu7i9BQu4JEnJXcFsJwXT9b3/2d540P9qU
|
51
|
+
bgYrAwAA
|
52
52
|
http_version:
|
53
|
-
recorded_at:
|
54
|
-
recorded_with: VCR 2.
|
53
|
+
recorded_at: Tue, 11 Jun 2013 20:36:12 GMT
|
54
|
+
recorded_with: VCR 2.5.0
|
@@ -40,15 +40,15 @@ http_interactions:
|
|
40
40
|
body:
|
41
41
|
encoding: ASCII-8BIT
|
42
42
|
string: !binary |-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
43
|
+
H4sIAAAAAAAAAJ2SwXKCMBCG7z4Fk7M4BERHbq16YDq1HbUPkOKKmZKECUtH
|
44
|
+
xuHdmwDWAe2l3PJl98+//3IZOQ4RgOzAkJHIcZyLIYYhF1AgE7mBxPdo4Hoz
|
45
|
+
l9I9DaNgFlF/Mp8uXC+MPI+M246caSYKU36pDagtJUNVpdP4YAAd/54/uAXk
|
46
|
+
afUab8gNb5iAO24MYVk0OEH+DVfO2lPkoC6hY5+ZSr7Aah9ZVsDNJEh862zI
|
47
|
+
Msu6C6zy5r31Zr/evm/j3foqDmcELVkW3/s8cdBMJ6dqqUqJ7ezdVaLkkaex
|
48
|
+
PIHmyGQCD0o0MORKrhhCm7KJ2AtdP7ApUxoFiwkNBykLdeBHngwae+uZRlM6
|
49
|
+
mfuzfqOGlBeom8YXqGzfefDdSnOlkcu057YsUIllM1Y/6QLQFhfNoq+rtlbZ
|
50
|
+
eWcmtNztFt7S5wqhpQ2sBzpdaM3u/hIk5JEgIQ8Fd6UQTFf/9md/51H9AygL
|
51
|
+
Y0MrAwAA
|
52
52
|
http_version:
|
53
|
-
recorded_at:
|
54
|
-
recorded_with: VCR 2.
|
53
|
+
recorded_at: Tue, 11 Jun 2013 20:36:12 GMT
|
54
|
+
recorded_with: VCR 2.5.0
|
@@ -40,9 +40,9 @@ http_interactions:
|
|
40
40
|
body:
|
41
41
|
encoding: ASCII-8BIT
|
42
42
|
string: !binary |-
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
H4sIAAAAAAAAAC3MPQqAMAwG0N1ThMxWEquCPYcXCLWDQ0FsnErvbkTX9/3U
|
44
|
+
DgBzUtlFBQMAVBMzPXIqKvk0xJHYO1oc88Zz8EtgP4zr5GgORNh/i1MuycXq
|
45
|
+
tRm0V/F/rVjuGFN5U73u1Lr2ABGVoIR5AAAA
|
46
46
|
http_version:
|
47
|
-
recorded_at:
|
48
|
-
recorded_with: VCR 2.
|
47
|
+
recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
|
48
|
+
recorded_with: VCR 2.5.0
|