schemata-dea 0.0.1.beta13 → 0.0.1.beta14

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.
@@ -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