rspec-openhab-scripting 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f9f1f804d263fe2179ef5680704f14bc2ba476dc4525f014329aa30ea6e01d0
4
- data.tar.gz: 924e7e3a2cc0f2578ff526d21a9a4050e216c7555004ebf21a7a76eca62a5e9c
3
+ metadata.gz: '081cb83fa410165a1c537444929816faae13f6a7b6b55b003fef54035eedb57c'
4
+ data.tar.gz: 93befbd99da2d87f0e251f919f541e7982cb438a559f305ce0113ea8afb6e9ea
5
5
  SHA512:
6
- metadata.gz: 292ebc4f0386a670ee9b02528e13880e9c9801c397ada5bc83cc9193ff5728f056a27b6b780f6b5b8b789970da03fec6fa63fe6bc3420140ceaedba06f909e9e
7
- data.tar.gz: b8c0d8e5619c50499189bfc1b85fa496d76549c03bbb23cae531e61afbac87a16b9f2d37cf4b6cb5518a55a5557570a248a0525ad4be66a84bcdb84a03b96bbf
6
+ metadata.gz: 0e254f2f46b7fef68311e8c695d60a36e1986813edac3cdc61e232b7acdc69d25fc437fde7ef344e13d7a38306683d1a965442c73a360a73ac491b20b59ba35e
7
+ data.tar.gz: 2ef07f698950dfc5b877566f4656c4cf7f3be4f05626b59c9740e362e132bb34d2ad6df613ce91fe366a8f834f78fea92a2e3f0cd808b161def17970f11a6d4d
@@ -165,7 +165,7 @@ module RSpec
165
165
 
166
166
  filename.slice!(0..transform_path.length)
167
167
  dir = File.dirname(filename)
168
- modules = dir == "." ? [] : moduleize(dir)
168
+ modules = (dir == ".") ? [] : moduleize(dir)
169
169
  basename = File.basename(filename)
170
170
  method = basename[0...-7]
171
171
  modules << method
@@ -233,6 +233,22 @@ module RSpec
233
233
  field.set(fs, OpenHAB::Core::Mocks::BundleInstallSupport.new(fs.installSupport, self))
234
234
  end
235
235
  wait_for_service("org.osgi.service.cm.ConfigurationAdmin") do |ca|
236
+ # register a listener, so that we can know if the Start Level Service is busted
237
+ bundle = org.osgi.framework.FrameworkUtil.get_bundle(ca.class)
238
+ listener = org.osgi.service.cm.ConfigurationListener.impl do |_method, event|
239
+ next unless event.type == org.osgi.service.cm.ConfigurationEvent::CM_UPDATED
240
+ next unless event.pid == "org.openhab.startlevel"
241
+
242
+ # have to wait for the StartLevelService itself to process this event
243
+ Thread.new do
244
+ sleep 1
245
+ reset_start_level_service
246
+ end
247
+ end
248
+ bundle.bundle_context.register_service(org.osgi.service.cm.ConfigurationListener.java_class,
249
+ listener,
250
+ nil)
251
+
236
252
  cfg = ca.get_configuration("org.openhab.addons", nil)
237
253
  props = cfg.properties || java.util.Hashtable.new
238
254
  # remove all non-binding addons
@@ -686,6 +702,26 @@ module RSpec
686
702
  java.lang.System.set_property("openhab.servicecfg", target_file)
687
703
  end
688
704
 
705
+ # workaround for https://github.com/openhab/openhab-core/pull/3092
706
+ def reset_start_level_service
707
+ sls = ::OpenHAB::Core::OSGI.service("org.openhab.core.service.StartLevelService")
708
+ rs = ::OpenHAB::Core::OSGI.service("org.openhab.core.service.ReadyService")
709
+ sls.class.field_reader :trackers, :markers
710
+ rs.class.field_reader :trackers
711
+ return unless sls.markers.empty?
712
+ # SLS thinks it has trackers that RS doesn't?! Yeah, we hit the bug
713
+ return if (sls.trackers.values - rs.trackers.keys).empty?
714
+
715
+ ca = ::OpenHAB::Core::OSGI.service("org.osgi.service.cm.ConfigurationAdmin")
716
+ cfg = ca.get_configuration("org.openhab.startlevel", nil)
717
+ props = cfg.properties
718
+ config = props.keys.to_h { |k| [k, props.get(k)] }
719
+ m = sls.class.java_class.get_declared_method("modified", java.util.Map)
720
+ m.accessible = true
721
+ sls.trackers.clear
722
+ m.invoke(sls, config)
723
+ end
724
+
689
725
  def minimize_installed_features
690
726
  # cuts down openhab-runtime-base significantly, makes sure
691
727
  # openhab-runtime-ui doesn't get installed (from profile.cfg),
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module OpenHAB
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,184 +1,184 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-13 00:00:00.000000000 Z
11
+ date: 2022-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: faraday
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - "~>"
17
18
  - !ruby/object:Gem::Version
18
19
  version: '2.3'
19
- name: faraday
20
- prerelease: false
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: net-http-persistent
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - "~>"
31
32
  - !ruby/object:Gem::Version
32
33
  version: '4.0'
33
- name: net-http-persistent
34
- prerelease: false
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: openhab-scripting
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
45
  - - "~>"
45
46
  - !ruby/object:Gem::Version
46
47
  version: '4.42'
47
- name: openhab-scripting
48
- prerelease: false
49
48
  type: :runtime
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '4.42'
55
55
  - !ruby/object:Gem::Dependency
56
+ name: rspec-core
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
59
  - - "~>"
59
60
  - !ruby/object:Gem::Version
60
61
  version: '3.11'
61
- name: rspec-core
62
- prerelease: false
63
62
  type: :runtime
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.11'
69
69
  - !ruby/object:Gem::Dependency
70
+ name: timecop
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - "~>"
73
74
  - !ruby/object:Gem::Version
74
75
  version: '0.9'
75
- name: timecop
76
- prerelease: false
77
76
  type: :runtime
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.9'
83
83
  - !ruby/object:Gem::Dependency
84
+ name: irb
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
87
  - - "~>"
87
88
  - !ruby/object:Gem::Version
88
89
  version: '1.4'
89
- name: irb
90
- prerelease: false
91
90
  type: :development
91
+ prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.4'
97
97
  - !ruby/object:Gem::Dependency
98
+ name: rake
98
99
  requirement: !ruby/object:Gem::Requirement
99
100
  requirements:
100
101
  - - "~>"
101
102
  - !ruby/object:Gem::Version
102
103
  version: '13.0'
103
- name: rake
104
- prerelease: false
105
104
  type: :development
105
+ prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '13.0'
111
111
  - !ruby/object:Gem::Dependency
112
+ name: rspec
112
113
  requirement: !ruby/object:Gem::Requirement
113
114
  requirements:
114
115
  - - "~>"
115
116
  - !ruby/object:Gem::Version
116
117
  version: '3.11'
117
- name: rspec
118
- prerelease: false
119
118
  type: :development
119
+ prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '3.11'
125
125
  - !ruby/object:Gem::Dependency
126
+ name: rubocop
126
127
  requirement: !ruby/object:Gem::Requirement
127
128
  requirements:
128
129
  - - "~>"
129
130
  - !ruby/object:Gem::Version
130
131
  version: '1.23'
131
- name: rubocop
132
- prerelease: false
133
132
  type: :development
133
+ prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1.23'
139
139
  - !ruby/object:Gem::Dependency
140
+ name: rubocop-performance
140
141
  requirement: !ruby/object:Gem::Requirement
141
142
  requirements:
142
143
  - - "~>"
143
144
  - !ruby/object:Gem::Version
144
145
  version: '1.12'
145
- name: rubocop-performance
146
- prerelease: false
147
146
  type: :development
147
+ prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '1.12'
153
153
  - !ruby/object:Gem::Dependency
154
+ name: rubocop-rake
154
155
  requirement: !ruby/object:Gem::Requirement
155
156
  requirements:
156
157
  - - "~>"
157
158
  - !ruby/object:Gem::Version
158
159
  version: '0.6'
159
- name: rubocop-rake
160
- prerelease: false
161
160
  type: :development
161
+ prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0.6'
167
167
  - !ruby/object:Gem::Dependency
168
+ name: rubocop-rspec
168
169
  requirement: !ruby/object:Gem::Requirement
169
170
  requirements:
170
171
  - - "~>"
171
172
  - !ruby/object:Gem::Version
172
173
  version: '2.11'
173
- name: rubocop-rspec
174
- prerelease: false
175
174
  type: :development
175
+ prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: '2.11'
181
- description:
181
+ description:
182
182
  email: cody@cutrer.us'
183
183
  executables: []
184
184
  extensions: []
@@ -210,7 +210,7 @@ licenses:
210
210
  - MIT
211
211
  metadata:
212
212
  rubygems_mfa_required: 'true'
213
- post_install_message:
213
+ post_install_message:
214
214
  rdoc_options: []
215
215
  require_paths:
216
216
  - lib
@@ -225,8 +225,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
225
  - !ruby/object:Gem::Version
226
226
  version: '0'
227
227
  requirements: []
228
- rubygems_version: 3.2.29
229
- signing_key:
228
+ rubygems_version: 3.3.7
229
+ signing_key:
230
230
  specification_version: 4
231
231
  summary: Library testing OpenHAB ruby rules with rspec.
232
232
  test_files: []