test/lightning_config_test.rb in cldwalker-lightning-0.1.1 vs test/lightning_config_test.rb in cldwalker-lightning-0.1.2

- old
+ new

@@ -1,41 +1,62 @@ require File.dirname(__FILE__) + '/test_helper' class LightningConfigTest < Test::Unit::TestCase context "A config" do - config = Lightning.read_config(File.dirname(__FILE__) + '/lightning.yml') + before(:all) { + @config = Lightning.read_config_file(File.dirname(__FILE__) + '/lightning.yml') + } should "be a hash" do - assert config.is_a?(Hash) + assert @config.is_a?(Hash) end should "have keys that are symbols" do - assert config.keys.all? {|e| e.is_a?(Symbol)} + assert @config.keys.all? {|e| e.is_a?(Symbol)} end should "have read supported keys" do supported_keys = [:generated_file, :commands, :ignore_paths, :paths, :shell] - assert_arrays_equal supported_keys, config.keys + assert_arrays_equal supported_keys, @config.keys end should "have a generated_file key which is a string" do - assert config[:generated_file].is_a?(String) + assert @config[:generated_file].is_a?(String) end should "have a commands key which is an array" do - assert config[:commands].is_a?(Array) + assert @config[:commands].is_a?(Array) end should "have a command with valid keys" do - assert config[:commands][0].slice('name', 'map_to', 'description').values.all? {|e| e.is_a?(String)} - assert config[:commands][0]['paths'].is_a?(Array) + assert @config[:commands][0].slice('name', 'map_to', 'description').values.all? {|e| e.is_a?(String)} + assert @config[:commands][0]['paths'].is_a?(Array) end should "have a paths key which is a hash" do - assert config[:paths].is_a?(Hash) + assert @config[:paths].is_a?(Hash) end should "have an ignore_paths key which is an array" do - assert config[:ignore_paths].is_a?(Array) - end + assert @config[:ignore_paths].is_a?(Array) + end end -end \ No newline at end of file + + context ":configure_commands_and_paths" do + test "generates bolt key if none exists" do + config = {:commands=>[{'name'=>'c1', 'map_to'=>'s1'}]} + assert ! Lightning.configure_commands_and_paths(config)[:commands][0]['bolt_key'].nil? + end + + test "adds generated bolt key to config.paths if it didn't exist" do + config = {:commands=>[{'name'=>'c1', 'map_to'=>'s1', 'paths'=>['*']}]} + new_config = Lightning.configure_commands_and_paths(config) + bolt_key = new_config[:commands][0]['bolt_key'] + assert new_config[:paths].has_key?(bolt_key) + end + + test "adds reference to bolt key if command.paths is a string" do + config = {:commands=>[{'name'=>'c1', 'map_to'=>'s1', 'paths'=>'blah'}]} + assert_equal 'blah', Lightning.configure_commands_and_paths(config)[:commands][0]['bolt_key'] + end + end +end