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.
@@ -14,6 +14,7 @@ module Schemata
14
14
  @contents = {}
15
15
 
16
16
  data.each do |key, field_value|
17
+ key = Schemata::HashCopyHelpers.stringify(key)
17
18
  field_schema = @schema.schemas[key]
18
19
  next unless field_schema
19
20
 
@@ -1,5 +1,5 @@
1
1
  module Schemata
2
2
  module DEA
3
- VERSION = "0.0.1.beta13"
3
+ VERSION = "0.0.1.beta14"
4
4
  end
5
5
  end
@@ -0,0 +1,6 @@
1
+ require 'schemata/cloud_controller'
2
+ require 'spec_helper'
3
+
4
+ describe Schemata::CloudController do
5
+ it_behaves_like "a schemata component"
6
+ end
@@ -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/cloud_controller/cloud_controller'
1
+ require 'schemata/component2/component2'
2
2
  require 'support/helpers'
3
3
 
4
- describe Schemata::CloudController do
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::CloudController::Bar, 10)
40
+ set_current_version(Schemata::Component2::Bar, 10)
41
41
  end
42
42
 
43
43
  after :each do
44
- reset_version(Schemata::CloudController::Bar)
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::CloudController::Bar.decode(@v10_msg)
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::CloudController::Bar.decode(@v11_msg)
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::CloudController::Bar, 11)
62
+ set_current_version(Schemata::Component2::Bar, 11)
63
63
  end
64
64
 
65
65
  after :each do
66
- reset_version(Schemata::CloudController::Bar)
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::CloudController::Bar.decode(@v10_msg)
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::CloudController::Bar.decode(@v11_msg)
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::CloudController::Bar, 10)
86
+ set_current_version(Schemata::Component2::Bar, 10)
87
87
  end
88
88
 
89
89
  after :each do
90
- reset_version(Schemata::CloudController::Bar)
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::CloudController::Bar::V10.new(@v10_hash)
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::CloudController::Bar, 11)
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::CloudController::Bar::V11.new(@v11_hash, aux_data)
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::CloudController::Bar)
136
+ reset_version(Schemata::Component2::Bar)
137
137
  end
138
138
  end
139
139
  end
@@ -0,0 +1,6 @@
1
+ require 'schemata/health_manager'
2
+ require 'spec_helper'
3
+
4
+ describe Schemata::HealthManager do
5
+ it_behaves_like 'a schemata component'
6
+ 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
@@ -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.beta13
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/cc_bar_spec.rb
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/cc_bar_spec.rb
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