rspec-openhab-scripting 0.0.1-java → 0.0.2-java

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0469b486b84d65883d60fa79dbea29b5c5c86792a8f430d222c87bbb76b69d5
4
- data.tar.gz: 188413ff354ddec32fdfb5c4fb0823efcde0a803b684acd3370070217f3d4f1c
3
+ metadata.gz: bb06cd0d4f2eb7710a678cf6b080ae636d81ef9faa4012a755ed8b73117a158a
4
+ data.tar.gz: 3ed1a44e4cc9802054e6697807e75adafa75e6069647f917b809e20cbdb2e92a
5
5
  SHA512:
6
- metadata.gz: fe7991e666341f3a035ea7bbb59d575affd17da44503eb90209b30a05df2f1802620696e8fc8701afe1f0abfcd64e5e8250415f463e5934a2e82ac15234cba83
7
- data.tar.gz: 44d8592c747ac3d179b71a7bf05b35fa8e5b061969b7309f6b793df44135ff781d2d476a776e4f1431e214744188386e32aa875512f016589af62838f7709100
6
+ metadata.gz: 4ee95923dc2c84ca4253112fcb0d6b351cb14d3a1879dcbcdd5e67dfcf095fdfdd0ab8f3c9d4b617fe2db13393a727f2687194531436c9572857066fcc57a62d
7
+ data.tar.gz: 05245aa976b20f462002b87c9451b16c9aa1609f145981f259ee1637270e82a9ca295a55fcb15c6bc66a295664e313e0ffb5b280f193e624fc411ccf3138be2d
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenHAB
4
+ module DSL
5
+ module Rules
6
+ class RuleConfig
7
+ # override on_start to never work
8
+ def on_start?
9
+ false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.before(:each) do
5
+ $ir.for_each do |_provider, item| # rubocop:disable Style/GlobalVars
6
+ item.state = NULL # don't use update, to avoid triggering any rules
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RSpec
4
+ module OpenHAB
5
+ module Trigger
6
+ def trigger_rule(rule_name, event = nil)
7
+ @rules ||= ::OpenHAB::DSL::Rules::Rule.script_rules.each_with_object({}) { |r, obj| obj[r.name] = r }
8
+
9
+ @rules.fetch(rule_name).execute(nil, { "event" => event })
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ RSpec.configure do |config|
16
+ config.include RSpec::OpenHAB::Trigger
17
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module OpenHAB
5
- VERSION = "0.0.1"
5
+ VERSION = "0.0.2"
6
6
  end
7
7
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RSpec
4
+ module OpenHAB
5
+ module Wait
6
+ def wait_for_rules
7
+ loop do
8
+ break if java.lang.Thread.all_stack_traces.keys.all? do |t|
9
+ !t.name.match?(/^OH-rule-/) ||
10
+ [java.lang.Thread::State::WAITING, java.lang.Thread::State::TIMED_WAITING].include?(t.state)
11
+ end
12
+
13
+ sleep(0.1)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ RSpec.configure do |config|
21
+ config.include RSpec::OpenHAB::Wait
22
+ end
@@ -70,6 +70,12 @@ require_relative "rspec/openhab/dsl/timers/timer"
70
70
 
71
71
  # rubocop:disable Style/GlobalVars
72
72
 
73
+ # RSpec additions
74
+ require "rspec/openhab/dsl/rules/rspec"
75
+ require "rspec/openhab/state"
76
+ require "rspec/openhab/trigger"
77
+ require "rspec/openhab/wait"
78
+
73
79
  # populate item registry
74
80
  all_items = api.items
75
81
  all_items.each do |item_json|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: java
6
6
  authors:
7
7
  - Cody Cutrer
@@ -167,8 +167,12 @@ files:
167
167
  - lib/rspec/openhab/core/osgi.rb
168
168
  - lib/rspec/openhab/core/script_handling.rb
169
169
  - lib/rspec/openhab/dsl/imports.rb
170
+ - lib/rspec/openhab/dsl/rules/rspec.rb
170
171
  - lib/rspec/openhab/dsl/timers/timer.rb
172
+ - lib/rspec/openhab/state.rb
173
+ - lib/rspec/openhab/trigger.rb
171
174
  - lib/rspec/openhab/version.rb
175
+ - lib/rspec/openhab/wait.rb
172
176
  - vendor/gems/jar-dependencies-1.0.0/lib/jar-dependencies.rb
173
177
  - vendor/gems/jar-dependencies-1.0.0/lib/jar_dependencies.rb
174
178
  - vendor/gems/jar-dependencies-1.0.0/lib/jar_install_post_install_hook.rb