stormpath-sdk 1.3.0 → 1.3.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.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/.travis.yml +0 -3
- data/CHANGES.md +9 -0
- data/README.md +8 -21
- data/Rakefile +1 -15
- data/lib/stormpath-sdk/oauth/error.rb +21 -0
- data/lib/stormpath-sdk/oauth/local_access_token_verification.rb +2 -2
- data/lib/stormpath-sdk/oauth/remote_access_token_verification.rb +2 -2
- data/lib/stormpath-sdk/version.rb +2 -2
- data/spec/auth/http_basic_authentication_spec.rb +6 -21
- data/spec/auth/http_bearer_authentication_spec.rb +11 -24
- data/spec/client_spec.rb +116 -258
- data/spec/oauth/access_token_authentication_result_spec.rb +14 -14
- data/spec/provider/provider_spec.rb +32 -40
- data/spec/resource/account_creation_policy_spec.rb +8 -13
- data/spec/resource/account_link_spec.rb +4 -17
- data/spec/resource/account_spec.rb +37 -81
- data/spec/resource/account_store_mapping_spec.rb +20 -32
- data/spec/resource/account_store_spec.rb +8 -31
- data/spec/resource/api_key_spec.rb +11 -14
- data/spec/resource/application_spec.rb +39 -168
- data/spec/resource/collection_spec.rb +17 -17
- data/spec/resource/custom_data_spec.rb +2 -2
- data/spec/resource/directory_spec.rb +164 -240
- data/spec/resource/email_template_spec.rb +21 -24
- data/spec/resource/group_membership_spec.rb +9 -12
- data/spec/resource/group_spec.rb +17 -31
- data/spec/resource/linked_account_spec.rb +4 -17
- data/spec/resource/organization_spec.rb +38 -110
- data/spec/resource/password_policy_spec.rb +13 -16
- data/spec/resource/password_strength_spec.rb +15 -18
- data/spec/resource/status_spec.rb +32 -35
- data/spec/spec_helper.rb +8 -139
- data/spec/support/api_key_helpers.rb +34 -0
- data/spec/support/custom_data_storage_behavior.rb +139 -156
- data/spec/support/env_names_warning.rb +59 -0
- data/spec/support/resource_helpers.rb +84 -0
- data/spec/support/resource_matchers.rb +6 -0
- data/stormpath-sdk.gemspec +1 -0
- metadata +20 -3
- data/support/api.rb +0 -55
@@ -1,22 +1,22 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Stormpath::Oauth::AccessTokenAuthenticationResult, :vcr do
|
4
|
-
let(:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
let(:
|
11
|
-
|
12
|
-
let(:password_grant_request) { Stormpath::Oauth::PasswordGrantRequest.new(email, password) }
|
13
|
-
|
14
|
-
let(:jwt_authentication_result) do
|
15
|
-
test_application.authenticate_oauth(password_grant_request)
|
4
|
+
let(:application) { test_api_client.applications.create(build_application) }
|
5
|
+
let(:directory) { test_api_client.directories.create(build_directory) }
|
6
|
+
before { map_account_store(application, directory, 1, true, false) }
|
7
|
+
let!(:account) do
|
8
|
+
application.accounts.create(build_account(email: 'ruby25', password: 'P@$$w0rd'))
|
9
|
+
end
|
10
|
+
let(:password_grant_request) do
|
11
|
+
Stormpath::Oauth::PasswordGrantRequest.new("ruby25#{default_domain}", 'P@$$w0rd')
|
16
12
|
end
|
13
|
+
let(:jwt_authentication_result) { application.authenticate_oauth(password_grant_request) }
|
17
14
|
|
18
|
-
|
19
|
-
|
15
|
+
after do
|
16
|
+
application.delete
|
17
|
+
directory.delete
|
18
|
+
account.delete
|
19
|
+
end
|
20
20
|
|
21
21
|
it 'instances should expose a method to get an account' do
|
22
22
|
expect(jwt_authentication_result.account).to eq(account)
|
@@ -1,22 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Stormpath::Provider::Provider, :vcr do
|
4
|
-
|
5
|
-
let(:application)
|
6
|
-
|
7
|
-
description: 'Test Provider Application for AccountStoreMappings'
|
8
|
-
end
|
9
|
-
|
10
|
-
let(:account_store_mapping) do
|
11
|
-
test_api_client.account_store_mappings.create application: application, account_store: directory
|
12
|
-
end
|
13
|
-
|
14
|
-
let(:directory) do
|
15
|
-
test_api_client.directories.create directory_hash
|
16
|
-
end
|
4
|
+
let(:application) { test_api_client.applications.create(build_application) }
|
5
|
+
let(:account_store_mapping) { map_account_store(application, directory, 0, false, false) }
|
6
|
+
let(:directory) { test_api_client.directories.create(directory_hash) }
|
17
7
|
|
18
8
|
let(:directory_hash) do
|
19
|
-
|
9
|
+
{}.tap do |hash|
|
20
10
|
hash[:name] = name
|
21
11
|
hash[:description] = description
|
22
12
|
hash[:provider] = provider_info if defined? provider_info
|
@@ -35,7 +25,7 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
35
25
|
shared_examples 'a provider directory' do
|
36
26
|
it { should be_kind_of Stormpath::Provider::Provider }
|
37
27
|
|
38
|
-
it
|
28
|
+
it 'assign provider directory to an application' do
|
39
29
|
expect(application.account_store_mappings.count).to eq(0)
|
40
30
|
expect(account_store_mapping.application).to eq(application)
|
41
31
|
expect(account_store_mapping.account_store).to eq(directory)
|
@@ -46,17 +36,17 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
46
36
|
expect(provider.provider_id).to eq(provider_id)
|
47
37
|
expect(provider.created_at).to be
|
48
38
|
expect(provider.modified_at).to be
|
49
|
-
expect(provider.href).to eq(directory.href +
|
39
|
+
expect(provider.href).to eq(directory.href + '/provider')
|
50
40
|
|
51
41
|
provider_clazz = "Stormpath::Provider::#{provider_id.capitalize}Provider".constantize
|
52
42
|
expect(provider).to be_instance_of(provider_clazz)
|
53
43
|
|
54
|
-
if provider_id ==
|
44
|
+
if provider_id == 'google' || provider_id == 'facebook'
|
55
45
|
expect(provider.client_id).to eq(client_id)
|
56
46
|
expect(provider.client_secret).to eq(client_secret)
|
57
47
|
end
|
58
48
|
|
59
|
-
if provider_id ==
|
49
|
+
if provider_id == 'google'
|
60
50
|
expect(provider.redirect_uri).to eq(redirect_uri)
|
61
51
|
end
|
62
52
|
end
|
@@ -66,15 +56,17 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
66
56
|
it 'should be able to store provider accounts' do
|
67
57
|
account_store_mapping
|
68
58
|
|
69
|
-
access_token =
|
59
|
+
access_token = 'xyz'
|
70
60
|
request = Stormpath::Provider::AccountRequest.new(provider_id, :access_token, access_token)
|
71
61
|
|
72
|
-
stub_request(:post, application.href +
|
62
|
+
stub_request(:post, application.href + '/accounts')
|
63
|
+
.to_return(body: Stormpath::Test.mocked_account(provider_id), status: 201)
|
73
64
|
result = application.get_provider_account(request)
|
74
65
|
expect(result.is_new_account?).to be
|
75
66
|
expect(result.account).to be_kind_of(Stormpath::Resource::Account)
|
76
67
|
|
77
|
-
stub_request(:get, result.account.href +
|
68
|
+
stub_request(:get, result.account.href + '/providerData')
|
69
|
+
.to_return(body: Stormpath::Test.mocked_provider_data(provider_id))
|
78
70
|
|
79
71
|
expect(result.account.provider_data).to be_kind_of(Stormpath::Provider::ProviderData)
|
80
72
|
provider_data_clazz = "Stormpath::Provider::#{provider_id.capitalize}ProviderData".constantize
|
@@ -89,27 +81,22 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
89
81
|
expect(result.account.provider_data.refresh_token).to be
|
90
82
|
end
|
91
83
|
|
92
|
-
stub_request(:post, application.href +
|
84
|
+
stub_request(:post, application.href + '/accounts')
|
85
|
+
.to_return(body: Stormpath::Test.mocked_account(provider_id), status: 200)
|
93
86
|
new_result = application.get_provider_account(request)
|
94
87
|
expect(new_result.is_new_account).not_to be
|
95
88
|
end
|
96
89
|
end
|
97
90
|
|
98
91
|
describe 'create stormpath directory with empty provider credentials' do
|
99
|
-
let(:name) {
|
92
|
+
let(:name) { 'Stormpath' }
|
100
93
|
let(:description) { 'Directory for testing Stormpath directories.' }
|
101
|
-
let(:provider_id) {
|
94
|
+
let(:provider_id) { 'stormpath' }
|
102
95
|
|
103
96
|
it_behaves_like 'a provider directory'
|
104
97
|
|
105
98
|
it 'should be able to retrieve provider data from a regular account' do
|
106
|
-
account = directory.accounts.create(
|
107
|
-
given_name: 'John',
|
108
|
-
surname: 'Smith',
|
109
|
-
email: 'john.smith@example.com',
|
110
|
-
username: 'johnsmith',
|
111
|
-
password: '4P@$$w0rd!'
|
112
|
-
})
|
99
|
+
account = directory.accounts.create(build_account)
|
113
100
|
|
114
101
|
expect(account.provider_data).to be_kind_of(Stormpath::Provider::ProviderData)
|
115
102
|
expect(account.provider_data.provider_id).to eq(provider_id)
|
@@ -120,10 +107,10 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
120
107
|
end
|
121
108
|
|
122
109
|
describe 'create facebook directory with provider credentials' do
|
123
|
-
let(:name) {
|
110
|
+
let(:name) { 'Facebook' }
|
124
111
|
let(:description) { 'Directory for testing Facebook directories.' }
|
125
112
|
|
126
|
-
let(:provider_id) {
|
113
|
+
let(:provider_id) { 'facebook' }
|
127
114
|
let(:client_id) { 'FACEBOOK_APP_ID' }
|
128
115
|
let(:client_secret) { 'FACEBOOK_APP_SECRET' }
|
129
116
|
let(:provider_info) do
|
@@ -135,15 +122,20 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
135
122
|
end
|
136
123
|
|
137
124
|
describe 'create google directory with provider credentials' do
|
138
|
-
let(:name) {
|
125
|
+
let(:name) { 'Google' }
|
139
126
|
let(:description) { 'Directory for testing Google directories.' }
|
140
127
|
|
141
|
-
let(:provider_id) {
|
128
|
+
let(:provider_id) { 'google' }
|
142
129
|
let(:client_id) { 'GOOGLE_CLIENT_ID' }
|
143
130
|
let(:client_secret) { 'GOOGLE_CLIENT_SECRET' }
|
144
131
|
let(:redirect_uri) { 'GOOGLE_REDIRECT_URI' }
|
145
132
|
let(:provider_info) do
|
146
|
-
{
|
133
|
+
{
|
134
|
+
provider_id: provider_id,
|
135
|
+
client_id: client_id,
|
136
|
+
client_secret: client_secret,
|
137
|
+
redirect_uri: redirect_uri
|
138
|
+
}
|
147
139
|
end
|
148
140
|
|
149
141
|
it_behaves_like 'a provider directory'
|
@@ -151,10 +143,10 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
151
143
|
end
|
152
144
|
|
153
145
|
describe 'create linkedin directory with provider credentials' do
|
154
|
-
let(:name) {
|
146
|
+
let(:name) { 'Linkedin' }
|
155
147
|
let(:description) { 'Directory for testing Linkedin directories.' }
|
156
148
|
|
157
|
-
let(:provider_id) {
|
149
|
+
let(:provider_id) { 'linkedin' }
|
158
150
|
let(:client_id) { 'LINKEDIN_APP_ID' }
|
159
151
|
let(:client_secret) { 'LINKEDIN_APP_SECRET' }
|
160
152
|
let(:provider_info) do
|
@@ -166,10 +158,10 @@ describe Stormpath::Provider::Provider, :vcr do
|
|
166
158
|
end
|
167
159
|
|
168
160
|
describe 'create github directory with provider credentials' do
|
169
|
-
let(:name) {
|
161
|
+
let(:name) { 'Github' }
|
170
162
|
let(:description) { 'Directory for testing Github directories.' }
|
171
163
|
|
172
|
-
let(:provider_id) {
|
164
|
+
let(:provider_id) { 'github' }
|
173
165
|
let(:client_id) { 'GITHUB_APP_ID' }
|
174
166
|
let(:client_secret) { 'GITHUB_APP_SECRET' }
|
175
167
|
let(:provider_info) do
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Stormpath::Resource::AccountCreationPolicy, :vcr do
|
4
4
|
describe 'instances should respond to attribute property methods' do
|
5
|
-
let(:application) {
|
6
|
-
let(:directory) { test_api_client.directories.create(
|
5
|
+
let(:application) { test_api_client.applications.create(build_application) }
|
6
|
+
let(:directory) { test_api_client.directories.create(build_directory) }
|
7
7
|
let(:account_creation_policy) { directory.account_creation_policy }
|
8
8
|
let(:create_valid_account) do
|
9
9
|
directory.accounts.create(
|
@@ -24,17 +24,12 @@ describe Stormpath::Resource::AccountCreationPolicy, :vcr do
|
|
24
24
|
)
|
25
25
|
end
|
26
26
|
|
27
|
-
before
|
28
|
-
test_api_client.account_store_mappings.create(
|
29
|
-
application: application,
|
30
|
-
account_store: directory,
|
31
|
-
list_index: 1,
|
32
|
-
is_default_account_store: false,
|
33
|
-
is_default_group_store: false
|
34
|
-
)
|
35
|
-
end
|
27
|
+
before { map_account_store(application, directory, 1, false, false) }
|
36
28
|
|
37
|
-
after
|
29
|
+
after do
|
30
|
+
application.delete
|
31
|
+
directory.delete
|
32
|
+
end
|
38
33
|
|
39
34
|
it do
|
40
35
|
expect(account_creation_policy).to be_a Stormpath::Resource::AccountCreationPolicy
|
@@ -155,7 +150,7 @@ describe Stormpath::Resource::AccountCreationPolicy, :vcr do
|
|
155
150
|
account_creation_policy.save
|
156
151
|
|
157
152
|
expect do
|
158
|
-
|
153
|
+
directory.accounts.create(
|
159
154
|
username: 'cilim',
|
160
155
|
email: 'cilim@spam.com',
|
161
156
|
given_name: 'Marko',
|
@@ -12,28 +12,15 @@ describe Stormpath::Resource::AccountLink, :vcr do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
before do
|
15
|
-
|
16
|
-
|
17
|
-
account_store: directory1,
|
18
|
-
list_index: 1,
|
19
|
-
is_default_account_store: true,
|
20
|
-
is_default_group_store: false
|
21
|
-
)
|
22
|
-
|
23
|
-
test_api_client.account_store_mappings.create(
|
24
|
-
application: application,
|
25
|
-
account_store: directory2,
|
26
|
-
list_index: 2,
|
27
|
-
is_default_account_store: false,
|
28
|
-
is_default_group_store: false
|
29
|
-
)
|
15
|
+
map_account_store(application, directory1, 1, true, false)
|
16
|
+
map_account_store(application, directory2, 2, false, false)
|
30
17
|
end
|
31
18
|
|
32
19
|
let!(:account1) do
|
33
|
-
directory1.accounts.create(build_account(email: 'jekyll
|
20
|
+
directory1.accounts.create(build_account(email: 'jekyll', username: 'jekyll'))
|
34
21
|
end
|
35
22
|
let!(:account2) do
|
36
|
-
directory2.accounts.create(build_account(email: 'hyde
|
23
|
+
directory2.accounts.create(build_account(email: 'hyde', username: 'hyde'))
|
37
24
|
end
|
38
25
|
|
39
26
|
let!(:account_link) do
|
@@ -1,42 +1,36 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Stormpath::Resource::Account, :vcr do
|
4
|
-
|
5
|
-
|
6
|
-
let(:directory) { test_api_client.directories.create name: random_directory_name }
|
7
|
-
let(:given_name) { 'Ruby SDK' }
|
8
|
-
let(:middle_name) { 'Gruby' }
|
9
|
-
let(:surname) { 'SDK' }
|
4
|
+
describe 'instances should respond to attribute property methods' do
|
5
|
+
let(:directory) { test_api_client.directories.create(build_directory) }
|
10
6
|
let(:account) do
|
11
|
-
directory.accounts.create
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
surname: surname,
|
16
|
-
username: 'rubysdk'
|
7
|
+
directory.accounts.create(build_account(email: 'ruby',
|
8
|
+
given_name: 'ruby',
|
9
|
+
surname: 'ruby',
|
10
|
+
middle_name: 'ruby'))
|
17
11
|
end
|
18
12
|
|
19
13
|
after do
|
20
|
-
account.delete
|
21
|
-
directory.delete
|
14
|
+
account.delete
|
15
|
+
directory.delete
|
22
16
|
end
|
23
17
|
|
24
18
|
it do
|
25
19
|
[:given_name, :username, :middle_name, :surname, :email, :status].each do |property_accessor|
|
26
20
|
expect(account).to respond_to(property_accessor)
|
27
21
|
expect(account).to respond_to("#{property_accessor}=")
|
28
|
-
expect(account.send
|
22
|
+
expect(account.send(property_accessor)).to be_a String
|
29
23
|
end
|
30
24
|
|
31
25
|
[:created_at, :modified_at, :password_modified_at].each do |property_getter|
|
32
26
|
expect(account).to respond_to(property_getter)
|
33
|
-
expect(account.send
|
27
|
+
expect(account.send(property_getter)).to be_a String
|
34
28
|
end
|
35
29
|
|
36
30
|
expect(account).to respond_to(:full_name)
|
37
31
|
expect(account.full_name).to be_a String
|
38
|
-
expect(account.full_name).to eq(
|
39
|
-
expect(account).to respond_to(
|
32
|
+
expect(account.full_name).to eq('ruby ruby ruby')
|
33
|
+
expect(account).to respond_to('password=')
|
40
34
|
|
41
35
|
expect(account.tenant).to be_a Stormpath::Resource::Tenant
|
42
36
|
expect(account.directory).to be_a Stormpath::Resource::Directory
|
@@ -49,22 +43,10 @@ describe Stormpath::Resource::Account, :vcr do
|
|
49
43
|
end
|
50
44
|
|
51
45
|
describe 'account_associations' do
|
52
|
-
let(:
|
53
|
-
let(:
|
54
|
-
let(:
|
55
|
-
|
56
|
-
before do
|
57
|
-
test_api_client.account_store_mappings.create({ application: app, account_store: directory,
|
58
|
-
list_index: 1, is_default_account_store: true, is_default_group_store: true })
|
59
|
-
end
|
60
|
-
|
61
|
-
let(:account) do
|
62
|
-
directory.accounts.create email: 'test@example.com',
|
63
|
-
givenName: 'Ruby SDK',
|
64
|
-
password: 'P@$$w0rd',
|
65
|
-
surname: 'SDK',
|
66
|
-
username: 'rubysdk'
|
67
|
-
end
|
46
|
+
let(:application) { test_api_client.applications.create(build_application) }
|
47
|
+
let(:directory) { test_api_client.directories.create(build_directory) }
|
48
|
+
let(:account) { directory.accounts.create(build_account) }
|
49
|
+
before { map_account_store(application, directory, 1, true, true) }
|
68
50
|
|
69
51
|
it 'should belong_to directory' do
|
70
52
|
expect(account.directory).to eq(directory)
|
@@ -80,32 +62,15 @@ describe Stormpath::Resource::Account, :vcr do
|
|
80
62
|
end
|
81
63
|
|
82
64
|
describe 'linked accounts' do
|
83
|
-
let(:directory2) { test_api_client.directories.create
|
65
|
+
let(:directory2) { test_api_client.directories.create(build_directory) }
|
84
66
|
before do
|
85
|
-
|
86
|
-
application: app,
|
87
|
-
account_store: directory2,
|
88
|
-
list_index: 2,
|
89
|
-
is_default_account_store: false,
|
90
|
-
is_default_group_store: false
|
91
|
-
)
|
67
|
+
map_account_store(application, directory2, 2, false, false)
|
92
68
|
account
|
93
69
|
end
|
94
70
|
|
95
|
-
after
|
96
|
-
directory2.delete
|
97
|
-
end
|
98
|
-
|
99
|
-
let!(:account2) do
|
100
|
-
directory2.accounts.create(
|
101
|
-
email: 'test2@example.com',
|
102
|
-
givenName: 'Ruby SDK',
|
103
|
-
password: 'P@$$w0rd',
|
104
|
-
surname: 'SDK',
|
105
|
-
username: 'rubysdk2'
|
106
|
-
)
|
107
|
-
end
|
71
|
+
after { directory2.delete }
|
108
72
|
|
73
|
+
let!(:account2) { directory2.accounts.create(build_account) }
|
109
74
|
let!(:link_accounts) do
|
110
75
|
test_api_client.account_links.create(
|
111
76
|
left_account: {
|
@@ -130,20 +95,17 @@ describe Stormpath::Resource::Account, :vcr do
|
|
130
95
|
end
|
131
96
|
end
|
132
97
|
|
133
|
-
describe
|
134
|
-
context
|
135
|
-
let(:directory) { test_api_client.directories.create
|
136
|
-
|
137
|
-
let(:
|
138
|
-
|
139
|
-
let(:account) { directory.accounts.create({ email: 'rubysdk@example.com', given_name: 'Ruby SDK', password: 'P@$$w0rd', surname: 'SDK' }) }
|
140
|
-
|
141
|
-
before { account.add_group group }
|
98
|
+
describe '#add_or_remove_group' do
|
99
|
+
context 'given a group' do
|
100
|
+
let(:directory) { test_api_client.directories.create(build_directory) }
|
101
|
+
let(:group) { directory.groups.create(build_group) }
|
102
|
+
let(:account) { directory.accounts.create(build_account) }
|
103
|
+
before { account.add_group(group) }
|
142
104
|
|
143
105
|
after do
|
144
|
-
account.delete
|
145
|
-
group.delete
|
146
|
-
directory.delete
|
106
|
+
account.delete
|
107
|
+
group.delete
|
108
|
+
directory.delete
|
147
109
|
end
|
148
110
|
|
149
111
|
it 'adds the group to the account' do
|
@@ -161,31 +123,26 @@ describe Stormpath::Resource::Account, :vcr do
|
|
161
123
|
|
162
124
|
expect(account.groups).not_to include(group)
|
163
125
|
end
|
164
|
-
|
165
126
|
end
|
166
127
|
end
|
167
128
|
|
168
129
|
describe '#save' do
|
169
130
|
context 'when property values have changed' do
|
170
|
-
let(:
|
171
|
-
|
172
|
-
|
173
|
-
let(:
|
174
|
-
|
175
|
-
end
|
176
|
-
let(:new_surname) do
|
177
|
-
"NewSurname"
|
178
|
-
end
|
179
|
-
let(:reloaded_account) { test_api_client.accounts.get account_uri }
|
131
|
+
let(:directory) { test_api_client.directories.create(build_directory) }
|
132
|
+
let(:account) { directory.accounts.create(build_account) }
|
133
|
+
let(:account_uri) { account.href }
|
134
|
+
let(:new_surname) { 'NewSurname' }
|
135
|
+
let(:reloaded_account) { test_api_client.accounts.get(account_uri) }
|
180
136
|
|
181
137
|
before do
|
182
|
-
account = test_api_client.accounts.get
|
138
|
+
account = test_api_client.accounts.get(account_uri)
|
183
139
|
account.surname = new_surname
|
184
140
|
account.save
|
185
141
|
end
|
186
142
|
|
187
143
|
after do
|
188
|
-
account.delete
|
144
|
+
account.delete
|
145
|
+
directory.delete
|
189
146
|
end
|
190
147
|
|
191
148
|
it 'saves changes to the account' do
|
@@ -193,5 +150,4 @@ describe Stormpath::Resource::Account, :vcr do
|
|
193
150
|
end
|
194
151
|
end
|
195
152
|
end
|
196
|
-
|
197
153
|
end
|