RspecHue
¶ ↑
RspecHue
is a formatter for RSpec that will show the status of your tests to the entire office using Philips Hue.
Installation¶ ↑
Note: Early version..
gem 'rspec-hue'
And then execute:
$ bundle
Usage¶ ↑
RspecHue
depends on the Huey gem that will auto-discover your Philips Hue using SSDP. Or if you want, you can configure it to use a static ip-address.
On first usage, you will have to press the link button on your Hue when prompted, or right before running your first test with the Hue formatter.
Configuration¶ ↑
You’ll have to configure the formatter using RSpec.configure, usually in your spec_helper.rb. This is the minimal required configuration for RspecHue
(not really, Huey will find a bulb, but I wouldn’t count on it):
RSpec.configure do |config| config.rspec_hue_light_id = 1 end
Available settings are:
RSpec.configure do |config| config.rspec_hue_light_id = "light name" # could be name or an id, depending on how you named your lights # optional settings: config.rspec_hue_ip = "10.0.1.92" # Will disable auto-discover and use this static ip config.rspec_hue_api_user = "29b6dc6100397272a74dd2a1f6f545b" # if you want to use another api user in your Hue # The default colors, could be overridden. # See mention below for color syntax. config.rspec_hue_failed_color = { bri: 183, ct: 500, xy: [ 0.6731, 0.3215 ] } # red, default for failing specs config.rspec_hue_passed_color = { bri: 57, ct: 500, xy: [ 0.408, 0.517 ] } # green, default for passing specs end
Enabling in RSpec¶ ↑
In your .rspec add:
--format RspecHue
Light ids explained¶ ↑
The config.rspec_hue_light_id refers either to an light id or a light name. See the Hue dev docs. Name can be easily be changed from the iPhone App or the Mac Colors for Hue.
Colors¶ ↑
See Hue dev docs or Huey#bulbs. You could also set the color, using your iPhone Hue-app or the Mac Colors for Hue, and then check the parameters using the Hue REST-interface (there seems to be a 100s cache for this call, so if it doesn’t change, wait and refresh).
Office configuration¶ ↑
In our office, we have one lamp per developer and we named them after the developer’s name. Then, we configure as:
RSpec.configure do |config| config.rspec_hue_light_id = `git config user.name`.strip end
This will pull the name from the developer’s git config and use it to find hers/his light.
RSpecHue will not break tests if the Hue isn’t found, or if the rspec_hue_light_id isn’t accessible, but will output an one-liner error message.
Contributing¶ ↑
-
Fork it
-
Create your feature branch (
git checkout -b my-new-feature
) -
Commit your changes (
git commit -am 'Add some feature'
) -
Push to the branch (
git push origin my-new-feature
) -
Create new Pull Request