jumpstart 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source 'http://gemcutter.org'
3
3
  gem 'jumpstart'
4
4
 
5
5
  group :test do
6
- require 'minitest/unit'
6
+ require 'test/unit'
7
7
  require 'shoulda'
8
8
  require 'mocha'
9
9
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{jumpstart}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["i0n"]
@@ -42,11 +42,10 @@ module JumpStart::FileTools
42
42
 
43
43
  # Deletes all files and folders in a directory. Leaves target_dir intact.
44
44
  def delete_dir_contents(target_dir)
45
- files_and_dirs = Find.find(target_dir)
46
- files_and_dirs.each do |x|
45
+ Find.find(target_dir) do |x|
47
46
  if File.file?(x)
48
47
  FileUtils.rm(x)
49
- elsif File.directory?(x) && x != target_dir && File.directory?(x)
48
+ elsif File.directory?(x) && x != target_dir
50
49
  FileUtils.remove_dir(x)
51
50
  end
52
51
  end
@@ -122,7 +121,7 @@ module JumpStart::FileTools
122
121
  def replace_strings(target_file, args)
123
122
  txt = IO.read(target_file)
124
123
  args.each do |x, y|
125
- txt.gsub!(/#{x.upcase}/, y)
124
+ txt.gsub!(/#{x.to_s.upcase}/, y)
126
125
  end
127
126
  File.open(target_file, "w") do |file|
128
127
  file.puts txt
@@ -1,5 +1,5 @@
1
1
  require 'rubygems'
2
- require 'minitest/unit'
2
+ require 'test/unit'
3
3
  require 'shoulda'
4
4
  require 'mocha'
5
5
 
@@ -14,14 +14,12 @@ class TestJumpstartBase < Test::Unit::TestCase
14
14
  output = StringIO.new
15
15
  FileUtils.delete_dir_contents("#{JumpStart::ROOT_PATH}/test/destination_dir")
16
16
  @test_project = JumpStart::Base.new(["test_jumpstart_project"])
17
- @test_project.instance_eval do
18
- @input = input
19
- @output = output
20
- @template_name = "test_template_1"
21
- @template_path = "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_template_1"
22
- set_config_file_options
23
- @install_path = "#{JumpStart::ROOT_PATH}/test/destination_dir"
24
- end
17
+ @test_project.instance_variable_set(:@input, input)
18
+ @test_project.instance_variable_set(:@output, output)
19
+ @test_project.instance_variable_set(:@template_name, "test_template_1")
20
+ @test_project.instance_variable_set(:@template_path, "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_template_1")
21
+ @test_project.instance_eval {set_config_file_options}
22
+ @test_project.instance_variable_set(:@install_path, "#{JumpStart::ROOT_PATH}/test/destination_dir")
25
23
  @test_project.stubs(:exit_normal)
26
24
  @test_project.stubs(:exit_with_success)
27
25
  end
@@ -152,7 +150,7 @@ class TestJumpstartBase < Test::Unit::TestCase
152
150
  should "set @replace_strings" do
153
151
  assert_equal [{:target_path=>"/config/deploy.rb", :symbols=>{:project_name=>"name_of_my_app", :remote_server=>"thoughtplant"}}], @test_project_2.instance_variable_get(:@replace_strings)
154
152
  end
155
-
153
+
156
154
  should "load the jumpstart menu if the specified yaml config file does not exist" do
157
155
  @test_project_3.stubs(:jumpstart_menu).returns("jumpstart_menu")
158
156
  assert_equal "jumpstart_menu", @test_project_3.set_config_file_options
@@ -443,7 +441,7 @@ class TestJumpstartBase < Test::Unit::TestCase
443
441
  @test_project.instance_variable_set(:@input, StringIO.new("blarg\n"))
444
442
  assert_raises(NoMethodError) {@test_project.instance_eval {jumpstart_menu_options}}
445
443
  end
446
-
444
+
447
445
  # Due to the recursive nature of this code, the only successful way to test is to check for the NoMethodError that is raised when the method is called for a second time, this time with @input as nil. I'd be interested to find another way to test this.
448
446
  should "ask for another input if the value entered is not '1,2,3,4 or x'. Test with 'a'" do
449
447
  @test_project.instance_variable_set(:@input, StringIO.new("a\n"))
@@ -630,19 +628,19 @@ class TestJumpstartBase < Test::Unit::TestCase
630
628
  @test_project.expects(:set_templates_dir).once
631
629
  @test_project.instance_eval {templates_dir_options}
632
630
  end
633
-
631
+
634
632
  should "run the reset_templates_dir_to_default method when '2' is entered." do
635
633
  @test_project.instance_variable_set(:@input, StringIO.new("2\n"))
636
634
  @test_project.expects(:reset_templates_dir_to_default_check).once
637
635
  @test_project.instance_eval {templates_dir_options}
638
636
  end
639
-
637
+
640
638
  should "run the jumpstart_menu method when 'b' is entered." do
641
639
  @test_project.instance_variable_set(:@input, StringIO.new("b\n"))
642
640
  @test_project.expects(:jumpstart_menu).once
643
641
  @test_project.instance_eval {templates_dir_options}
644
642
  end
645
-
643
+
646
644
  should "run the exit_normal when 'x' is entered." do
647
645
  @test_project.instance_variable_set(:@input, StringIO.new("x\n"))
648
646
  @test_project.expects(:exit_normal).once
@@ -656,7 +654,7 @@ class TestJumpstartBase < Test::Unit::TestCase
656
654
  end
657
655
 
658
656
  end
659
-
657
+
660
658
  context "Tests for the JumpStart::Base#set_templates_dir instance method." do
661
659
 
662
660
  setup do
@@ -715,7 +713,7 @@ class TestJumpstartBase < Test::Unit::TestCase
715
713
  JumpStart.templates_path = "#{@normal_root_path}/test/test_jumpstart_templates/test_base"
716
714
  @test_project.instance_variable_set(:@current_files_and_dirs, {:files => ['current_files_and_dirs_test_file.txt'], :dirs => ['current_files_and_dirs_test_dir']})
717
715
  end
718
-
716
+
719
717
  teardown do
720
718
  JumpStart::ROOT_PATH = @normal_root_path
721
719
  end
@@ -728,7 +726,7 @@ class TestJumpstartBase < Test::Unit::TestCase
728
726
  assert File.exists?("#{JumpStart::ROOT_PATH}/jumpstart_templates/current_files_and_dirs_test_file.txt")
729
727
  assert File.directory?("#{JumpStart::ROOT_PATH}/jumpstart_templates/current_files_and_dirs_test_dir")
730
728
  end
731
-
729
+
732
730
  should "reset jumpstart templates directory to default if input is 'yes'" do
733
731
  @test_project.expects(:templates_dir_menu)
734
732
  @test_project.instance_variable_set(:@input, StringIO.new("yes\n"))
@@ -744,7 +742,7 @@ class TestJumpstartBase < Test::Unit::TestCase
744
742
  @test_project.instance_eval {reset_templates_dir_to_default_set}
745
743
  assert_equal "\n You have chosen not to move the jumpstart templates directory, nothing has been changed.\n", @test_project.output.string
746
744
  end
747
-
745
+
748
746
  should "run templates_dir_menu if input is 'no'" do
749
747
  @test_project.expects(:templates_dir_menu)
750
748
  @test_project.instance_variable_set(:@input, StringIO.new("no\n"))
@@ -759,7 +757,7 @@ class TestJumpstartBase < Test::Unit::TestCase
759
757
  end
760
758
 
761
759
  end
762
-
760
+
763
761
  context "Tests for the JumpStart::Base#execute_install_command instance method." do
764
762
 
765
763
  should "do nothing if @install_command is nil" do
@@ -777,7 +775,7 @@ class TestJumpstartBase < Test::Unit::TestCase
777
775
  @test_project.instance_eval {execute_install_command}
778
776
  assert_equal "", @test_project.output.string
779
777
  end
780
-
778
+
781
779
  should "execute @install_command if it contains a string" do
782
780
  @test_project.instance_variable_set(:@install_path, "#{JumpStart::ROOT_PATH}/test/destination_dir")
783
781
  @test_project.instance_variable_set(:@install_command, "echo")
@@ -786,7 +784,7 @@ class TestJumpstartBase < Test::Unit::TestCase
786
784
  @test_project.instance_eval {execute_install_command}
787
785
  assert_equal "Executing command: \e[32mecho\e[0m \e[32mtest_jumpstart_project\e[0m \e[32minstall command args\e[0m\n", @test_project.output.string
788
786
  end
789
-
787
+
790
788
  should "raise an error if the @install_path does not exist" do
791
789
  @test_project.instance_variable_set(:@install_path, "#{JumpStart::ROOT_PATH}/test/destination_dir/this/dir/does/not/exist")
792
790
  @test_project.instance_variable_set(:@install_command, "echo")
@@ -795,7 +793,7 @@ class TestJumpstartBase < Test::Unit::TestCase
795
793
  end
796
794
 
797
795
  end
798
-
796
+
799
797
  context "Tests for the JumpStart::Base#parse_template_dir instance method." do
800
798
 
801
799
  setup do
@@ -823,29 +821,29 @@ class TestJumpstartBase < Test::Unit::TestCase
823
821
  end
824
822
 
825
823
  should "populate @dir_list with directories contained in @template_path" do
826
- assert_equal ['', '/parse_template_dir'], @test_project.instance_variable_get(:@dir_list)
824
+ assert_equal ['', '/parse_template_dir'], @test_project.instance_variable_get(:@dir_list).sort
827
825
  end
828
826
 
829
827
  should "populate @append_templates with files that are prefixed with _._ _l._ or _L._ and do not contain a directory called jumpstart_config." do
830
828
  assert_equal ["/parse_template_dir/_._append_test_5.txt",
831
829
  "/parse_template_dir/_._append_test_6",
832
830
  "/parse_template_dir/_L._append_test_8.txt",
833
- "/parse_template_dir/_l._append_test_7.txt"], @test_project.instance_variable_get(:@append_templates)
831
+ "/parse_template_dir/_l._append_test_7.txt"], @test_project.instance_variable_get(:@append_templates).sort
834
832
  end
835
833
 
836
834
  should "populate @line_templates with files that are prefixed with _(number)._ e.g. _1._ or _1000._. File paths that include a directory called jumpstart_config should be excluded." do
837
835
  assert_equal ["/parse_template_dir/_1._line_test_3.txt",
838
- "/parse_template_dir/_10000._line_test_4.txt"], @test_project.instance_variable_get(:@line_templates)
836
+ "/parse_template_dir/_10000._line_test_4.txt"], @test_project.instance_variable_get(:@line_templates).sort
839
837
  end
840
838
 
841
839
  should "populate @whole_templates with a files that do not match append or line templates and do not contain a directory called jumpstart_config in their path." do
842
- assert_equal ["/parse_template_dir/whole_test_3", "/parse_template_dir/whole_test_4.txt"], @test_project.instance_variable_get(:@whole_templates)
840
+ assert_equal ["/parse_template_dir/whole_test_3", "/parse_template_dir/whole_test_4.txt"], @test_project.instance_variable_get(:@whole_templates).sort
843
841
  end
844
842
 
845
843
  should "populate @nginx_local_template if a file matching jumpstart_config/nginx.local.conf is found" do
846
844
  assert_equal "#{JumpStart::ROOT_PATH}/test/destination_dir/parse_template_dir/jumpstart_config/nginx.local.conf", @test_project.instance_variable_get(:@nginx_local_template)
847
845
  end
848
-
846
+
849
847
  should "populate @nginx_remote_template if a file matching jumpstart_config/nginx.remote.conf is found" do
850
848
  assert_equal "#{JumpStart::ROOT_PATH}/test/destination_dir/parse_template_dir/jumpstart_config/nginx.remote.conf", @test_project.instance_variable_get(:@nginx_remote_template)
851
849
  end
@@ -868,7 +866,7 @@ class TestJumpstartBase < Test::Unit::TestCase
868
866
  end
869
867
 
870
868
  end
871
-
869
+
872
870
  context "Tests for the JumpStart::Base#populate_files_from_whole_templates instance method." do
873
871
 
874
872
  should "create files from @whole_templates" do
@@ -881,7 +879,7 @@ class TestJumpstartBase < Test::Unit::TestCase
881
879
  end
882
880
 
883
881
  end
884
-
882
+
885
883
  context "Tests for the JumpStart::Base#populate_files_from_append_templates instance method." do
886
884
 
887
885
  should "append contents of append template to file." do
@@ -895,20 +893,20 @@ class TestJumpstartBase < Test::Unit::TestCase
895
893
  assert_equal "THIS IS THE LAST LINE\n", file_2[9]
896
894
  assert_equal "9\n", file_1[8]
897
895
  assert_equal "9\n", file_2[8]
898
- refute file_1[10]
899
- refute file_2[10]
896
+ assert !file_1[10]
897
+ assert !file_2[10]
900
898
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_append_file_with_extension.txt")
901
899
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_append_file_without_extension")
902
900
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/normal_folder_name/test_append_file_with_extension.txt")
903
901
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/normal_folder_name/test_append_file_without_extension")
904
902
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_append_to_end_of_file_remove_last_line_1.txt")
905
- refute File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_L._test_append_to_end_of_file_remove_last_line_1.txt")
903
+ assert !File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_L._test_append_to_end_of_file_remove_last_line_1.txt")
906
904
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_append_to_end_of_file_remove_last_line_2.txt")
907
- refute File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_l._test_append_to_end_of_file_remove_last_line_2.txt")
905
+ assert !File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_l._test_append_to_end_of_file_remove_last_line_2.txt")
908
906
  end
909
907
 
910
908
  end
911
-
909
+
912
910
  context "Tests for the JumpStart::Base#populate_files_from_line_templates instance method. \n" do
913
911
 
914
912
  should "append contents of line templates to the relevant file." do
@@ -927,7 +925,7 @@ class TestJumpstartBase < Test::Unit::TestCase
927
925
  end
928
926
 
929
927
  end
930
-
928
+
931
929
  context "Tests for the JumpStart::Base#check_local_nginx_configuration instance method. \n" do
932
930
 
933
931
  setup do
@@ -1032,7 +1030,7 @@ class TestJumpstartBase < Test::Unit::TestCase
1032
1030
 
1033
1031
  should "return false if @replace_strings is empty." do
1034
1032
  @test_project.instance_eval {@replace_strings = []}
1035
- refute(@test_project.instance_eval {check_for_strings_to_replace})
1033
+ assert !@test_project.instance_eval {check_for_strings_to_replace}
1036
1034
  end
1037
1035
 
1038
1036
  end
@@ -1083,13 +1081,13 @@ class TestJumpstartBase < Test::Unit::TestCase
1083
1081
  context "Tests for the JumpStart::Base.remove_last_line? class method.\n" do
1084
1082
 
1085
1083
  should "return false" do
1086
- refute JumpStart::Base.remove_last_line?("/path/to/file.txt")
1087
- refute JumpStart::Base.remove_last_line?("/path/to/_._file.txt")
1088
- refute JumpStart::Base.remove_last_line?("_.__file.txt")
1089
- refute JumpStart::Base.remove_last_line?("/path/to/_R._file.txt")
1090
- refute JumpStart::Base.remove_last_line?("/path/to/_.1_file.txt")
1091
- refute JumpStart::Base.remove_last_line?("/path/to/_1._file.txt")
1092
- refute JumpStart::Base.remove_last_line?("/path/to/_111._file.txt")
1084
+ assert !JumpStart::Base.remove_last_line?("/path/to/file.txt")
1085
+ assert !JumpStart::Base.remove_last_line?("/path/to/_._file.txt")
1086
+ assert !JumpStart::Base.remove_last_line?("_.__file.txt")
1087
+ assert !JumpStart::Base.remove_last_line?("/path/to/_R._file.txt")
1088
+ assert !JumpStart::Base.remove_last_line?("/path/to/_.1_file.txt")
1089
+ assert !JumpStart::Base.remove_last_line?("/path/to/_1._file.txt")
1090
+ assert !JumpStart::Base.remove_last_line?("/path/to/_111._file.txt")
1093
1091
  end
1094
1092
 
1095
1093
  should "return true" do
@@ -1106,7 +1104,7 @@ class TestJumpstartBase < Test::Unit::TestCase
1106
1104
  context "Create jumpstart with the project name argument passed to it but do not start.\n" do
1107
1105
 
1108
1106
  should "be able to create a new jumpstart with the project name as the first argument" do
1109
- refute_nil @test_project
1107
+ assert @test_project
1110
1108
  end
1111
1109
 
1112
1110
  should "have set @project_name variable to 'test_jumpstart_project'" do
@@ -1139,9 +1137,9 @@ class TestJumpstartBase < Test::Unit::TestCase
1139
1137
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_replace_strings/replace_strings_1.rb")
1140
1138
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_replace_strings/replace_strings_2.txt")
1141
1139
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_append_to_end_of_file_remove_last_line_1.txt")
1142
- refute File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_L._test_append_to_end_of_file_remove_last_line_1.txt")
1140
+ assert !File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_L._test_append_to_end_of_file_remove_last_line_1.txt")
1143
1141
  assert File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/test_append_to_end_of_file_remove_last_line_2.txt")
1144
- refute File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_l._test_append_to_end_of_file_remove_last_line_2.txt")
1142
+ assert !File.exists?("#{JumpStart::ROOT_PATH}/test/destination_dir/test_jumpstart_project/_l._test_append_to_end_of_file_remove_last_line_2.txt")
1145
1143
  end
1146
1144
 
1147
1145
  should "remove last lines from files and append template info" do
@@ -1152,13 +1150,13 @@ class TestJumpstartBase < Test::Unit::TestCase
1152
1150
  assert_equal "THIS IS THE LAST LINE\n", file_2[9]
1153
1151
  assert_equal "9\n", file_1[8]
1154
1152
  assert_equal "9\n", file_2[8]
1155
- refute file_1[10]
1156
- refute file_2[10]
1153
+ assert !file_1[10]
1154
+ assert !file_2[10]
1157
1155
  end
1158
1156
 
1159
1157
  end
1160
1158
 
1161
1159
  end
1162
-
1160
+
1163
1161
  end
1164
1162
  end
@@ -119,16 +119,16 @@ class TestJumpstartFileTools < Test::Unit::TestCase
119
119
  file = FileUtils.join_paths(@file_path, "/remove_files_test_1.txt")
120
120
  @file_array << file
121
121
  FileUtils.remove_files(@file_array)
122
- refute File.exists?("#{@file_path}/remove_files_test_1.txt")
122
+ assert !File.exists?("#{@file_path}/remove_files_test_1.txt")
123
123
  end
124
124
 
125
125
  should "delete all three test files" do
126
126
  @file_array << "/remove_files_test_1.txt" << "/remove_files_test_2.txt" << "/remove_files_test_3.txt"
127
127
  @file_array.map!{|x| FileUtils.join_paths(@file_path, x)}
128
128
  FileUtils.remove_files(@file_array)
129
- refute File.exists?("#{@file_path}/remove_files_test_1.txt")
130
- refute File.exists?("#{@file_path}/remove_files_test_2.txt")
131
- refute File.exists?("#{@file_path}/remove_files_test_3.txt")
129
+ assert !File.exists?("#{@file_path}/remove_files_test_1.txt")
130
+ assert !File.exists?("#{@file_path}/remove_files_test_2.txt")
131
+ assert !File.exists?("#{@file_path}/remove_files_test_3.txt")
132
132
  end
133
133
 
134
134
  end
@@ -360,11 +360,11 @@ class TestJumpstartFileTools < Test::Unit::TestCase
360
360
  "/folder_1/file_3.txt",
361
361
  "/folder_1/folder_2/file_4.txt",
362
362
  "/folder_1/folder_2/folder_3/file_5.txt",
363
- "/folder_1/folder_2/folder_4/file_6.txt"], results[:files]
363
+ "/folder_1/folder_2/folder_4/file_6.txt"], results[:files].sort
364
364
  assert_equal ["/folder_1",
365
365
  "/folder_1/folder_2",
366
366
  "/folder_1/folder_2/folder_3",
367
- "/folder_1/folder_2/folder_4"], results[:dirs]
367
+ "/folder_1/folder_2/folder_4"], results[:dirs].sort
368
368
  end
369
369
 
370
370
  should "return an empty hash when passed nil" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - i0n