cfoundry_helper 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDQ0NGVkYWQzNWEyMzc4ZWI1MWZhOTRmZTMyOTBiYmI0MWQ5ZWE0Ng==
5
- data.tar.gz: !binary |-
6
- NWY3NjhhNzA3Njg5YmJmZjY3M2E0M2Y4OTdmZmNiY2Q0MWQzM2ViOQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YTgzZTViY2FhMmM0ZjY5YjFhYTMwMjUyNTQ5MTE4YWNlYzRkMzZhOTJkYWNh
10
- NzI4MTgwNTYzMDNkZDFiNGJmYmQ4NzI3ODY2NjU4ZjA0YTI2MzEyOGM0NTY4
11
- NzhlOWQyYzU1ZTZhZTc1ZDY3OGFlOTk1NzBjYWRkMmVjOTUzYTI=
12
- data.tar.gz: !binary |-
13
- ZjNlNmYyMjk2M2FkZDUzOGM3ODUxYjIyNGNhZGM1ZjI3ZjgzZTZmOGE4ZTFi
14
- ZDdmNDdhMWYyZjg2MDgwODZhOWE1OGEwZDZlMzgyOGMxMzAxNmM0NmI4ZDBi
15
- ODM5OTAzZDk5OGIwNmIxOTI5MGE1MjVmMWYxMWE2MGQ0Mjk5MWY=
2
+ SHA1:
3
+ metadata.gz: 19904dfa34730a958d5094029a7b231b24b01968
4
+ data.tar.gz: e4d21a700c8c1f3ae817ae086b7b46e042c5da53
5
+ SHA512:
6
+ metadata.gz: 5e0bd11fcc89ae298939e6cd181055a4f06fcd01cbcea5b65e94994c864c54d16d175b5cdd90cb0d5bf9e4dbd19c53c4c1557374976c6e261c47b8f2abd9f2ab
7
+ data.tar.gz: a7b99e2619e04bf586419dba24129f0b3b6156ee6979fb7f3d1475ea0e708f400b8d28141dcc79a4774748360ecdadaf1febbd2c193db63ac094e5d3a6c75c29
data/.gitignore CHANGED
@@ -6,3 +6,4 @@ pkg/
6
6
  pkg/*
7
7
  .DS_Store
8
8
  bin/.DS_Store
9
+ .bundle
data/CHANGELOG.textile CHANGED
@@ -1,3 +1,7 @@
1
+ h2. v0.3.3
2
+ * update jwt gem version to 1.0.0
3
+ * fixes jwt usage in ClientHelper
4
+
1
5
  h2. v0.3.2
2
6
  * requests a new token from the uaa if the token is expired
3
7
 
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cfoundry_helper (0.3.2)
4
+ cfoundry_helper (0.3.3)
5
5
  activesupport
6
6
  cfoundry
7
- jwt
7
+ jwt (>= 1.0.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -22,7 +22,7 @@ GEM
22
22
  builder (3.1.4)
23
23
  cf-uaa-lib (2.0.0)
24
24
  multi_json
25
- cfoundry (4.6.1)
25
+ cfoundry (4.7.1)
26
26
  activemodel (>= 3.2.13, < 5.0.0)
27
27
  cf-uaa-lib (~> 2.0.0)
28
28
  multi_json (~> 1.7)
@@ -42,11 +42,10 @@ GEM
42
42
  httpclient (2.3.4.1)
43
43
  i18n (0.6.5)
44
44
  json_pure (1.8.0)
45
- jwt (0.1.8)
46
- multi_json (>= 1.5)
45
+ jwt (1.0.0)
47
46
  method_source (0.8.2)
48
47
  minitest (4.7.5)
49
- multi_json (1.8.2)
48
+ multi_json (1.10.1)
50
49
  multipart-post (1.2.0)
51
50
  nats (0.4.28)
52
51
  daemons (>= 1.1.5)
data/README.textile CHANGED
@@ -10,14 +10,14 @@ a) You can configure multiple targets within a configuration file. Please execut
10
10
 
11
11
  b) You can also configure the targets by passing in a configuration hash:
12
12
  CfoundryHelper.load_config_from_hash config_hash
13
-
13
+
14
14
  !!! It is important to load a configuration using one of the methods above before executing any helper functions.
15
-
15
+
16
16
 
17
17
  h2. Target Selection
18
18
 
19
- Since cfoundry_helper now supports multiple CF targets you have to set your desired target by using the
20
- CFoundryHelper::Helpers::ClientHelper.current_target_url= method for selecting a target from your service configuration file.
19
+ Since cfoundry_helper now supports multiple CF targets you have to set your desired target by using the
20
+ CFoundryHelper::Helpers::ClientHelper.current_target_url= method for selecting a target from your service configuration file.
21
21
  You can list all configured targets using the CFoundryHelper.available_targets method.
22
22
 
23
23
  !!! It is important to select a target before executing any helper functions, e.g:
@@ -36,7 +36,7 @@ h2. User management
36
36
  The CFoundryHelper::Helpers::UserHelper module provides methods for managing users within the system:
37
37
 
38
38
  * get user by email
39
- * create a user
39
+ * create a user
40
40
  * delete a user
41
41
  * change a user's password
42
42
 
@@ -46,7 +46,7 @@ The CFoundryHelper::Helpers::OrganizationHelper modules' methods provide helper
46
46
  * create a space within an organization
47
47
  * add/remove Users from spaces
48
48
  * administer User roles within a space
49
- * empty a space (remove all apps, service_bindings, service_instances, routes and domains from the space)
49
+ * empty a space (remove all apps, service_bindings, service_instances, routes and domains from the space)
50
50
  * delete a space
51
51
 
52
52
  h2. Client Helper
@@ -61,8 +61,12 @@ h2. Scripts
61
61
  * bin/create_space_for_org : creates a space to an organization and assigns all organization members to it
62
62
  ** usage : bundle exec bin/create_space_for_org <org name> <space name> <services_config_file_location>
63
63
 
64
+ h2. Documentation
65
+
66
+ * You can find additional documentation in the doc directory.
67
+ * You can find usage examples in the doc/examples and bin directories.
64
68
 
65
69
  h2. Console Usage
66
70
 
67
- Use the following command to start the console:
71
+ Use the following command to start the console:
68
72
  bundle exec rake c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.2
1
+ 0.3.3
@@ -36,5 +36,5 @@ Gem::Specification.new do |spec|
36
36
 
37
37
  spec.add_dependency "cfoundry"
38
38
  spec.add_dependency "activesupport"
39
- spec.add_dependency "jwt"
39
+ spec.add_dependency "jwt", ">= 1.0.0"
40
40
  end
@@ -0,0 +1,31 @@
1
+ # preparation) start the console using: bundle exec rake c
2
+
3
+ # connect to cc & uaa
4
+ CFoundryHelper.load_config_from_file "config/services.yml"
5
+ CFoundryHelper::Helpers::ClientHelper.current_target_url = CFoundryHelper.available_targets.first
6
+
7
+ # get the infos
8
+ email = "testemail@example.com"
9
+ user = CFoundryHelper::Helpers::UserHelper.get_user_by_email email
10
+ orgs = user.organizations
11
+
12
+ # puts orgs and spaces
13
+ orgs.each do |org|
14
+ puts org.name
15
+ puts "Spaces:"
16
+ puts ""
17
+ org.spaces.each do |sp|
18
+ puts sp.name
19
+ end
20
+ puts ""
21
+ end
22
+
23
+ # delete all orgs recursively
24
+ orgs.each do |org|
25
+ puts "Deleting: #{org.name}"
26
+ CFoundryHelper::Helpers::OrganizationHelper.delete_organization_recursive(org)
27
+ end
28
+
29
+ # delete the user
30
+ puts "Deleting the user with email: #{email}"
31
+ user.delete!
@@ -11,7 +11,7 @@ module CFoundryHelper::Helpers
11
11
  def self.current_target_url=(url)
12
12
  @@current_target_url = url
13
13
  end
14
-
14
+
15
15
  def self.current_target_url
16
16
  return @@current_target_url
17
17
  end
@@ -35,17 +35,17 @@ module CFoundryHelper::Helpers
35
35
  def self.scim_client
36
36
  # just return the already initialized client if present
37
37
  raise CFoundryHelper::Errors::ConfigurationError, "The ClientHelper's current target url is not defined in the configuration yaml file!" if CFoundryHelper.config[@@current_target_url].nil?
38
-
38
+
39
39
  return @@scim_client unless @@scim_client.nil?
40
40
 
41
- token_issuer = CF::UAA::TokenIssuer.new(
41
+ token_issuer = ::CF::UAA::TokenIssuer.new(
42
42
  CFoundryHelper.config[@@current_target_url]['uaa']['site'],
43
43
  CFoundryHelper.config[@@current_target_url]['uaa']['client_id'],
44
44
  CFoundryHelper.config[@@current_target_url]['uaa']['client_secret'])
45
45
 
46
46
  token_info = token_issuer.client_credentials_grant
47
47
  access_token = token_info.info["access_token"]
48
- @@scim_client = CF::UAA::Scim.new(CFoundryHelper.config[@@current_target_url]['uaa']['site'], "bEareR #{access_token}")
48
+ @@scim_client = ::CF::UAA::Scim.new(CFoundryHelper.config[@@current_target_url]['uaa']['site'], "bEareR #{access_token}")
49
49
  end
50
50
 
51
51
  ##
@@ -54,11 +54,11 @@ module CFoundryHelper::Helpers
54
54
  def self.cloud_controller_client
55
55
  # just return the already initialized client if present
56
56
  raise CFoundryHelper::Errors::ConfigurationError, "The ClientHelper's current target url is not defined in the configuration!" if CFoundryHelper.config[@@current_target_url].nil?
57
-
57
+
58
58
  # just return the already initialized client if the auth token is not expired.
59
59
  return @@cloud_controller_client unless is_auth_token_expired?
60
60
 
61
- token_issuer = CF::UAA::TokenIssuer.new(CFoundryHelper.config[@@current_target_url]['uaa']['site'], "cf")
61
+ token_issuer = ::CF::UAA::TokenIssuer.new(CFoundryHelper.config[@@current_target_url]['uaa']['site'], "cf")
62
62
  token_info = token_issuer.implicit_grant_with_creds(CFoundryHelper.config[@@current_target_url]['cloud_controller'])
63
63
  access_token = token_info.info["access_token"]
64
64
  token = CFoundry::AuthToken.from_hash({:token => "bearer #{access_token}"})
@@ -74,18 +74,20 @@ module CFoundryHelper::Helpers
74
74
  def self.set_cc_client(client)
75
75
  @@cloud_controller_client = client
76
76
  end
77
-
77
+
78
78
  private
79
-
79
+
80
80
  # Check that the Cloud Foundry auth token isn't expierd.
81
81
  # Returns true if the auth_token is expired or uninitialized.
82
82
  def self.is_auth_token_expired?
83
83
  return true if @@auth_token.nil?
84
-
84
+
85
85
  decoded_token = ::JWT.decode(@@auth_token.auth_header.split(' ')[1], nil, false)
86
86
 
87
+ # this is returned as an array from jwt since version 1.0.0
88
+ decoded_token = decoded_token.first if decoded_token.class == Array
87
89
  return true if Time.at(decoded_token['exp']) < Time.now
88
90
  return false
89
91
  end
90
92
  end
91
- end
93
+ end
@@ -1,3 +1,3 @@
1
1
  module CFoundryHelper
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfoundry_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Weber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-13 00:00:00.000000000 Z
11
+ date: 2014-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,170 +28,170 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: nats
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: cf-uaa-lib
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: activesupport
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: httpclient
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: yajl-ruby
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: pry
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: pry-debugger
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ! '>='
143
+ - - '>='
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ! '>='
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: cfoundry
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ! '>='
157
+ - - '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ! '>='
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: activesupport
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ! '>='
171
+ - - '>='
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ! '>='
178
+ - - '>='
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: jwt
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ! '>='
185
+ - - '>='
186
186
  - !ruby/object:Gem::Version
187
- version: '0'
187
+ version: 1.0.0
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ! '>='
192
+ - - '>='
193
193
  - !ruby/object:Gem::Version
194
- version: '0'
194
+ version: 1.0.0
195
195
  description: This gem provides additional helper classes and scripts for the cfoundry
196
196
  gem.
197
197
  email:
@@ -216,6 +216,7 @@ files:
216
216
  - bin/delete_orgs_and_users
217
217
  - cfoundry_helper.gemspec
218
218
  - config/services.yml.example
219
+ - doc/examples/delete_user_recursive.rb
219
220
  - lib/cfoundry_helper.rb
220
221
  - lib/cfoundry_helper/errors.rb
221
222
  - lib/cfoundry_helper/helpers.rb
@@ -239,17 +240,17 @@ require_paths:
239
240
  - lib
240
241
  required_ruby_version: !ruby/object:Gem::Requirement
241
242
  requirements:
242
- - - ! '>='
243
+ - - '>='
243
244
  - !ruby/object:Gem::Version
244
245
  version: 1.9.3
245
246
  required_rubygems_version: !ruby/object:Gem::Requirement
246
247
  requirements:
247
- - - ! '>='
248
+ - - '>='
248
249
  - !ruby/object:Gem::Version
249
250
  version: '0'
250
251
  requirements: []
251
252
  rubyforge_project:
252
- rubygems_version: 2.0.7
253
+ rubygems_version: 2.0.6
253
254
  signing_key:
254
255
  specification_version: 4
255
256
  summary: This gem provides additional helper classes and scripts for the cfoundry