cfoundry 2.3.2 → 2.3.3
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.
- data/lib/cfoundry/baseclient.rb +8 -1
- data/lib/cfoundry/v2/model_magic/client_extensions.rb +15 -2
- data/lib/cfoundry/version.rb +1 -1
- data/lib/tasks/gem_release.rake +2 -1
- data/spec/cfoundry/baseclient_spec.rb +12 -0
- data/spec/cfoundry/v2/organization_spec.rb +120 -0
- data/spec/fixtures/fake_cc_user.json +1 -0
- metadata +8 -2
data/lib/cfoundry/baseclient.rb
CHANGED
@@ -98,7 +98,14 @@ module CFoundry
|
|
98
98
|
def stream_url(url, &blk)
|
99
99
|
uri = URI.parse(url)
|
100
100
|
|
101
|
-
|
101
|
+
opts = {}
|
102
|
+
|
103
|
+
if uri.scheme == "https"
|
104
|
+
opts[:use_ssl] = true
|
105
|
+
opts[:verify_mode] = OpenSSL::SSL::VERIFY_NONE
|
106
|
+
end
|
107
|
+
|
108
|
+
Net::HTTP.start(uri.host, uri.port, opts) do |http|
|
102
109
|
http.read_timeout = 5
|
103
110
|
|
104
111
|
req = Net::HTTP::Get.new(uri.request_uri)
|
@@ -64,9 +64,22 @@ module CFoundry
|
|
64
64
|
elsif klass.scoped_organization && current_organization
|
65
65
|
current_organization.send(plural, *args)
|
66
66
|
else
|
67
|
-
@base.send(plural, *args).collect do |json|
|
67
|
+
prefiltered = @base.send(plural, *args).collect do |json|
|
68
68
|
send(:"make_#{singular}", json)
|
69
69
|
end
|
70
|
+
|
71
|
+
filtered = prefiltered
|
72
|
+
if args && args[0]
|
73
|
+
opts = args[0]
|
74
|
+
if opts[:query]
|
75
|
+
filtered.select! do |obj|
|
76
|
+
key = opts[:query][0].to_s
|
77
|
+
value = opts[:query][1]
|
78
|
+
obj.send(key) == value
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
filtered
|
70
83
|
end
|
71
84
|
end
|
72
85
|
|
@@ -121,4 +134,4 @@ module CFoundry
|
|
121
134
|
end
|
122
135
|
end
|
123
136
|
end
|
124
|
-
end
|
137
|
+
end
|
data/lib/cfoundry/version.rb
CHANGED
data/lib/tasks/gem_release.rake
CHANGED
@@ -7,6 +7,7 @@ namespace :gem do
|
|
7
7
|
old_version = gem_version
|
8
8
|
|
9
9
|
sh! "gem bump --version #{version} --no-commit"
|
10
|
+
sh! "git add lib/cfoundry/version.rb"
|
10
11
|
|
11
12
|
print_with_purpose "Bumping to version #{gem_version}"
|
12
13
|
generate_release_notes(old_version)
|
@@ -38,4 +39,4 @@ namespace :gem do
|
|
38
39
|
end
|
39
40
|
Gem::Specification.load("cfoundry.gemspec").version.to_s
|
40
41
|
end
|
41
|
-
end
|
42
|
+
end
|
@@ -206,6 +206,18 @@ describe CFoundry::BaseClient do
|
|
206
206
|
expect(chunks).to eq(["result"])
|
207
207
|
end
|
208
208
|
|
209
|
+
it "handles https" do
|
210
|
+
stub_request(:get, "https://example.com/something").to_return(
|
211
|
+
:body => "https result")
|
212
|
+
|
213
|
+
chunks = []
|
214
|
+
subject.stream_url("https://example.com/something") do |chunk|
|
215
|
+
chunks << chunk
|
216
|
+
end
|
217
|
+
|
218
|
+
expect(chunks).to eq(["https result"])
|
219
|
+
end
|
220
|
+
|
209
221
|
it "raises NotFound if response is 404" do
|
210
222
|
stub_request(:get, "http://example.com/something").to_return(
|
211
223
|
:status => 404, :body => "result")
|
@@ -11,6 +11,126 @@ module CFoundry
|
|
11
11
|
let(:summary_attributes) { {:name => "fizzbuzz"} }
|
12
12
|
end
|
13
13
|
|
14
|
+
describe "Querying" do
|
15
|
+
describe "by :name" do
|
16
|
+
let(:query_param) { "My Org" }
|
17
|
+
|
18
|
+
let(:matching_org) do
|
19
|
+
org = CcApiStub::Helper.load_fixtures("fake_cc_organization").symbolize_keys
|
20
|
+
org[:metadata] = org[:metadata].symbolize_keys
|
21
|
+
org[:entity] = org[:entity].symbolize_keys
|
22
|
+
|
23
|
+
org[:entity][:name] = query_param
|
24
|
+
org
|
25
|
+
end
|
26
|
+
|
27
|
+
let(:non_matching_org) do
|
28
|
+
org = CcApiStub::Helper.load_fixtures("fake_cc_organization").symbolize_keys
|
29
|
+
org[:metadata] = org[:metadata].symbolize_keys
|
30
|
+
org[:entity] = org[:entity].symbolize_keys
|
31
|
+
org[:metadata][:guid] = "organization-id-2"
|
32
|
+
|
33
|
+
org[:entity][:name] = "organization-name-2"
|
34
|
+
org
|
35
|
+
end
|
36
|
+
|
37
|
+
context "when there are two orgs and one match" do
|
38
|
+
before do
|
39
|
+
client.base.stub(:organizations).and_return([non_matching_org, matching_org])
|
40
|
+
end
|
41
|
+
|
42
|
+
context "when queried with #organizations" do
|
43
|
+
subject { client.organizations(:query => [:name, query_param]) }
|
44
|
+
|
45
|
+
it "returns the org with the given name" do
|
46
|
+
expect(subject.size).to eq 1
|
47
|
+
expect(subject[0].name).to eq query_param
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context "when queried with #organzations_by_name" do
|
52
|
+
subject { client.organizations_by_name(query_param) }
|
53
|
+
|
54
|
+
it "returns the org with the given name" do
|
55
|
+
expect(subject.size).to eq 1
|
56
|
+
expect(subject[0].name).to eq query_param
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "when queried with #organization_by_name" do
|
61
|
+
subject { client.organization_by_name(query_param) }
|
62
|
+
|
63
|
+
it "returns the org with the given name" do
|
64
|
+
expect(subject).to be_a CFoundry::V2::Organization
|
65
|
+
expect(subject.name).to eq query_param
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context "when there are orgs but no matches" do
|
71
|
+
before do
|
72
|
+
client.base.stub(:organizations).and_return([non_matching_org])
|
73
|
+
end
|
74
|
+
|
75
|
+
context "when queried with #organizations" do
|
76
|
+
subject { client.organizations(:query => [:name, query_param]) }
|
77
|
+
|
78
|
+
it "returns an empty list" do
|
79
|
+
expect(subject).to be_empty
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context "when queried with #organzations_by_name" do
|
84
|
+
subject { client.organizations_by_name(query_param) }
|
85
|
+
|
86
|
+
it "returns an empty list" do
|
87
|
+
expect(subject).to be_empty
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
context "when queried with #organization_by_name" do
|
92
|
+
subject { client.organization_by_name(query_param) }
|
93
|
+
|
94
|
+
it "returns nil" do
|
95
|
+
expect(subject).to be nil
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
context "when there are no orgs" do
|
102
|
+
before do
|
103
|
+
client.base.stub(:organizations).and_return([])
|
104
|
+
end
|
105
|
+
|
106
|
+
context "when queried with #organizations" do
|
107
|
+
subject { client.organizations(:query => [:name, query_param]) }
|
108
|
+
|
109
|
+
it "returns an empty list" do
|
110
|
+
expect(subject).to be_empty
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context "when queried with #organzations_by_name" do
|
115
|
+
subject { client.organizations_by_name(query_param) }
|
116
|
+
|
117
|
+
it "returns an empty list" do
|
118
|
+
expect(subject).to be_empty
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
context "when queried with #organization_by_name" do
|
123
|
+
subject { client.organization_by_name(query_param) }
|
124
|
+
|
125
|
+
it "returns nil" do
|
126
|
+
expect(subject).to be nil
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
14
134
|
it "has quota_definition" do
|
15
135
|
quota = build(:quota_definition)
|
16
136
|
organization.quota_definition = quota
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfoundry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-07-
|
13
|
+
date: 2013-07-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activemodel
|
@@ -413,12 +413,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
413
413
|
- - ! '>='
|
414
414
|
- !ruby/object:Gem::Version
|
415
415
|
version: '0'
|
416
|
+
segments:
|
417
|
+
- 0
|
418
|
+
hash: -4193450621271924723
|
416
419
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
417
420
|
none: false
|
418
421
|
requirements:
|
419
422
|
- - ! '>='
|
420
423
|
- !ruby/object:Gem::Version
|
421
424
|
version: '0'
|
425
|
+
segments:
|
426
|
+
- 0
|
427
|
+
hash: -4193450621271924723
|
422
428
|
requirements: []
|
423
429
|
rubyforge_project: cfoundry
|
424
430
|
rubygems_version: 1.8.25
|