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
@@ -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