kenna 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 934ed236adf5dec2573e8d7c76b51535b119a2e7
4
- data.tar.gz: 99dd8640179f09bd8eacf9ef31d7892819d19a86
3
+ metadata.gz: 9600a1d39f8347074e28831e4473d51a88e0ff2c
4
+ data.tar.gz: fd9fbf79911a68917bb1e02e40842d108f7f1326
5
5
  SHA512:
6
- metadata.gz: 674c72640d4cdac9e342e3b8d493de6a9e81ba59e147343f1197ed236c9142c9051b51ac49eb968f6a37bec1e03fdcf7d53134f08981d83d806a15848d47b498
7
- data.tar.gz: f0118ee98a2e037528a5f4964fd8503cc3d8f35b79bb3655cbbf0ee1ba946f65cce9e596b2f81e29e4736e0ca553e069fa8c77ddcec964b7e320572351a91059
6
+ metadata.gz: c703b3c4998b3a399d2986fb521f05709eb440fd85774a0f7768274d50b60f7f7c1a13983fcbed90398cbc071507de68538b68921b31a1301065ef7ff3bd7a7d
7
+ data.tar.gz: fbe2f7f8a5a917ffff78583d1e3915c32db18e9be641c43d108b8e0ddb0b8f1410c44a26cfe3b1d2f86fae34b8437a9184e3c0c92322a21f8b0ac4984d0c8f4b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kenna (0.1.2)
4
+ kenna (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/kenna.rb CHANGED
@@ -14,6 +14,9 @@ module Kenna
14
14
  # Must have a token to continue
15
15
  def initialize(token)
16
16
  $token = token
17
+
18
+ # Slow it down 500ms due to throttling
19
+ sleep(0.5)
17
20
  end
18
21
 
19
22
  # TODO (Maynard Black): ask Kenna about API versioning
@@ -29,17 +32,16 @@ module Kenna
29
32
  # TODO (Important - Maynard Black): Refactor to return the whole response including headers
30
33
  # This means updating the tests first! Then the API Browser App!
31
34
  # I am currently only returning a JSON parsed body so there is no way to catch 404s and such
32
- # UPDATE: the 2 get,delete and uppdate methods have been refactored as per above
35
+ # UPDATE: DONE
33
36
  # TODO (Maynard Black): Refactor the 2 post, put, getAllUsers, getUserById methods to return headers
34
37
  # TODO (Maynard Black): Catch exceptions when hitting server, that is the only way to
35
38
  # catch certain response codes (like 404) with the client I am using
36
39
 
37
- # Create
40
+ #################### Post ####################
41
+
38
42
  def post(uri, body)
39
43
  body = body.to_json
40
44
  @url = $base_url + uri
41
-
42
-
43
45
  @response = RestClient.post(@url, body, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
44
46
 
45
47
  rescue StandardError => e
@@ -51,53 +53,42 @@ module Kenna
51
53
  #ensure
52
54
  end
53
55
 
54
- def postByResource(resource, body)
55
- body = body.to_json
56
- @url = $base_url +'/'+ resource
57
- @response = RestClient.post(@url, body, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
58
- JSON.parse(@response.body)
59
- end
60
56
 
61
- # Read
57
+ #################### Get ####################
62
58
  def get(uri)
63
59
  @url = $base_url + uri
64
60
  @response = RestClient.get(@url, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
65
61
  end
66
62
 
67
- def getById(resource, id)
68
- @url = $base_url +'/'+ resource +'/'+ id.to_s
69
- RestClient.get(@url, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
70
- end
71
-
72
- # Update
73
- def update(uri, body)
63
+ #################### Put ####################
64
+ def put(uri, body)
74
65
  body = body.to_json
75
66
  @url = $base_url + uri
76
67
  @response = RestClient.put(@url, body, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
68
+
69
+ rescue StandardError => e
70
+ @return = {}
71
+ @return['http_code'] = e.http_code
72
+ @return['message'] = e.message
73
+ @return.to_json
74
+ #ensure
77
75
  end
78
76
 
79
- def updateById(resource, id, body)
80
- body = body.to_json
81
- @url = $base_url +'/'+ resource +'/' + id.to_s
82
- @response = RestClient.put(@url, body, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
83
- end
84
-
85
- # Delete
77
+
78
+ #################### Delete ####################
86
79
  def delete(uri)
87
80
  @url = $base_url + uri
88
81
  @response = RestClient.delete(@url, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
89
82
  end
90
83
 
91
- def deleteById(resource, id)
92
- @url = $base_url +'/'+ resource +'/' + id.to_s
93
- @response = RestClient.delete(@url, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
94
- end
95
84
 
96
- # User specific methods
85
+ #################### User Specific Methods ####################
86
+
97
87
  # TODO (Maynard Black): Finish all User options
98
88
  # TODO (Maynard Black): Do this for all other endpoints
99
89
  # TODO (Maynard Black): Some endpoint calls will require an array of id's, the app can fill
100
90
  # in the rest
91
+
101
92
  def getAllUsers()
102
93
  @url = $base_url + '/users'
103
94
  @response = RestClient.get(@url, headers={'X-Risk-Token' => $token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'})
@@ -110,8 +101,8 @@ module Kenna
110
101
  JSON.parse(@response.body)["user"]
111
102
  end
112
103
 
113
- # Generate a unique fake user for testing
114
- # and for the API browser
104
+ #################### Generate a unique fake user for testing ####################
105
+
115
106
  def fakeUser
116
107
  @roles = ['administrator', 'normal user', 'Linux Test Environment']
117
108
  @role = @roles[rand(0..2)]
@@ -126,12 +117,13 @@ module Kenna
126
117
  }
127
118
  end
128
119
 
129
- # Pretty version for API Browser
120
+ #################### Pretty version for API Browser ####################
130
121
  def fakeUserPretty
131
122
  @fup = JSON.pretty_generate JSON.parse(fakeUser)
132
123
  @fup.to_s
133
124
  end
134
125
 
126
+ ########################################################################
135
127
  end
136
128
  end
137
129
 
@@ -158,10 +150,11 @@ $api = Kenna::Api.new("ty9hxcpmgdrvnuqe")
158
150
 
159
151
  # @new_user = $api.post('/users', $api.fakeUser)
160
152
  # @new_user = JSON.parse(@new_user)
161
- # if !@new_user['body']
153
+ # if @new_user['message']
154
+ # puts '*ERROR* *ERROR* *ERROR* *ERROR* *ERROR* *ERROR* '
162
155
  # puts @new_user
163
156
  # else
164
- # puts @new_user['body']
157
+ # puts @new_user['user']['id']
165
158
  # end
166
159
 
167
160
  # @new_user = $api.postByResource('users', $api.fakeUser)
@@ -187,26 +180,34 @@ $api = Kenna::Api.new("ty9hxcpmgdrvnuqe")
187
180
 
188
181
  ################################### PUT ########################################
189
182
 
190
- # @b = {"firstname":"JOE"}
191
- # @u = $api.update('/users/' + $id.to_s, @b)
192
- # puts @u.code
193
- # puts JSON.parse(@u.body)["user"]["firstname"]
183
+ # $id = 35665
184
+ # @b = {"user":{"firstname":"Maynard"}}
185
+ # @api_response = $api.put('/users/' + $id.to_s, @b)
186
+
187
+ # if @api_response.class != RestClient::Response
188
+ # puts @api_response
189
+ # else
190
+ # @get_api_response = $api.get('/users/' + $id.to_s)
191
+ # puts @get_api_response
192
+ # end
194
193
 
195
- # $id = 35992
194
+
196
195
  # @body = {"firstname":"KERMIT"}
197
- # $api.update('/users/' + $id.to_s, @body)
196
+ # $api.put('/users/' + $id.to_s, @body)
198
197
 
199
198
 
200
199
  ################################### DELETE #####################################
201
200
 
202
- # $id = $api.getAllUsers()[9]["id"]
203
- # puts $id
201
+ # $id = $api.getAllUsers()
202
+ # sleep(0.1) # it looks like if there are a lot of records you can't get one by index until the query is done. IDK. Need to learn more.
203
+ # $id = $id[9]['id']
204
204
 
205
205
  # @delete = $api.delete('/users/' + $id.to_s)
206
- # puts @delete.code != 200
206
+ # puts @delete.code
207
207
 
208
+ # $id = 35940
208
209
  # @user = $api.get('/users/' + $id.to_s)
209
-
210
+ # puts @user
210
211
  ################################### Custom - /user #############################
211
212
 
212
213
  # @users = JSON.parse(@users)
data/lib/kenna/version.rb CHANGED
@@ -4,5 +4,5 @@
4
4
  # License:: Ruby license.
5
5
 
6
6
  module Kenna
7
- VERSION = "0.1.2"
7
+ VERSION = "0.1.3"
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kenna
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - maynard