code42 0.2.5 → 0.2.6

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/code42.rb +1 -0
  3. data/lib/code42/api/role.rb +30 -0
  4. data/lib/code42/api/user.rb +7 -0
  5. data/lib/code42/attribute_serializer.rb +1 -1
  6. data/lib/code42/client.rb +1 -1
  7. data/lib/code42/permission.rb +13 -0
  8. data/lib/code42/resource.rb +3 -2
  9. data/lib/code42/role.rb +8 -1
  10. data/lib/code42/role_collection.rb +4 -0
  11. data/lib/code42/user.rb +10 -0
  12. data/lib/code42/version.rb +1 -1
  13. data/spec/cassettes/Code42_Client/_create_org/returns_created_org.yml +7 -41
  14. data/spec/cassettes/Code42_Client/_create_role/creates_a_role.yml +42 -0
  15. data/spec/cassettes/Code42_Client/_create_user/returns_created_user.yml +8 -32
  16. data/spec/cassettes/Code42_Client/_create_user/when_sending_an_invalid_email/raises_an_exception.yml +8 -7
  17. data/spec/cassettes/Code42_Client/_deactivate_org/puts_to_the_correct_route.yml +6 -8
  18. data/spec/cassettes/Code42_Client/_delete_role/deletes_a_role.yml +67 -0
  19. data/spec/cassettes/Code42_Client/_find_org_by_name/returns_the_org_with_the_specified_name.yml +9 -44
  20. data/spec/cassettes/Code42_Client/_get_token/returns_valid_tokens.yml +9 -17
  21. data/spec/cassettes/Code42_Client/_get_token/when_providing_invalid_credentials/should_raise_an_exception.yml +6 -5
  22. data/spec/cassettes/Code42_Client/_org/when_ID_is_not_passed/returns_my_org.yml +7 -41
  23. data/spec/cassettes/Code42_Client/_org/when_ID_is_passed_in/returns_a_specific_org.yml +7 -41
  24. data/spec/cassettes/Code42_Client/_permissions/returns_an_enumerable_of_permissions.yml +120 -0
  25. data/spec/cassettes/Code42_Client/_ping/returns_a_ping.yml +9 -14
  26. data/spec/cassettes/Code42_Client/_reset_password/when_sending_a_user_id/as_a_string/behaves_like_reset_password/is_successful.yml +41 -3
  27. data/spec/cassettes/Code42_Client/_reset_password/when_sending_a_user_id/as_an_integer/behaves_like_reset_password/is_successful.yml +41 -3
  28. data/spec/cassettes/Code42_Client/_reset_password/when_sending_a_username/behaves_like_reset_password/is_successful.yml +41 -3
  29. data/spec/cassettes/Code42_Client/_reset_password/when_sending_a_view_url/behaves_like_reset_password/is_successful.yml +41 -3
  30. data/spec/cassettes/Code42_Client/_roles/returns_an_enumerable.yml +243 -0
  31. data/spec/cassettes/Code42_Client/_unassign_role/removes_the_role.yml +107 -0
  32. data/spec/cassettes/Code42_Client/_update_role/updates_a_role.yml +155 -0
  33. data/spec/cassettes/Code42_Client/_update_user/returns_the_updated_user.yml +14 -12
  34. data/spec/cassettes/Code42_Client/_update_user/when_sending_an_invalid_email/raises_an_exception.yml +11 -10
  35. data/spec/cassettes/Code42_Client/_user/when_ID_is_not_passed/returns_my_user.yml +7 -32
  36. data/spec/cassettes/Code42_Client/_user/when_ID_is_passed_in/returns_a_specific_user.yml +8 -32
  37. data/spec/cassettes/Code42_Client/_user/when_blocked/returns_the_blocked_status.yml +15 -39
  38. data/spec/cassettes/Code42_Client/_user/when_unblocked/returns_the_blocked_status.yml +17 -38
  39. data/spec/cassettes/Code42_Client/_user_roles/returns_an_enumerable.yml +7 -19
  40. data/spec/cassettes/Code42_Client/_validate_token/returns_a_valid_response.yml +18 -34
  41. data/spec/code42/client_spec.rb +57 -2
  42. metadata +15 -2
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://admin:admin@localhost:7280/api/user/2
5
+ uri: http://admin:admin@localhost:4280/api/user/2
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.7
11
+ - Faraday v0.9.0
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -22,42 +22,18 @@ http_interactions:
22
22
  - no-store
23
23
  Pragma:
24
24
  - no-cache
25
+ Content-Location:
26
+ - http://localhost:4280/api/v1/user/2
25
27
  Content-Type:
26
- - application/json; charset=utf-8
28
+ - application/json;charset=UTF-8
27
29
  Transfer-Encoding:
28
30
  - chunked
29
31
  Server:
30
32
  - Jetty(7.6.3.v20120416)
31
33
  body:
32
34
  encoding: UTF-8
33
- string: |-
34
- {
35
- "metadata": {
36
- "timestamp": "2013-06-13T15:16:30.098-05:00",
37
- "params": {}
38
- },
39
- "data": {
40
- "userId": 2,
41
- "userUid": "thwlhuOyiq2svbdcqfmm2demnda",
42
- "status": "Active, Blocked",
43
- "username": "account_australia",
44
- "email": "account_australia",
45
- "firstName": "account_australia",
46
- "lastName": "account_australia",
47
- "quotaInBytes": -1,
48
- "orgId": 1,
49
- "orgUid": "ADMIN",
50
- "orgName": "ADMIN",
51
- "active": true,
52
- "blocked": true,
53
- "emailPromo": false,
54
- "invited": false,
55
- "orgType": "ENTERPRISE",
56
- "usernameIsAnEmail": false,
57
- "creationDate": "2006-04-17T12:30:00.990-05:00",
58
- "modificationDate": "2013-06-13T15:14:39.525-05:00"
59
- }
60
- }
35
+ string: '{"metadata":{"timestamp":"2014-07-09T10:34:44.057-05:00","params":{}},"data":{"userId":2,"userUid":"thwlhuOyiq2svbdcqfmm2demnda","status":"Active,
36
+ Blocked","username":"account_australia","email":"account_australia","firstName":"account_australia","lastName":"account_australia","quotaInBytes":-1,"orgId":1,"orgUid":"ADMIN","orgName":"ADMIN","active":true,"blocked":true,"emailPromo":false,"invited":false,"orgType":"ENTERPRISE","usernameIsAnEmail":false,"creationDate":"2006-04-17T12:30:00.990-05:00","modificationDate":"2014-07-09T10:27:55.771-05:00","passwordReset":false}}'
61
37
  http_version:
62
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
38
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
63
39
  recorded_with: VCR 2.5.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: http://admin:admin@localhost:7280/api/UserBlock/2
5
+ uri: http://admin:admin@localhost:4280/api/UserBlock/2
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{}'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.7
11
+ - Faraday v0.9.0
12
12
  Content-Type:
13
13
  - application/json
14
14
  Accept-Encoding:
@@ -17,33 +17,33 @@ http_interactions:
17
17
  - '*/*'
18
18
  response:
19
19
  status:
20
- code: 201
21
- message: Created
20
+ code: 204
21
+ message: No Content
22
22
  headers:
23
23
  Cache-Control:
24
24
  - no-store
25
25
  Pragma:
26
26
  - no-cache
27
+ Content-Location:
28
+ - http://localhost:4280/api/v1/UserBlock/2
27
29
  Content-Type:
28
30
  - application/json
29
- Content-Length:
30
- - '0'
31
31
  Server:
32
32
  - Jetty(7.6.3.v20120416)
33
33
  body:
34
34
  encoding: UTF-8
35
35
  string: ''
36
36
  http_version:
37
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
37
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
38
38
  - request:
39
39
  method: get
40
- uri: http://admin:admin@localhost:7280/api/user/2
40
+ uri: http://admin:admin@localhost:4280/api/user/2
41
41
  body:
42
42
  encoding: US-ASCII
43
43
  string: ''
44
44
  headers:
45
45
  User-Agent:
46
- - Faraday v0.8.7
46
+ - Faraday v0.9.0
47
47
  Accept-Encoding:
48
48
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
49
49
  Accept:
@@ -57,42 +57,18 @@ http_interactions:
57
57
  - no-store
58
58
  Pragma:
59
59
  - no-cache
60
+ Content-Location:
61
+ - http://localhost:4280/api/v1/user/2
60
62
  Content-Type:
61
- - application/json; charset=utf-8
63
+ - application/json;charset=UTF-8
62
64
  Transfer-Encoding:
63
65
  - chunked
64
66
  Server:
65
67
  - Jetty(7.6.3.v20120416)
66
68
  body:
67
69
  encoding: UTF-8
68
- string: |-
69
- {
70
- "metadata": {
71
- "timestamp": "2013-06-13T15:16:30.243-05:00",
72
- "params": {}
73
- },
74
- "data": {
75
- "userId": 2,
76
- "userUid": "thwlhuOyiq2svbdcqfmm2demnda",
77
- "status": "Active, Blocked",
78
- "username": "account_australia",
79
- "email": "account_australia",
80
- "firstName": "account_australia",
81
- "lastName": "account_australia",
82
- "quotaInBytes": -1,
83
- "orgId": 1,
84
- "orgUid": "ADMIN",
85
- "orgName": "ADMIN",
86
- "active": true,
87
- "blocked": true,
88
- "emailPromo": false,
89
- "invited": false,
90
- "orgType": "ENTERPRISE",
91
- "usernameIsAnEmail": false,
92
- "creationDate": "2006-04-17T12:30:00.990-05:00",
93
- "modificationDate": "2013-06-13T15:16:30.212-05:00"
94
- }
95
- }
70
+ string: '{"metadata":{"timestamp":"2014-07-09T10:34:44.124-05:00","params":{}},"data":{"userId":2,"userUid":"thwlhuOyiq2svbdcqfmm2demnda","status":"Active,
71
+ Blocked","username":"account_australia","email":"account_australia","firstName":"account_australia","lastName":"account_australia","quotaInBytes":-1,"orgId":1,"orgUid":"ADMIN","orgName":"ADMIN","active":true,"blocked":true,"emailPromo":false,"invited":false,"orgType":"ENTERPRISE","usernameIsAnEmail":false,"creationDate":"2006-04-17T12:30:00.990-05:00","modificationDate":"2014-07-09T10:27:55.771-05:00","passwordReset":false}}'
96
72
  http_version:
97
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
73
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
98
74
  recorded_with: VCR 2.5.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: http://admin:admin@localhost:7280/api/UserBlock/2
5
+ uri: http://admin:admin@localhost:4280/api/UserBlock/2
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{}'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.7
11
+ - Faraday v0.9.0
12
12
  Content-Type:
13
13
  - application/json
14
14
  Accept-Encoding:
@@ -24,6 +24,8 @@ http_interactions:
24
24
  - no-store
25
25
  Pragma:
26
26
  - no-cache
27
+ Content-Location:
28
+ - http://localhost:4280/api/v1/UserBlock/2
27
29
  Content-Type:
28
30
  - application/json
29
31
  Server:
@@ -32,16 +34,16 @@ http_interactions:
32
34
  encoding: UTF-8
33
35
  string: ''
34
36
  http_version:
35
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
37
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
36
38
  - request:
37
39
  method: delete
38
- uri: http://admin:admin@localhost:7280/api/UserBlock/2
40
+ uri: http://admin:admin@localhost:4280/api/UserBlock/2
39
41
  body:
40
42
  encoding: US-ASCII
41
43
  string: ''
42
44
  headers:
43
45
  User-Agent:
44
- - Faraday v0.8.7
46
+ - Faraday v0.9.0
45
47
  Accept-Encoding:
46
48
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
47
49
  Accept:
@@ -55,6 +57,8 @@ http_interactions:
55
57
  - no-store
56
58
  Pragma:
57
59
  - no-cache
60
+ Content-Location:
61
+ - http://localhost:4280/api/v1/UserBlock/2
58
62
  Content-Type:
59
63
  - application/json
60
64
  Server:
@@ -63,16 +67,16 @@ http_interactions:
63
67
  encoding: UTF-8
64
68
  string: ''
65
69
  http_version:
66
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
70
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
67
71
  - request:
68
72
  method: get
69
- uri: http://admin:admin@localhost:7280/api/user/2
73
+ uri: http://admin:admin@localhost:4280/api/user/2
70
74
  body:
71
75
  encoding: US-ASCII
72
76
  string: ''
73
77
  headers:
74
78
  User-Agent:
75
- - Faraday v0.8.7
79
+ - Faraday v0.9.0
76
80
  Accept-Encoding:
77
81
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
78
82
  Accept:
@@ -86,42 +90,17 @@ http_interactions:
86
90
  - no-store
87
91
  Pragma:
88
92
  - no-cache
93
+ Content-Location:
94
+ - http://localhost:4280/api/v1/user/2
89
95
  Content-Type:
90
- - application/json; charset=utf-8
96
+ - application/json;charset=UTF-8
91
97
  Transfer-Encoding:
92
98
  - chunked
93
99
  Server:
94
100
  - Jetty(7.6.3.v20120416)
95
101
  body:
96
102
  encoding: UTF-8
97
- string: |-
98
- {
99
- "metadata": {
100
- "timestamp": "2013-06-13T15:16:30.180-05:00",
101
- "params": {}
102
- },
103
- "data": {
104
- "userId": 2,
105
- "userUid": "thwlhuOyiq2svbdcqfmm2demnda",
106
- "status": "Active",
107
- "username": "account_australia",
108
- "email": "account_australia",
109
- "firstName": "account_australia",
110
- "lastName": "account_australia",
111
- "quotaInBytes": -1,
112
- "orgId": 1,
113
- "orgUid": "ADMIN",
114
- "orgName": "ADMIN",
115
- "active": true,
116
- "blocked": false,
117
- "emailPromo": false,
118
- "invited": false,
119
- "orgType": "ENTERPRISE",
120
- "usernameIsAnEmail": false,
121
- "creationDate": "2006-04-17T12:30:00.990-05:00",
122
- "modificationDate": "2013-06-13T15:16:30.146-05:00"
123
- }
124
- }
103
+ string: '{"metadata":{"timestamp":"2014-07-09T10:34:44.244-05:00","params":{}},"data":{"userId":2,"userUid":"thwlhuOyiq2svbdcqfmm2demnda","status":"Active","username":"account_australia","email":"account_australia","firstName":"account_australia","lastName":"account_australia","quotaInBytes":-1,"orgId":1,"orgUid":"ADMIN","orgName":"ADMIN","active":true,"blocked":false,"emailPromo":false,"invited":false,"orgType":"ENTERPRISE","usernameIsAnEmail":false,"creationDate":"2006-04-17T12:30:00.990-05:00","modificationDate":"2014-07-09T10:34:44.196-05:00","passwordReset":false}}'
125
104
  http_version:
126
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
105
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
127
106
  recorded_with: VCR 2.5.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://admin:admin@localhost:7280/api/userRole/my
5
+ uri: http://admin:admin@localhost:4280/api/userRole/my
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.7
11
+ - Faraday v0.9.0
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -22,29 +22,17 @@ http_interactions:
22
22
  - no-store
23
23
  Pragma:
24
24
  - no-cache
25
+ Content-Location:
26
+ - http://localhost:4280/api/v1/userRole/my
25
27
  Content-Type:
26
- - application/json; charset=utf-8
28
+ - application/json;charset=UTF-8
27
29
  Transfer-Encoding:
28
30
  - chunked
29
31
  Server:
30
32
  - Jetty(7.6.3.v20120416)
31
33
  body:
32
34
  encoding: UTF-8
33
- string: |-
34
- {
35
- "metadata": {
36
- "timestamp": "2013-06-13T15:16:30.345-05:00",
37
- "params": {}
38
- },
39
- "data": [ {
40
- "roleId": 1,
41
- "roleName": "SYSADMIN",
42
- "locked": true,
43
- "creationDate": "2006-04-17T12:30:00.987-05:00",
44
- "modificationDate": "2013-06-13T15:13:53.293-05:00",
45
- "permissions": [{"permission": "admin"}]
46
- }]
47
- }
35
+ string: '{"metadata":{"timestamp":"2014-07-09T10:34:44.647-05:00","params":{}},"data":[{"roleId":1,"roleName":"SYSADMIN","locked":true,"creationDate":"2006-04-17T12:30:00.987-05:00","modificationDate":"2014-07-08T10:58:40.634-05:00","permissions":[{"permission":"admin"}]}]}'
48
36
  http_version:
49
- recorded_at: Thu, 13 Jun 2013 20:16:30 GMT
37
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
50
38
  recorded_with: VCR 2.5.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://admin:admin@localhost:7280/api/authToken
5
+ uri: http://admin:admin@localhost:4280/api/authToken
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{}'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.7
11
+ - Faraday v0.9.0
12
12
  Content-Type:
13
13
  - application/json
14
14
  Accept-Encoding:
@@ -24,36 +24,28 @@ http_interactions:
24
24
  - no-store
25
25
  Pragma:
26
26
  - no-cache
27
+ Content-Location:
28
+ - http://localhost:4280/api/v1/authToken
27
29
  Content-Type:
28
- - application/json; charset=utf-8
29
- Transfer-Encoding:
30
- - chunked
30
+ - application/json;charset=UTF-8
31
+ Content-Length:
32
+ - '137'
31
33
  Server:
32
34
  - Jetty(7.6.3.v20120416)
33
35
  body:
34
36
  encoding: UTF-8
35
- string: |-
36
- {
37
- "metadata": {
38
- "timestamp": "2013-06-13T15:16:29.726-05:00",
39
- "params": {}
40
- },
41
- "data": [
42
- "134jrkicsh5pv05bhldt7otnjn",
43
- "1lmn47hi5a0wt065xjlz15cabl"
44
- ]
45
- }
37
+ string: '{"metadata":{"timestamp":"2014-07-09T10:34:44.894-05:00","params":{}},"data":["1f2qhb8wgaesg1ksavy8ozrz6y","19sno55kj34kn159pxfatjbhku"]}'
46
38
  http_version:
47
- recorded_at: Thu, 13 Jun 2013 20:16:29 GMT
39
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
48
40
  - request:
49
41
  method: get
50
- uri: http://admin:admin@localhost:7280/api/authToken/134jrkicsh5pv05bhldt7otnjn-1lmn47hi5a0wt065xjlz15cabl
42
+ uri: http://admin:admin@localhost:4280/api/authToken/1f2qhb8wgaesg1ksavy8ozrz6y-19sno55kj34kn159pxfatjbhku
51
43
  body:
52
44
  encoding: US-ASCII
53
45
  string: ''
54
46
  headers:
55
47
  User-Agent:
56
- - Faraday v0.8.7
48
+ - Faraday v0.9.0
57
49
  Accept-Encoding:
58
50
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
59
51
  Accept:
@@ -67,25 +59,17 @@ http_interactions:
67
59
  - no-store
68
60
  Pragma:
69
61
  - no-cache
62
+ Content-Location:
63
+ - http://localhost:4280/api/v1/authToken/1f2qhb8wgaesg1ksavy8ozrz6y-19sno55kj34kn159pxfatjbhku
70
64
  Content-Type:
71
- - application/json; charset=utf-8
72
- Transfer-Encoding:
73
- - chunked
65
+ - application/json;charset=UTF-8
66
+ Content-Length:
67
+ - '111'
74
68
  Server:
75
69
  - Jetty(7.6.3.v20120416)
76
70
  body:
77
71
  encoding: UTF-8
78
- string: |-
79
- {
80
- "metadata": {
81
- "timestamp": "2013-06-13T15:16:29.741-05:00",
82
- "params": {}
83
- },
84
- "data": {
85
- "valid": true,
86
- "username": "admin"
87
- }
88
- }
72
+ string: '{"metadata":{"timestamp":"2014-07-09T10:34:44.908-05:00","params":{}},"data":{"valid":true,"username":"admin"}}'
89
73
  http_version:
90
- recorded_at: Thu, 13 Jun 2013 20:16:29 GMT
74
+ recorded_at: Wed, 09 Jul 2014 15:34:44 GMT
91
75
  recorded_with: VCR 2.5.0
@@ -1,10 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Code42::Client, :vcr do
4
+
4
5
  subject(:client) do
5
6
  Code42::Client.new(
6
7
  host: 'localhost',
7
- port: 7280,
8
+ port: 4280,
8
9
  https: false,
9
10
  api_root: '/api',
10
11
  username: 'admin',
@@ -27,6 +28,60 @@ describe Code42::Client, :vcr do
27
28
  end
28
29
  end
29
30
 
31
+ describe "#unassign_role" do
32
+
33
+ let(:user_id) { 4 }
34
+ let(:role_name) { 'PROe User' }
35
+
36
+ it "removes the role" do
37
+ current_roles = client.user_roles user_id
38
+ current_role_names = current_roles.map(&:name)
39
+
40
+ expect(current_role_names.include? role_name).to be_true
41
+
42
+ client.unassign_role(user_id, role_name)
43
+ expect(client.last_response.status).to eq 204
44
+
45
+ actual_roles = client.user_roles user_id
46
+ expect(actual_roles).to be_empty
47
+ end
48
+ end
49
+
50
+ describe "#permissions" do
51
+ it "returns an enumerable of permissions" do
52
+ permissions = client.permissions
53
+ permissions.should respond_to(:each)
54
+ expect(permissions.first).to be_a Code42::Permission
55
+ end
56
+ end
57
+
58
+ describe "#roles" do
59
+ it "returns an enumerable" do
60
+ roles = client.roles
61
+ roles.should respond_to(:each)
62
+ end
63
+ end
64
+
65
+ describe "#create_role" do
66
+ it 'creates a role' do
67
+ role = client.create_role('My Role', ['admin.user.read'])
68
+ role.name.should == 'My Role'
69
+ end
70
+ end
71
+
72
+ describe "#delete_role" do
73
+ it "deletes a role" do
74
+ client.delete_role(62)
75
+ end
76
+ end
77
+
78
+ describe "#update_role" do
79
+ it "updates a role" do
80
+ role = client.update_role(63, name: 'New name')
81
+ role.name.should == 'New name'
82
+ end
83
+ end
84
+
30
85
  describe "#get_token" do
31
86
  it "returns valid tokens" do
32
87
  auth = client.get_token
@@ -74,7 +129,7 @@ describe Code42::Client, :vcr do
74
129
  it "returns created user" do
75
130
  user = client.create_user(user_attributes)
76
131
  user.username.should eq 'testuser'
77
- user.id.should eq 3
132
+ user.id.should eq 38
78
133
  end
79
134
 
80
135
  context "when sending an invalid email" do