datacentred 0.1.1pre → 1.1.1

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.
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: