Specifications:
Verify status S0014 current time plan
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
11 12 13 14 15 16 17 18
# File 'spec/site/tlc/signal_plans_spec.rb', line 11 Validator::Site.connected do |task,supervisor,site| if RSMP::Proxy.version_meets_requirement?( site.sxl_version, '>=1.1' ) status_list = { S0014: [:status,:source] } else status_list = { S0014: [:status] } end request_status_and_confirm site, "current time plan", status_list end
-
Verify that we change time plan (signal program) We try switching all programs configured
-
Given the site is connected
-
And there is a Validator.get_config(‘validator’) with a time plan
-
When we send the command
-
We should receive a confirmative command response before timeout
-
Verify status S0018 number of time plans Deprecated from 1.2, use S0022 instead.
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
44 45 46 47
# File 'spec/site/tlc/signal_plans_spec.rb', line 44 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "number of time plans", { S0018: [:number] } end
-
Verify status S0022 list of time plans
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
56 57 58 59
# File 'spec/site/tlc/signal_plans_spec.rb', line 56 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "list of time plans", { S0022: [:status] } end
-
Verify status S0026 week time table
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
68 69 70 71
# File 'spec/site/tlc/signal_plans_spec.rb', line 68 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "week time table", { S0026: [:status] } end
-
Verify that we can set week table with M0016
-
Given the site is connected
-
When we send the command
-
We should receive a confirmative command response before timeout
80 81 82 83 84
# File 'spec/site/tlc/signal_plans_spec.rb', line 80 Validator::Site.connected do |task,supervisor,site| status = "0-1,6-2" prepare task, site set_week_table status end
-
Verify status S0027 time tables
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
93 94 95 96
# File 'spec/site/tlc/signal_plans_spec.rb', line 93 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "command table", { S0027: [:status] } end
-
Verify that we can set day table with M0017
-
Given the site is connected
-
When we send the command
-
We should receive a confirmative command response before timeout
105 106 107 108 109
# File 'spec/site/tlc/signal_plans_spec.rb', line 105 Validator::Site.connected do |task,supervisor,site| status = "12-1-12-59,1-0-23-12" prepare task, site set_day_table status end
-
Verify status S0097 version of traffic program
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
118 119 120 121
# File 'spec/site/tlc/signal_plans_spec.rb', line 118 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "version of traffic program", { S0097: [:timestamp,:checksum] } end
-
Verify status S0098 configuration of traffic parameters
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
130 131 132 133 134 135 136 137 138 139 140 141 142
# File 'spec/site/tlc/signal_plans_spec.rb', line 130 Validator::Site.connected do |task,supervisor,site| result = request_status_and_confirm site, "config of traffic parameters", { S0098: [:timestamp,:config,:version] } # the site should have stored the received status = result[:collector]..first expect().to be_an(RSMP::StatusResponse) values = .attributes['sS'].map { |item| [item['n'], item['s']] }.to_h expect(values['timestamp']).not_to be_empty expect(values['config']).not_to be_empty expect(values['timestamp']).not_to be_empty end
-
Verify status S0023 command table
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
151 152 153 154
# File 'spec/site/tlc/signal_plans_spec.rb', line 151 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "command table", { S0023: [:status] } end
-
Verify that dynamic bands can the set with M0014
-
Given the site is connected
-
When we send the command
-
We should receive a confirmative command response before timeout
-
Verify that dynamic bands can be read and changed
-
Given the site is connected
-
And we read dynamic band
-
When we set dynamic band to 2x previous value
-
Then reading dynamic bands should confirm the change
-
Finally when we revert dynamic band to previous value
-
Then reading dynamic bands should confirm the reversion
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
# File 'spec/site/tlc/signal_plans_spec.rb', line 181 Validator::Site.connected do |task,supervisor,site| prepare task, site plan = Validator.get_config('items','plans').first band = 3 value = get_dynamic_bands(plan, band) || 0 expect( value ).to be_a(Integer) new_value = value + 1 set_dynamic_bands plan, "#{band}-#{new_value}" expect( get_dynamic_bands(plan, band) ).to eq(new_value) set_dynamic_bands plan, "#{band}-#{value}" expect( get_dynamic_bands(plan, band) ).to eq(value) end
-
Verify command M0023 timeout of dynamic bands
-
Given the site is connected
-
When we send command to set timeout
-
Then we should get a confirmation
-
When we send command to disable timeout
-
Then we should get a confirmation
207 208 209 210 211 212 213
# File 'spec/site/tlc/signal_plans_spec.rb', line 207 Validator::Site.connected do |task,supervisor,site| prepare task, site status = 10 set_timeout_for_dynamic_bands status status = 0 set_timeout_for_dynamic_bands status end
-
Verify status S0024 offset time
-
Given the site is connected
-
Request status
-
Expect status response before timeout
222 223 224 225
# File 'spec/site/tlc/signal_plans_spec.rb', line 222 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "offset time", { S0024: [:status] } end
-
-
Verify connection
-
Send control command to set dynamic_bands
-
Wait for status = true
-
Verify status S0028 cycle time
-
Given the site is connected
-
When we request the status
-
We should receive a status response before timeout
246 247 248 249
# File 'spec/site/tlc/signal_plans_spec.rb', line 246 Validator::Site.connected do |task,supervisor,site| request_status_and_confirm site, "cycle time", { S0028: [:status] } end
-
Verify that cycle time can be changed with M0018
-
Given the site is connected
-
And we read cycle times
-
When we extend cycle time of curent plan with 5s
-
Then reading the cycle time should confirm the change
-
Finally when we revert cycle time to previous value
-
Then reading cycle time should confirm the reversion
261 262 263 264 265
# File 'spec/site/tlc/signal_plans_spec.rb', line 261 Validator::Site.connected do |task,supervisor,site| with_cycle_time_extended(site) do log "Cycle time extension confirmed" end end
-