datacentred 0.1.1pre → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +11 -0
  3. data/.coveralls.yml +1 -0
  4. data/.gitignore +9 -0
  5. data/.rubocop.yml +2 -0
  6. data/.yardopts +1 -0
  7. data/CODE_OF_CONDUCT.md +46 -0
  8. data/Gemfile.lock +39 -2
  9. data/LICENSE +21 -0
  10. data/README.md +160 -2
  11. data/circle.yml +0 -2
  12. data/datacentred.gemspec +17 -14
  13. data/docs/Datacentred.html +537 -0
  14. data/docs/Datacentred/Errors.html +260 -0
  15. data/docs/Datacentred/Errors/Error.html +139 -0
  16. data/docs/Datacentred/Errors/NotFound.html +145 -0
  17. data/docs/Datacentred/Errors/Unauthorized.html +149 -0
  18. data/docs/Datacentred/Errors/UnprocessableEntity.html +145 -0
  19. data/docs/Datacentred/Model.html +128 -0
  20. data/docs/Datacentred/Model/Base.html +255 -0
  21. data/docs/Datacentred/Model/Project.html +1729 -0
  22. data/docs/Datacentred/Model/Role.html +1830 -0
  23. data/docs/Datacentred/Model/Usage.html +510 -0
  24. data/docs/Datacentred/Model/User.html +832 -0
  25. data/docs/Datacentred/Model/Version.html +451 -0
  26. data/docs/Datacentred/Project.html +142 -0
  27. data/docs/Datacentred/Request.html +128 -0
  28. data/docs/Datacentred/Request/Base.html +675 -0
  29. data/docs/Datacentred/Request/Projects.html +1286 -0
  30. data/docs/Datacentred/Request/Roles.html +1286 -0
  31. data/docs/Datacentred/Request/Usage.html +315 -0
  32. data/docs/Datacentred/Request/Users.html +841 -0
  33. data/docs/Datacentred/Request/Versions.html +258 -0
  34. data/docs/Datacentred/Response.html +410 -0
  35. data/docs/Datacentred/Role.html +142 -0
  36. data/docs/Datacentred/Usage.html +142 -0
  37. data/docs/Datacentred/User.html +142 -0
  38. data/docs/Datacentred/Version.html +142 -0
  39. data/docs/_index.html +349 -0
  40. data/docs/class_list.html +51 -0
  41. data/docs/css/common.css +1 -0
  42. data/docs/css/full_list.css +58 -0
  43. data/docs/css/style.css +492 -0
  44. data/docs/file.README.html +231 -0
  45. data/docs/file_list.html +56 -0
  46. data/docs/frames.html +17 -0
  47. data/docs/index.html +231 -0
  48. data/docs/js/app.js +248 -0
  49. data/docs/js/full_list.js +216 -0
  50. data/docs/js/jquery.js +4 -0
  51. data/docs/method_list.html +643 -0
  52. data/docs/top-level-namespace.html +110 -0
  53. data/lib/datacentred.rb +65 -12
  54. data/lib/datacentred/error.rb +37 -15
  55. data/lib/datacentred/model/base.rb +21 -0
  56. data/lib/datacentred/model/project.rb +90 -31
  57. data/lib/datacentred/model/role.rb +89 -31
  58. data/lib/datacentred/model/usage.rb +16 -9
  59. data/lib/datacentred/model/user.rb +54 -22
  60. data/lib/datacentred/model/version.rb +17 -8
  61. data/lib/datacentred/request/base.rb +68 -31
  62. data/lib/datacentred/request/projects.rb +92 -24
  63. data/lib/datacentred/request/roles.rb +92 -24
  64. data/lib/datacentred/request/usage.rb +10 -1
  65. data/lib/datacentred/request/users.rb +58 -15
  66. data/lib/datacentred/request/versions.rb +13 -1
  67. data/lib/datacentred/response.rb +6 -2
  68. data/test/integration/authorization_test.rb +30 -0
  69. data/test/integration/projects_test.rb +11 -11
  70. data/test/integration/roles_test.rb +17 -17
  71. data/test/integration/usage_test.rb +8 -8
  72. data/test/integration/users_test.rb +23 -19
  73. data/test/integration/versions_test.rb +1 -2
  74. data/test/test_helper.rb +8 -5
  75. data/test/vcr_cassettes/not_authorized.yml +57 -0
  76. data/test/vcr_cassettes/unexpected_error.yml +56 -0
  77. metadata +115 -9
@@ -2,10 +2,9 @@ require_relative '../test_helper'
2
2
 
3
3
  module Datacentred
4
4
  class VersionsIntegrationTest < Minitest::Test
5
-
6
5
  def test_show_version
7
6
  VCR.use_cassette('show_version') do
8
- @versions = Datacentred::Version.show
7
+ @versions = Datacentred::Version.all
9
8
  assert @versions.is_a? Array
10
9
  assert_equal @versions.first.id, "1"
11
10
  assert_equal @versions.first.status, "CURRENT"
@@ -1,5 +1,9 @@
1
- require_relative '../lib/datacentred'
2
- require 'json'
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
4
+ ENV["RAILS_ENV"] = "test"
5
+ $VERBOSE = nil
6
+
3
7
  require 'vcr'
4
8
 
5
9
  VCR.configure do |c|
@@ -7,8 +11,7 @@ VCR.configure do |c|
7
11
  c.hook_into :webmock
8
12
  end
9
13
 
10
- TEST_ENV = true
14
+ require_relative '../lib/datacentred'
11
15
 
12
- require 'rubygems'
13
- gem "minitest"
16
+ require 'webmock/minitest'
14
17
  require 'minitest/autorun'
@@ -0,0 +1,57 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://my.datacentred.io/api/projects
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.datacentred.api+json; version=1
12
+ Authorization:
13
+ - 'Token token=:'
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Faraday v0.9.2
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 401
23
+ message: Unauthorized
24
+ headers:
25
+ Server:
26
+ - nginx/1.10.3
27
+ Date:
28
+ - Fri, 15 Sep 2017 09:53:41 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Connection:
34
+ - keep-alive
35
+ X-Frame-Options:
36
+ - SAMEORIGIN
37
+ X-Xss-Protection:
38
+ - 1; mode=block
39
+ X-Content-Type-Options:
40
+ - nosniff
41
+ X-Api-Version:
42
+ - '1'
43
+ Www-Authenticate:
44
+ - Token realm="DataCentred"
45
+ Cache-Control:
46
+ - no-cache
47
+ X-Request-Id:
48
+ - e6449d56-bb6b-4132-947d-14b004970e63
49
+ X-Runtime:
50
+ - '0.028030'
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"errors":[{"detail":"Token authentication failed. Invalid credentials
54
+ or API access is not authorized."}],"links":[{"href":"https://my.datacentred.io/api","rel":"help"}]}'
55
+ http_version:
56
+ recorded_at: Fri, 15 Sep 2017 09:53:41 GMT
57
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://my.datacentred.io/api/projects
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.datacentred.api+json; version=1
12
+ Authorization:
13
+ - 'Token token=:'
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Faraday v0.9.2
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 418
23
+ message: "I'm a teapot"
24
+ headers:
25
+ Server:
26
+ - nginx/1.10.3
27
+ Date:
28
+ - Fri, 15 Sep 2017 10:10:38 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Connection:
34
+ - keep-alive
35
+ X-Frame-Options:
36
+ - SAMEORIGIN
37
+ X-Xss-Protection:
38
+ - 1; mode=block
39
+ X-Content-Type-Options:
40
+ - nosniff
41
+ X-Api-Version:
42
+ - '1'
43
+ Www-Authenticate:
44
+ - Token realm="DataCentred"
45
+ Cache-Control:
46
+ - no-cache
47
+ X-Request-Id:
48
+ - 471b5ece-1a5a-43f9-ad26-bdbafd34b2df
49
+ X-Runtime:
50
+ - '0.029291'
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"errors":[{"detail":"Im a teapot."}],"links":[{"href":"https://my.datacentred.io/api","rel":"help"}]}'
54
+ http_version:
55
+ recorded_at: Fri, 15 Sep 2017 10:10:38 GMT
56
+ recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datacentred
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1pre
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugenia Grieff
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-08-10 00:00:00.000000000 Z
12
+ date: 2017-09-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -25,6 +25,48 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: 0.9.1
28
+ - !ruby/object:Gem::Dependency
29
+ name: recursive-open-struct
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: minitest
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 5.3.1
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 5.3.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 12.0.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 12.0.0
28
70
  - !ruby/object:Gem::Dependency
29
71
  name: vcr
30
72
  requirement: !ruby/object:Gem::Requirement
@@ -54,33 +96,95 @@ dependencies:
54
96
  - !ruby/object:Gem::Version
55
97
  version: 1.8.0
56
98
  - !ruby/object:Gem::Dependency
57
- name: minitest
99
+ name: yard
58
100
  requirement: !ruby/object:Gem::Requirement
59
101
  requirements:
60
102
  - - "~>"
61
103
  - !ruby/object:Gem::Version
62
- version: 5.3.1
104
+ version: 0.9.0
63
105
  type: :development
64
106
  prerelease: false
65
107
  version_requirements: !ruby/object:Gem::Requirement
66
108
  requirements:
67
109
  - - "~>"
68
110
  - !ruby/object:Gem::Version
69
- version: 5.3.1
111
+ version: 0.9.0
112
+ - !ruby/object:Gem::Dependency
113
+ name: coveralls
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: 0.8.0
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: 0.8.0
70
126
  description: Gem wrapper for Datacentred API
71
127
  email: megrieff@gmail.com
72
128
  executables: []
73
129
  extensions: []
74
130
  extra_rdoc_files: []
75
131
  files:
132
+ - ".codeclimate.yml"
133
+ - ".coveralls.yml"
134
+ - ".gitignore"
135
+ - ".rubocop.yml"
136
+ - ".yardopts"
137
+ - CODE_OF_CONDUCT.md
76
138
  - Gemfile
77
139
  - Gemfile.lock
140
+ - LICENSE
78
141
  - README.md
79
142
  - Rakefile
80
143
  - circle.yml
81
144
  - datacentred.gemspec
145
+ - docs/Datacentred.html
146
+ - docs/Datacentred/Errors.html
147
+ - docs/Datacentred/Errors/Error.html
148
+ - docs/Datacentred/Errors/NotFound.html
149
+ - docs/Datacentred/Errors/Unauthorized.html
150
+ - docs/Datacentred/Errors/UnprocessableEntity.html
151
+ - docs/Datacentred/Model.html
152
+ - docs/Datacentred/Model/Base.html
153
+ - docs/Datacentred/Model/Project.html
154
+ - docs/Datacentred/Model/Role.html
155
+ - docs/Datacentred/Model/Usage.html
156
+ - docs/Datacentred/Model/User.html
157
+ - docs/Datacentred/Model/Version.html
158
+ - docs/Datacentred/Project.html
159
+ - docs/Datacentred/Request.html
160
+ - docs/Datacentred/Request/Base.html
161
+ - docs/Datacentred/Request/Projects.html
162
+ - docs/Datacentred/Request/Roles.html
163
+ - docs/Datacentred/Request/Usage.html
164
+ - docs/Datacentred/Request/Users.html
165
+ - docs/Datacentred/Request/Versions.html
166
+ - docs/Datacentred/Response.html
167
+ - docs/Datacentred/Role.html
168
+ - docs/Datacentred/Usage.html
169
+ - docs/Datacentred/User.html
170
+ - docs/Datacentred/Version.html
171
+ - docs/_index.html
172
+ - docs/class_list.html
173
+ - docs/css/common.css
174
+ - docs/css/full_list.css
175
+ - docs/css/style.css
176
+ - docs/file.README.html
177
+ - docs/file_list.html
178
+ - docs/frames.html
179
+ - docs/index.html
180
+ - docs/js/app.js
181
+ - docs/js/full_list.js
182
+ - docs/js/jquery.js
183
+ - docs/method_list.html
184
+ - docs/top-level-namespace.html
82
185
  - lib/datacentred.rb
83
186
  - lib/datacentred/error.rb
187
+ - lib/datacentred/model/base.rb
84
188
  - lib/datacentred/model/project.rb
85
189
  - lib/datacentred/model/role.rb
86
190
  - lib/datacentred/model/usage.rb
@@ -93,6 +197,7 @@ files:
93
197
  - lib/datacentred/request/users.rb
94
198
  - lib/datacentred/request/versions.rb
95
199
  - lib/datacentred/response.rb
200
+ - test/integration/authorization_test.rb
96
201
  - test/integration/projects_test.rb
97
202
  - test/integration/roles_test.rb
98
203
  - test/integration/usage_test.rb
@@ -115,6 +220,7 @@ files:
115
220
  - test/vcr_cassettes/list_role_users.yml
116
221
  - test/vcr_cassettes/list_roles.yml
117
222
  - test/vcr_cassettes/list_users.yml
223
+ - test/vcr_cassettes/not_authorized.yml
118
224
  - test/vcr_cassettes/project_create_failed_validation.yml
119
225
  - test/vcr_cassettes/project_not_found.yml
120
226
  - test/vcr_cassettes/project_update_failed_validation.yml
@@ -126,6 +232,7 @@ files:
126
232
  - test/vcr_cassettes/show_usage.yml
127
233
  - test/vcr_cassettes/show_user.yml
128
234
  - test/vcr_cassettes/show_version.yml
235
+ - test/vcr_cassettes/unexpected_error.yml
129
236
  - test/vcr_cassettes/update_project.yml
130
237
  - test/vcr_cassettes/update_role.yml
131
238
  - test/vcr_cassettes/update_role_with_invalid_permissions.yml
@@ -139,7 +246,7 @@ files:
139
246
  - test/vcr_cassettes/user_update_not_found.yml
140
247
  homepage: https://github.com/datacentred/datacentred-api-ruby
141
248
  licenses:
142
- - BSD-3-Clause
249
+ - MIT
143
250
  metadata: {}
144
251
  post_install_message:
145
252
  rdoc_options: []
@@ -152,9 +259,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
259
  version: '2.3'
153
260
  required_rubygems_version: !ruby/object:Gem::Requirement
154
261
  requirements:
155
- - - ">"
262
+ - - ">="
156
263
  - !ruby/object:Gem::Version
157
- version: 1.3.1
264
+ version: '0'
158
265
  requirements: []
159
266
  rubyforge_project:
160
267
  rubygems_version: 2.6.13
@@ -162,4 +269,3 @@ signing_key:
162
269
  specification_version: 4
163
270
  summary: datacentred
164
271
  test_files: []
165
- has_rdoc: