schemata-dea 0.0.1.beta13 → 0.0.1.beta14
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/schemata/common/msgbase.rb +1 -0
- data/lib/schemata/dea/version.rb +1 -1
- data/spec/cloud_controller/cloud_controller_spec.rb +6 -0
- data/spec/cloud_controller/droplet_updated_message_spec.rb +10 -0
- data/spec/cloud_controller/hm_start_request_spec.rb +11 -0
- data/spec/cloud_controller/hm_stop_request_spec.rb +12 -0
- data/spec/{cloud_controller/cc_bar_spec.rb → component2/component2_bar_spec.rb} +16 -16
- data/spec/health_manager/health_manager_spec.rb +6 -0
- data/spec/health_manager/health_request_spec.rb +12 -0
- data/spec/health_manager/health_response_spec.rb +12 -0
- data/spec/health_manager/status_crashed_response_spec.rb +12 -0
- data/spec/health_manager/status_flapping_response_spec.rb +12 -0
- data/spec/health_manager/status_request_spec.rb +12 -0
- data/spec/support/helpers.rb +6 -1
- data/spec/support/message_helpers.rb +12 -0
- metadata +23 -3
data/lib/schemata/dea/version.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'schemata/cloud_controller'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::CloudController::DropletUpdatedMessage do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
describe Schemata::CloudController::DropletUpdatedMessage::V1 do
|
9
|
+
it_behaves_like "a message"
|
10
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "schemata/cloud_controller"
|
2
|
+
|
3
|
+
describe Schemata::CloudController::HmStartRequest do
|
4
|
+
it_behaves_like "a message type"
|
5
|
+
end
|
6
|
+
|
7
|
+
Schemata::CloudController::HmStartRequest.versions.each do |v|
|
8
|
+
describe Schemata::CloudController::HmStartRequest::const_get("V#{v}") do
|
9
|
+
it_behaves_like "a message"
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'schemata/cloud_controller'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::CloudController::HmStopRequest do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
Schemata::CloudController::HmStopRequest.versions.each do |v|
|
9
|
+
describe Schemata::CloudController::HmStopRequest::const_get("V#{v}") do
|
10
|
+
it_behaves_like "a message"
|
11
|
+
end
|
12
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require 'schemata/
|
1
|
+
require 'schemata/component2/component2'
|
2
2
|
require 'support/helpers'
|
3
3
|
|
4
|
-
describe Schemata::
|
4
|
+
describe Schemata::Component2 do
|
5
5
|
before :each do
|
6
6
|
@v10_msg = '{
|
7
7
|
"min_version": 10,
|
@@ -37,21 +37,21 @@ describe Schemata::CloudController do
|
|
37
37
|
describe "#decode" do
|
38
38
|
describe "(current version is 10)" do
|
39
39
|
before :each do
|
40
|
-
set_current_version(Schemata::
|
40
|
+
set_current_version(Schemata::Component2::Bar, 10)
|
41
41
|
end
|
42
42
|
|
43
43
|
after :each do
|
44
|
-
reset_version(Schemata::
|
44
|
+
reset_version(Schemata::Component2::Bar)
|
45
45
|
end
|
46
46
|
|
47
47
|
it "should take a v10 msg and create a v10 obj" do
|
48
|
-
msg_obj = Schemata::
|
48
|
+
msg_obj = Schemata::Component2::Bar.decode(@v10_msg)
|
49
49
|
msg_obj.bar1.should == "first"
|
50
50
|
msg_obj.bar2.should == "second"
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should take a v11 msg and create a v10 obj" do
|
54
|
-
msg_obj = Schemata::
|
54
|
+
msg_obj = Schemata::Component2::Bar.decode(@v11_msg)
|
55
55
|
msg_obj.bar1.should == "1"
|
56
56
|
msg_obj.bar2.should == "second"
|
57
57
|
end
|
@@ -59,21 +59,21 @@ describe Schemata::CloudController do
|
|
59
59
|
|
60
60
|
describe "(current version is 11)" do
|
61
61
|
before :each do
|
62
|
-
set_current_version(Schemata::
|
62
|
+
set_current_version(Schemata::Component2::Bar, 11)
|
63
63
|
end
|
64
64
|
|
65
65
|
after :each do
|
66
|
-
reset_version(Schemata::
|
66
|
+
reset_version(Schemata::Component2::Bar)
|
67
67
|
end
|
68
68
|
|
69
69
|
it "should take a v10 msg and create a v11 obj" do
|
70
|
-
msg_obj = Schemata::
|
70
|
+
msg_obj = Schemata::Component2::Bar.decode(@v10_msg)
|
71
71
|
msg_obj.bar1.should == 5
|
72
72
|
msg_obj.bar3.should == "third"
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should take a v11 msg and create a v11 obj" do
|
76
|
-
msg_obj = Schemata::
|
76
|
+
msg_obj = Schemata::Component2::Bar.decode(@v11_msg)
|
77
77
|
msg_obj.bar1.should == 1
|
78
78
|
msg_obj.bar3.should == "third"
|
79
79
|
end
|
@@ -83,15 +83,15 @@ describe Schemata::CloudController do
|
|
83
83
|
describe "#encode" do
|
84
84
|
describe "(current version is 10)" do
|
85
85
|
before :each do
|
86
|
-
set_current_version(Schemata::
|
86
|
+
set_current_version(Schemata::Component2::Bar, 10)
|
87
87
|
end
|
88
88
|
|
89
89
|
after :each do
|
90
|
-
reset_version(Schemata::
|
90
|
+
reset_version(Schemata::Component2::Bar)
|
91
91
|
end
|
92
92
|
|
93
93
|
it "should take a v10 obj and encode a json msg" do
|
94
|
-
v10_obj = Schemata::
|
94
|
+
v10_obj = Schemata::Component2::Bar::V10.new(@v10_hash)
|
95
95
|
json_msg = v10_obj.encode
|
96
96
|
returned_hash = Yajl::Parser.parse(json_msg)
|
97
97
|
|
@@ -108,12 +108,12 @@ describe Schemata::CloudController do
|
|
108
108
|
|
109
109
|
describe "(current version is 11)" do
|
110
110
|
before :each do
|
111
|
-
set_current_version(Schemata::
|
111
|
+
set_current_version(Schemata::Component2::Bar, 11)
|
112
112
|
end
|
113
113
|
|
114
114
|
it "should take a v11 obj and encode a json msg" do
|
115
115
|
aux_data = {"bar2" => "second" }
|
116
|
-
v11_obj = Schemata::
|
116
|
+
v11_obj = Schemata::Component2::Bar::V11.new(@v11_hash, aux_data)
|
117
117
|
json_msg = v11_obj.encode
|
118
118
|
returned_hash = Yajl::Parser.parse(json_msg)
|
119
119
|
|
@@ -133,7 +133,7 @@ describe Schemata::CloudController do
|
|
133
133
|
end
|
134
134
|
|
135
135
|
after :each do
|
136
|
-
reset_version(Schemata::
|
136
|
+
reset_version(Schemata::Component2::Bar)
|
137
137
|
end
|
138
138
|
end
|
139
139
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'schemata/health_manager'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::HealthManager::HealthRequest do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
Schemata::HealthManager::HealthRequest.versions.each do |v|
|
9
|
+
describe Schemata::HealthManager::HealthRequest::const_get("V#{v}") do
|
10
|
+
it_behaves_like "a message"
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'schemata/health_manager'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::HealthManager::HealthResponse do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
Schemata::HealthManager::HealthResponse.versions.each do |v|
|
9
|
+
describe Schemata::HealthManager::HealthResponse::const_get("V#{v}") do
|
10
|
+
it_behaves_like "a message"
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'schemata/health_manager'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::HealthManager::StatusCrashedResponse do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
Schemata::HealthManager::StatusCrashedResponse.versions.each do |v|
|
9
|
+
describe Schemata::HealthManager::StatusCrashedResponse::const_get("V#{v}") do
|
10
|
+
it_behaves_like "a message"
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'schemata/health_manager'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::HealthManager::StatusFlappingResponse do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
Schemata::HealthManager::StatusFlappingResponse.versions.each do |v|
|
9
|
+
describe Schemata::HealthManager::StatusFlappingResponse::const_get("V#{v}") do
|
10
|
+
it_behaves_like "a message"
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'schemata/health_manager'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Schemata::HealthManager::StatusRequest do
|
5
|
+
it_behaves_like "a message type"
|
6
|
+
end
|
7
|
+
|
8
|
+
Schemata::HealthManager::StatusRequest.versions.each do |v|
|
9
|
+
describe Schemata::HealthManager::StatusRequest::const_get("V#{v}") do
|
10
|
+
it_behaves_like "a message"
|
11
|
+
end
|
12
|
+
end
|
data/spec/support/helpers.rb
CHANGED
@@ -53,6 +53,10 @@ def num_mandatory_fields(msg_obj)
|
|
53
53
|
return diff.size
|
54
54
|
end
|
55
55
|
|
56
|
+
def all_classes
|
57
|
+
all_classes = Set.new([Integer, String, Float, TrueClass, FalseClass, NilClass, Hash, Array])
|
58
|
+
end
|
59
|
+
|
56
60
|
def get_allowed_classes(schema)
|
57
61
|
case schema
|
58
62
|
when Membrane::Schema::Bool
|
@@ -65,11 +69,12 @@ def get_allowed_classes(schema)
|
|
65
69
|
return Set.new([Hash])
|
66
70
|
when Membrane::Schema::List
|
67
71
|
return Set.new([Array])
|
72
|
+
when Membrane::Schema::Value
|
73
|
+
return Set.new([schema.value.class])
|
68
74
|
end
|
69
75
|
end
|
70
76
|
|
71
77
|
def get_unallowed_classes(schema)
|
72
|
-
all_classes = Set.new([Integer, String, Float, TrueClass, FalseClass, NilClass, Hash, Array])
|
73
78
|
allowed_classes = get_allowed_classes(schema)
|
74
79
|
all_classes - allowed_classes
|
75
80
|
end
|
@@ -44,6 +44,18 @@ shared_examples "a message" do
|
|
44
44
|
msg_obj = message.new({first_key => bad_value})
|
45
45
|
}.to raise_error(Schemata::UpdateAttributeError)
|
46
46
|
end
|
47
|
+
|
48
|
+
it "should stringify keys when they are symbols" do
|
49
|
+
mock_hash = component.send(mock_method, 1).contents
|
50
|
+
first_key = mock_hash.keys[0]
|
51
|
+
first_value = mock_hash[first_key]
|
52
|
+
|
53
|
+
input_hash = {
|
54
|
+
first_key.to_sym => first_value
|
55
|
+
}
|
56
|
+
msg_obj = message.new(input_hash)
|
57
|
+
msg_obj.send(first_key).should_not be_nil
|
58
|
+
end
|
47
59
|
end
|
48
60
|
|
49
61
|
describe "#encode" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schemata-dea
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.beta14
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -147,13 +147,17 @@ files:
|
|
147
147
|
- lib/schemata/common/error.rb
|
148
148
|
- lib/schemata/helpers/stringify.rb
|
149
149
|
- lib/schemata/helpers/hash_copy.rb
|
150
|
-
- spec/cloud_controller/
|
150
|
+
- spec/cloud_controller/cloud_controller_spec.rb
|
151
|
+
- spec/cloud_controller/droplet_updated_message_spec.rb
|
152
|
+
- spec/cloud_controller/hm_start_request_spec.rb
|
153
|
+
- spec/cloud_controller/hm_stop_request_spec.rb
|
151
154
|
- spec/common/helpers_spec.rb
|
152
155
|
- spec/common/parsed_msg_spec.rb
|
153
156
|
- spec/component/aux_data_spec.rb
|
154
157
|
- spec/component/component_bar_spec.rb
|
155
158
|
- spec/component/component_foo_spec.rb
|
156
159
|
- spec/component/foo_spec.rb
|
160
|
+
- spec/component2/component2_bar_spec.rb
|
157
161
|
- spec/dea/advertise_message_spec.rb
|
158
162
|
- spec/dea/dea_spec.rb
|
159
163
|
- spec/dea/dea_status_response_spec.rb
|
@@ -167,6 +171,12 @@ files:
|
|
167
171
|
- spec/dea/start_request_spec.rb
|
168
172
|
- spec/dea/stop_request_spec.rb
|
169
173
|
- spec/dea/update_request_spec.rb
|
174
|
+
- spec/health_manager/health_manager_spec.rb
|
175
|
+
- spec/health_manager/health_request_spec.rb
|
176
|
+
- spec/health_manager/health_response_spec.rb
|
177
|
+
- spec/health_manager/status_crashed_response_spec.rb
|
178
|
+
- spec/health_manager/status_flapping_response_spec.rb
|
179
|
+
- spec/health_manager/status_request_spec.rb
|
170
180
|
- spec/router/register_request_spec.rb
|
171
181
|
- spec/router/router_spec.rb
|
172
182
|
- spec/router/start_message_spec.rb
|
@@ -202,13 +212,17 @@ signing_key:
|
|
202
212
|
specification_version: 3
|
203
213
|
summary: validation for cloundfoundry DEA messages
|
204
214
|
test_files:
|
205
|
-
- spec/cloud_controller/
|
215
|
+
- spec/cloud_controller/cloud_controller_spec.rb
|
216
|
+
- spec/cloud_controller/droplet_updated_message_spec.rb
|
217
|
+
- spec/cloud_controller/hm_start_request_spec.rb
|
218
|
+
- spec/cloud_controller/hm_stop_request_spec.rb
|
206
219
|
- spec/common/helpers_spec.rb
|
207
220
|
- spec/common/parsed_msg_spec.rb
|
208
221
|
- spec/component/aux_data_spec.rb
|
209
222
|
- spec/component/component_bar_spec.rb
|
210
223
|
- spec/component/component_foo_spec.rb
|
211
224
|
- spec/component/foo_spec.rb
|
225
|
+
- spec/component2/component2_bar_spec.rb
|
212
226
|
- spec/dea/advertise_message_spec.rb
|
213
227
|
- spec/dea/dea_spec.rb
|
214
228
|
- spec/dea/dea_status_response_spec.rb
|
@@ -222,6 +236,12 @@ test_files:
|
|
222
236
|
- spec/dea/start_request_spec.rb
|
223
237
|
- spec/dea/stop_request_spec.rb
|
224
238
|
- spec/dea/update_request_spec.rb
|
239
|
+
- spec/health_manager/health_manager_spec.rb
|
240
|
+
- spec/health_manager/health_request_spec.rb
|
241
|
+
- spec/health_manager/health_response_spec.rb
|
242
|
+
- spec/health_manager/status_crashed_response_spec.rb
|
243
|
+
- spec/health_manager/status_flapping_response_spec.rb
|
244
|
+
- spec/health_manager/status_request_spec.rb
|
225
245
|
- spec/router/register_request_spec.rb
|
226
246
|
- spec/router/router_spec.rb
|
227
247
|
- spec/router/start_message_spec.rb
|