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
@@ -1,7 +1,16 @@
1
1
  module Datacentred
2
2
  module Request
3
+ # RESTful API requests for the usage endpoints.
3
4
  class Usage < Base
4
-
5
+ # Retrieve account usage data for a given year/month.
6
+ #
7
+ # GET /api/usage/2017/9
8
+ #
9
+ # @param [Integer] year The year.
10
+ # @param [Integer] month The month.
11
+ # @raise [Errors::NotFound] Raised if no usage data found for given year/month pair.
12
+ # @raise [Errors::Unauthorized] Raised if credentials aren't valid.
13
+ # @return [Hash] Usage for given year/month pair.
5
14
  def self.show(year, month)
6
15
  get("usage/#{year}/#{month}")
7
16
  end
@@ -1,25 +1,68 @@
1
1
  module Datacentred
2
2
  module Request
3
+ # RESTful API requests for the user endpoints.
3
4
  class Users < Base
5
+ class << self
6
+ # Create a new user.
7
+ #
8
+ # POST /api/users
9
+ #
10
+ # @param [Hash] params User attributes.
11
+ # @raise [Errors::UnprocessableEntity] Raised if validations fail for the supplied attributes.
12
+ # @raise [Errors::Unauthorized] Raised if credentials aren't valid.
13
+ # @return [Hash] New user.
14
+ def create(params)
15
+ post('users', 'user' => params)['user']
16
+ end
4
17
 
5
- def self.create(payload={})
6
- post('users', payload.to_json)['user']
7
- end
18
+ # List all available users.
19
+ #
20
+ # GET /api/users
21
+ #
22
+ # @raise [Errors::Unauthorized] Raised if credentials aren't valid.
23
+ # @return [[Hash]] A collection of all users on this account.
24
+ def list
25
+ get('users')['users']
26
+ end
8
27
 
9
- def self.list
10
- get('users')['users']
11
- end
28
+ # Find a user by unique ID.
29
+ #
30
+ # GET /api/users/82fa8de8f09102cc
31
+ #
32
+ # @param [String] id The unique identifier for this user.
33
+ # @raise [Errors::NotFound] Raised if the user couldn't be found.
34
+ # @raise [Errors::Unauthorized] Raised if credentials aren't valid.
35
+ # @return [Hash] The user, if it exists.
36
+ def show(id)
37
+ get("users/#{id}")['user']
38
+ end
12
39
 
13
- def self.show(id)
14
- get("users/#{id}")['user']
15
- end
16
-
17
- def self.update(id, payload)
18
- put("users/#{id}", payload.to_json)['user']
19
- end
40
+ # Update a user by unique ID.
41
+ #
42
+ # PUT /api/users/82fa8de8f09102cc
43
+ #
44
+ # @param [String] id The unique identifier for this user.
45
+ # @param [Hash] params User attributes.
46
+ # @raise [Errors::UnprocessableEntity] Raised if validations fail for the supplied attributes.
47
+ # @raise [Errors::NotFound] Raised if the user couldn't be found.
48
+ # @raise [Errors::Unauthorized] Raised if credentials aren't valid.
49
+ # @return [Hash] The updated user.
50
+ def update(id, params)
51
+ put("users/#{id}", 'user' => params)['user']
52
+ end
20
53
 
21
- def self.destroy(id)
22
- delete("users/#{id}")
54
+ # Permanently remove the specified user.
55
+ #
56
+ # DELETE /api/users/82fa8de8f09102cc
57
+ #
58
+ # @param [String] id The unique identifier for this user.
59
+ # @raise [Errors::NotFound] Raised if the user couldn't be found.
60
+ # @raise [Errors::UnprocessableEntity] Raised if validations fail for the specified user.
61
+ # @raise [Errors::Unauthorized] Raised if credentials aren't valid.
62
+ # @return [nil] Confirms the user was destroyed.
63
+ def destroy(id)
64
+ delete("users/#{id}")
65
+ end
23
66
  end
24
67
  end
25
68
  end
@@ -1,7 +1,19 @@
1
1
  module Datacentred
2
2
  module Request
3
+ # RESTful API requests for the versions endpoint.
4
+ #
5
+ # This model does not require authentication.
6
+ #
7
+ # An API version may be:
8
+ # * *CURRENT* - The latest supported version.
9
+ # * *SUPPORTED* - A supported older version.
10
+ # * *DEPRECATED* - Currently supported but soon to be retired.
3
11
  class Versions < Base
4
-
12
+ # List all available API versions
13
+ #
14
+ # GET /api
15
+ #
16
+ # @return [[Hash]] Currently available versions of the API.
5
17
  def self.list
6
18
  get("/api")['versions']
7
19
  end
@@ -1,12 +1,16 @@
1
1
  module Datacentred
2
+ # A response from the API server.
2
3
  class Response
3
-
4
4
  attr_reader :body, :status
5
5
 
6
+ # A response from the API server, initialized with A Faraday HTTP Response.
7
+ #
8
+ # @param [Faraday::Response] server_response A response object returned from Faraday.
9
+ # @raise [Errors::Error] Raised if response isn't a 2xx status code.
6
10
  def initialize(server_response)
7
11
  @body = JSON.parse server_response.body rescue nil
8
12
  @status = server_response.status
9
- Error.raise_unless_successful(status, @body)
13
+ Errors.raise_unless_successful(status, @body)
10
14
  end
11
15
  end
12
16
  end
@@ -0,0 +1,30 @@
1
+ require_relative '../test_helper'
2
+
3
+ module Datacentred
4
+ class AuthorizationIntegrationTest < Minitest::Test
5
+ def test_account_not_authorized
6
+ VCR.use_cassette "not_authorized" do
7
+ assert_raises Errors::Unauthorized do
8
+ Datacentred::Project.all
9
+ end
10
+ end
11
+ end
12
+
13
+ def test_manually_setting_credentials
14
+ Datacentred.access_key = "foo"
15
+ assert_equal "foo", Datacentred.access_key
16
+ Datacentred.secret_key = "bar"
17
+ assert_equal "bar", Datacentred.secret_key
18
+ end
19
+
20
+ def test_catch_all_error
21
+ # VCR edited to return HTTP 418
22
+ VCR.use_cassette "unexpected_error" do
23
+ error = assert_raises Datacentred::Errors::Error do
24
+ Datacentred::Project.all
25
+ end
26
+ assert_equal "Error 418: Im a teapot.", error.message
27
+ end
28
+ end
29
+ end
30
+ end
@@ -3,8 +3,8 @@ require_relative '../test_helper'
3
3
  module Datacentred
4
4
  class ProjectsIntegrationTest < Minitest::Test
5
5
  def setup
6
- @params_with_new_name = {"project" =>{"name" => "new_project_name"}}
7
- @create_params = {"project" => {"name" => "test_new_project"}}
6
+ @params_with_new_name = {name: "new_project_name"}
7
+ @create_params = {name: "test_new_project"}
8
8
  @user_id = "user_id"
9
9
  @project_id = 'project_id1'
10
10
  @project_id2 = 'project_id2'
@@ -28,7 +28,7 @@ module Datacentred
28
28
 
29
29
  def test_raises_not_found_if_project_doesnt_exist
30
30
  VCR.use_cassette('project_not_found') do
31
- assert_raises(Datacentred::NotFoundError) do
31
+ assert_raises(Datacentred::Errors::NotFound) do
32
32
  @project = Datacentred::Project.find("unknown")
33
33
  end
34
34
  end
@@ -43,7 +43,7 @@ module Datacentred
43
43
 
44
44
  def test_raises_unprocessable_entity_if_failed_validation_for_create
45
45
  VCR.use_cassette('project_create_failed_validation') do
46
- assert_raises(Datacentred::UnprocessableEntity) do
46
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
47
47
  Datacentred::Project.create(@create_params)
48
48
  end
49
49
  end
@@ -58,8 +58,8 @@ module Datacentred
58
58
 
59
59
  def test_raises_unprocessable_entity_if_failed_validation_for_update
60
60
  VCR.use_cassette('project_update_failed_validation') do
61
- @params_with_used_name = {"project" => {"name" => "foo"}}
62
- assert_raises(Datacentred::UnprocessableEntity) do
61
+ @params_with_used_name = {name: "foo"}
62
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
63
63
  @project = Datacentred::Project.update(@project_id2, @params_with_used_name)
64
64
  end
65
65
  end
@@ -67,7 +67,7 @@ module Datacentred
67
67
 
68
68
  def test_raises_not_found_if_cant_find_project_for_update
69
69
  VCR.use_cassette('project_update_not_found') do
70
- assert_raises(Datacentred::NotFoundError) do
70
+ assert_raises(Datacentred::Errors::NotFound) do
71
71
  @project = Datacentred::Project.update("unknown", @params_with_new_name)
72
72
  end
73
73
  end
@@ -75,8 +75,8 @@ module Datacentred
75
75
 
76
76
  def test_delete_project
77
77
  VCR.use_cassette('delete_project') do
78
- Datacentred::Project.remove(@project_id2)
79
- assert_raises(Datacentred::NotFoundError) do
78
+ Datacentred::Project.destroy(@project_id2)
79
+ assert_raises(Datacentred::Errors::NotFound) do
80
80
  @project = Datacentred::Project.find(@project_id2)
81
81
  end
82
82
  end
@@ -98,7 +98,7 @@ module Datacentred
98
98
  VCR.use_cassette('add_user_to_project') do
99
99
  @user_list = Datacentred::Project.users(@project_id)
100
100
  assert_equal @user_list.count, 1
101
- Datacentred::Project.add_user(@project_id, @user_id)
101
+ assert Datacentred::Project.add_user project_id: @project_id, user_id: @user_id
102
102
  @user_list = Datacentred::Project.users(@project_id)
103
103
  assert_equal @user_list.count, 2
104
104
  end
@@ -108,7 +108,7 @@ module Datacentred
108
108
  VCR.use_cassette('remove_user_from_project') do
109
109
  @user_list = Datacentred::Project.users(@project_id)
110
110
  assert_equal @user_list.count, 2
111
- Datacentred::Project.remove_user(@project_id, @user_id)
111
+ assert Datacentred::Project.remove_user project_id: @project_id, user_id: @user_id
112
112
  @user_list = Datacentred::Project.users(@project_id)
113
113
  assert_equal @user_list.count, 1
114
114
  end
@@ -3,14 +3,14 @@ require_relative '../test_helper'
3
3
  module Datacentred
4
4
  class RolesIntegrationTest < Minitest::Test
5
5
  def setup
6
- @create_params1 = {"role" => {"name" => "New Role"}}
7
- @create_params2 = {"role" => {"name" => "Historical Figures",
8
- "permissions" => ["usage.read","tickets.modify"]}}
9
- @new_permissions = {"role" => {"permissions" => ['usage.read',
10
- 'roles.modify', 'roles.read']}}
11
- @invalid_permissions = {"role" => {"name" => "Genghis Khan",
12
- "permissions" => ["fighting"]}}
13
- @update_params = {"role" => {"name" => "Administrator 2"}}
6
+ @create_params1 = {name: "New Role"}
7
+ @create_params2 = {name: "Historical Figures",
8
+ permissions: ["usage.read","tickets.modify"]}
9
+ @new_permissions = {permissions: ['usage.read',
10
+ 'roles.modify', 'roles.read']}
11
+ @invalid_permissions = {name: "Genghis Khan",
12
+ permissions: ["fighting"]}
13
+ @update_params = {name: "Administrator 2"}
14
14
  @user_id = "06eacbafda355a927f50f304db3af132"
15
15
  end
16
16
 
@@ -49,7 +49,7 @@ module Datacentred
49
49
 
50
50
  def test_create_role_with_invalid_permissions
51
51
  VCR.use_cassette('create_role_with_invalid_permissions') do
52
- assert_raises(Datacentred::UnprocessableEntity) do
52
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
53
53
  @role = Datacentred::Role.create(@invalid_permissions)
54
54
  end
55
55
  end
@@ -67,7 +67,7 @@ module Datacentred
67
67
  def test_update_role_with_invalid_permissions
68
68
  VCR.use_cassette('update_role_with_invalid_permissions') do
69
69
  @role = Datacentred::Role.create(@create_params1)
70
- assert_raises(Datacentred::UnprocessableEntity) do
70
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
71
71
  Datacentred::Role.update(@role.id, @invalid_permissions)
72
72
  end
73
73
  end
@@ -77,8 +77,8 @@ module Datacentred
77
77
  VCR.use_cassette('delete_role') do
78
78
  @role = Datacentred::Role.create(@create_params1)
79
79
  assert Datacentred::Role.find(@role.id)
80
- Datacentred::Role.delete(@role.id)
81
- assert_raises(Datacentred::NotFoundError) do
80
+ Datacentred::Role.destroy(@role.id)
81
+ assert_raises(Datacentred::Errors::NotFound) do
82
82
  @role = Datacentred::Role.find(@role.id)
83
83
  end
84
84
  end
@@ -97,7 +97,7 @@ module Datacentred
97
97
  @role = Datacentred::Role.create(@create_params1)
98
98
  @user_list = Datacentred::Role.users(@role.id)
99
99
  assert_equal @user_list.count, 0
100
- Datacentred::Role.add_user(@role.id, @user_id)
100
+ assert Datacentred::Role.add_user role_id: @role.id, user_id: @user_id
101
101
  @new_users_list = Datacentred::Role.users(@role.id)
102
102
  assert_equal @new_users_list.count, 1
103
103
  assert_equal @new_users_list.first.id, @user_id
@@ -107,10 +107,10 @@ module Datacentred
107
107
  def test_remove_user_from_role
108
108
  VCR.use_cassette('remove_user_from_role') do
109
109
  @role = Datacentred::Role.create(@create_params1)
110
- Datacentred::Role.add_user(@role.id, @user_id)
110
+ assert Datacentred::Role.add_user role_id: @role.id, user_id: @user_id
111
111
  @user_list = Datacentred::Role.users(@role.id)
112
112
  assert_equal @user_list.count, 1
113
- Datacentred::Role.remove_user(@role.id, @user_id)
113
+ assert Datacentred::Role.remove_user role_id: @role.id, user_id: @user_id
114
114
  @new_user_list = Datacentred::Role.users(@role.id)
115
115
  assert_equal @new_user_list.count, 0
116
116
  end
@@ -119,8 +119,8 @@ module Datacentred
119
119
  def test_remove_user_from_role_not_found
120
120
  VCR.use_cassette('remove_user_from_role_not_found') do
121
121
  @role = Datacentred::Role.create(@create_params1)
122
- assert_raises(Datacentred::NotFoundError) do
123
- Datacentred::Role.remove_user(@role.id, "unknown")
122
+ assert_raises(Datacentred::Errors::NotFound) do
123
+ Datacentred::Role.remove_user role_id: @role.id, user_id: "unknown"
124
124
  end
125
125
  end
126
126
  end
@@ -2,21 +2,21 @@ require_relative '../test_helper'
2
2
 
3
3
  module Datacentred
4
4
  class UsageIntegrationTest < Minitest::Test
5
-
6
5
  def test_show_usage
7
6
  VCR.use_cassette('show_usage') do
8
- @usage = Datacentred::Usage.show(2017, 07)
9
- assert @usage.is_a? Array
10
- assert @usage.first.name.is_a? String
11
- assert @usage.first.id.is_a? String
12
- assert @usage.first.usage.is_a? Hash
7
+ @usage = Datacentred::Usage.find(2017, 07)
8
+ assert @usage.last_updated_at.is_a? Time
9
+ assert @usage.projects.is_a? Array
10
+ assert @usage.projects.first.name.is_a? String
11
+ assert @usage.projects.first.id.is_a? String
12
+ assert_equal 0, @usage.projects.first.usage.ips.usage.first.value
13
13
  end
14
14
  end
15
15
 
16
16
  def test_raises_not_found_if_no_data
17
17
  VCR.use_cassette('usage_not_found') do
18
- assert_raises(Datacentred::NotFoundError) do
19
- @usage = Datacentred::Usage.show(2010, 07)
18
+ assert_raises(Datacentred::Errors::NotFound) do
19
+ @usage = Datacentred::Usage.find(2010, 07)
20
20
  end
21
21
  end
22
22
  end
@@ -2,17 +2,21 @@ require_relative '../test_helper'
2
2
 
3
3
  module Datacentred
4
4
  class UsersIntegrationTest < Minitest::Test
5
-
6
5
  def setup
7
-
8
- @create_params_without_pass = {"user" => {"email" => "death@afterlife2.com"}}
9
- @create_params = {"user" => {"email" => "death@afterlife.com",
10
- "password" => "melvin11", "first_name" => "Foo","last_name" => "Bar"}}
11
- @create_params2 = {"user" => {"email" => "death2@afterlife2.com",
12
- "password" => "melvin22"}}
6
+ @create_params_without_pass = {email: "death@afterlife2.com"}
7
+ @create_params = {
8
+ email: "death@afterlife.com",
9
+ password: "melvin11",
10
+ first_name: "Foo",
11
+ last_name: "Bar"
12
+ }
13
+ @create_params2 = {
14
+ email: "death2@afterlife2.com",
15
+ password: "melvin22"
16
+ }
13
17
  @user_id = "bda96ae2c89347d5a059d663c153ec2a"
14
- @update_params = {"user" => {"first_name" => "Foo2"}}
15
- @short_password = {"user" => {"password" => "tiny"}}
18
+ @update_params = {first_name: "Foo2"}
19
+ @short_password = {password: "tiny"}
16
20
  end
17
21
 
18
22
  def test_user_object_properties
@@ -50,7 +54,7 @@ module Datacentred
50
54
 
51
55
  def test_raises_not_found_if_cant_find_user
52
56
  VCR.use_cassette('user_show_not_found') do
53
- assert_raises(Datacentred::NotFoundError) do
57
+ assert_raises(Datacentred::Errors::NotFound) do
54
58
  @user = Datacentred::User.find("unknown")
55
59
  end
56
60
  end
@@ -68,7 +72,7 @@ module Datacentred
68
72
 
69
73
  def test_raises_unprocessable_entity_if_failed_validation_for_create
70
74
  VCR.use_cassette('user_create_failed_validation') do
71
- assert_raises(Datacentred::UnprocessableEntity) do
75
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
72
76
  @user = Datacentred::User.create(@create_params_without_pass)
73
77
  end
74
78
  end
@@ -85,7 +89,7 @@ module Datacentred
85
89
  def test_raises_unprocessable_entity_if_failed_validation_for_update
86
90
  VCR.use_cassette('user_update_failed_validation') do
87
91
  @user = Datacentred::User.create(@create_params)
88
- assert_raises(Datacentred::UnprocessableEntity) do
92
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
89
93
  @user = Datacentred::User.update(@user.id, @short_password)
90
94
  end
91
95
  end
@@ -93,7 +97,7 @@ module Datacentred
93
97
 
94
98
  def test_raises_not_found_if_user_doesnt_exist
95
99
  VCR.use_cassette('user_update_not_found') do
96
- assert_raises(Datacentred::NotFoundError) do
100
+ assert_raises(Datacentred::Errors::NotFound) do
97
101
  @user = Datacentred::User.update("unknown", @update_params)
98
102
  end
99
103
  end
@@ -102,8 +106,8 @@ module Datacentred
102
106
  def test_delete_user
103
107
  VCR.use_cassette('delete_user') do
104
108
  @user = Datacentred::User.create(@create_params)
105
- Datacentred::User.delete(@user.id)
106
- assert_raises(Datacentred::NotFoundError) do
109
+ Datacentred::User.destroy(@user.id)
110
+ assert_raises(Datacentred::Errors::NotFound) do
107
111
  @user = Datacentred::User.find(@user.id)
108
112
  end
109
113
  end
@@ -111,16 +115,16 @@ module Datacentred
111
115
 
112
116
  def test_raises_unprocessable_entity_if_failed_validation_for_delete
113
117
  VCR.use_cassette('user_delete_failed_validation') do
114
- assert_raises(Datacentred::UnprocessableEntity) do
115
- @user = Datacentred::User.delete("my_user_id")
118
+ assert_raises(Datacentred::Errors::UnprocessableEntity) do
119
+ @user = Datacentred::User.destroy("my_user_id")
116
120
  end
117
121
  end
118
122
  end
119
123
 
120
124
  def test_user_cant_be_deleted_if_not_found
121
125
  VCR.use_cassette('user_delete_not_found') do
122
- assert_raises(Datacentred::NotFoundError) do
123
- @user = Datacentred::User.delete("unknown")
126
+ assert_raises(Datacentred::Errors::NotFound) do
127
+ @user = Datacentred::User.destroy("unknown")
124
128
  end
125
129
  end
126
130
  end