howitzer 0.0.3 → 1.0.1

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.
Files changed (81) hide show
  1. data/.gitignore +8 -0
  2. data/.rspec +3 -0
  3. data/.travis.yml +4 -0
  4. data/CHANGELOG.md +32 -0
  5. data/GETTING_STARTED.md +529 -0
  6. data/Gemfile +4 -2
  7. data/LICENSE +2 -2
  8. data/README.md +57 -13
  9. data/Rakefile +9 -2
  10. data/bin/howitzer +79 -31
  11. data/generators/base_generator.rb +87 -0
  12. data/generators/config/config_generator.rb +16 -20
  13. data/generators/config/templates/default.yml +26 -7
  14. data/generators/cucumber/cucumber_generator.rb +20 -26
  15. data/generators/{tasks → cucumber}/templates/cucumber.rake +0 -0
  16. data/generators/{config → cucumber}/templates/cucumber.yml +0 -0
  17. data/generators/emails/emails_generator.rb +11 -18
  18. data/generators/emails/templates/example_email.rb +1 -0
  19. data/generators/pages/pages_generator.rb +16 -18
  20. data/generators/pages/templates/example_menu.rb +1 -0
  21. data/generators/pages/templates/example_page.rb +1 -1
  22. data/generators/root/root_generator.rb +18 -20
  23. data/generators/root/templates/.gitignore +2 -1
  24. data/generators/root/templates/Gemfile +3 -2
  25. data/generators/root/templates/Rakefile +10 -0
  26. data/generators/root/templates/boot.rb +3 -9
  27. data/generators/rspec/rspec_generator.rb +23 -0
  28. data/generators/rspec/templates/example_spec.rb +7 -0
  29. data/generators/rspec/templates/rspec.rake +34 -0
  30. data/generators/rspec/templates/spec_helper.rb +56 -0
  31. data/generators/tasks/tasks_generator.rb +11 -17
  32. data/generators/tasks/templates/common.rake +15 -0
  33. data/howitzer.gemspec +13 -2
  34. data/lib/howitzer.rb +1 -0
  35. data/lib/howitzer/helpers.rb +87 -2
  36. data/lib/howitzer/init.rb +0 -1
  37. data/lib/howitzer/patches/rawler_patched.rb +86 -0
  38. data/lib/howitzer/settings.rb +27 -0
  39. data/lib/howitzer/utils.rb +3 -12
  40. data/lib/howitzer/utils/capybara_patched.rb +3 -2
  41. data/lib/howitzer/utils/capybara_settings.rb +158 -24
  42. data/lib/howitzer/utils/data_generator/data_storage.rb +35 -1
  43. data/lib/howitzer/utils/data_generator/gen.rb +45 -3
  44. data/lib/howitzer/utils/email/email.rb +44 -5
  45. data/lib/howitzer/utils/email/mail_client.rb +28 -22
  46. data/lib/howitzer/utils/email/mailgun_helper.rb +30 -4
  47. data/lib/howitzer/utils/locator_store.rb +111 -19
  48. data/lib/howitzer/utils/log.rb +137 -0
  49. data/lib/howitzer/utils/page_validator.rb +86 -0
  50. data/lib/howitzer/vendor/firebug-1.12.1-fx.xpi +0 -0
  51. data/lib/howitzer/vendor/firepath-0.9.7-fx.xpi +0 -0
  52. data/lib/howitzer/version.rb +2 -2
  53. data/lib/howitzer/web_page.rb +159 -19
  54. data/spec/active_resource.rb +0 -0
  55. data/spec/config/custom.yml +1 -0
  56. data/spec/config/default.yml +28 -0
  57. data/spec/spec_helper.rb +46 -1
  58. data/spec/support/boot_helper.rb +15 -0
  59. data/spec/support/generator_helper.rb +13 -0
  60. data/spec/support/logger_helper.rb +12 -0
  61. data/spec/unit/bin/howitzer_spec.rb +175 -0
  62. data/spec/unit/generators/generators_spec.rb +175 -0
  63. data/spec/unit/lib/capybara_settings_spec.rb +170 -0
  64. data/spec/unit/lib/helpers_spec.rb +619 -0
  65. data/spec/unit/lib/init_spec.rb +14 -0
  66. data/spec/unit/lib/settings_spec.rb +17 -0
  67. data/spec/unit/lib/utils/data_generator/data_storage_spec.rb +62 -0
  68. data/spec/unit/lib/utils/data_generator/gen_spec.rb +151 -0
  69. data/spec/unit/lib/utils/email/email_spec.rb +75 -0
  70. data/spec/unit/lib/utils/email/mail_client_spec.rb +115 -0
  71. data/spec/unit/lib/utils/email/mailgun_helper_spec.rb +95 -0
  72. data/spec/unit/lib/utils/locator_store_spec.rb +122 -0
  73. data/spec/unit/lib/utils/log_spec.rb +107 -0
  74. data/spec/unit/lib/utils/page_validator_spec.rb +142 -0
  75. data/spec/unit/lib/web_page_spec.rb +250 -0
  76. data/spec/unit/version_spec.rb +8 -0
  77. metadata +215 -15
  78. data/Gemfile.lock +0 -103
  79. data/History.md +0 -20
  80. data/lib/howitzer/utils/logger.rb +0 -108
  81. data/spec/howitzer/version_spec.rb +0 -8
@@ -1,108 +0,0 @@
1
- require 'log4r'
2
- require 'fileutils'
3
-
4
- module AppLogger
5
- include Log4r
6
-
7
- @logger = Logger.new("ruby_log")
8
-
9
- #STDOUT
10
- console_log = StdoutOutputter.new(:console)
11
- console_log.only_at(INFO, DEBUG, WARN)
12
- @logger.add(console_log)
13
-
14
- #STDERR
15
- error_log = StderrOutputter.new(:error, 'level' => ERROR)
16
- @logger.add(error_log)
17
-
18
- #Txt outputter
19
- FileUtils.mkdir_p(settings.log_dir) unless File.exists?(settings.log_dir)
20
- filename = File.join(settings.log_dir, settings.txt_log)
21
-
22
- txt_log = FileOutputter.new(:txt_log, :filename => filename, :trunc => true)
23
- @logger.add(txt_log)
24
-
25
-
26
- def self.log
27
- @logger
28
- end
29
-
30
- def self.blank_formatter
31
- PatternFormatter.new(:pattern => "%m")
32
- end
33
-
34
- def self.default_formatter
35
-
36
- if settings.hide_datetime_from_log
37
- params = {pattern: "[%l] %m"}
38
- else
39
- params = {pattern: "%d [%l] :: %m", date_pattern: "%Y/%m/%d %H:%M:%S"}
40
- end
41
- PatternFormatter.new(params)
42
- end
43
-
44
- def self.base_formatter=(formatter)
45
- @logger.outputters.each {|outputter| outputter.formatter = formatter}
46
- end
47
-
48
- AppLogger.base_formatter = AppLogger.default_formatter
49
- Logger["ruby_log"].level = settings.debug_mode ? ALL : INFO
50
- Logger["ruby_log"].trace = true
51
- end
52
-
53
- def log
54
- AppLogger.log
55
- end
56
-
57
- AppLogger.base_formatter = AppLogger.blank_formatter
58
- #log.info settings.pretty_formatted_properties
59
- AppLogger.base_formatter = AppLogger.default_formatter
60
-
61
- def log.print_feature_name(text)
62
- AppLogger.base_formatter = AppLogger.blank_formatter
63
- log.info "*** Feature: #{text.upcase} ***"
64
- AppLogger.base_formatter = AppLogger.default_formatter
65
- end
66
-
67
- def log.settings_as_formatted_text
68
- AppLogger.base_formatter = AppLogger.blank_formatter
69
- log.info settings.as_formatted_text
70
- AppLogger.base_formatter = AppLogger.default_formatter
71
- end
72
-
73
- def log.print_scenario_name(text)
74
- AppLogger.base_formatter = AppLogger.blank_formatter
75
- log.info " => Scenario: #{text}"
76
- AppLogger.base_formatter = AppLogger.default_formatter
77
- end
78
-
79
- class << log
80
- eval "alias :n_error :error"
81
- end
82
-
83
- # examples:
84
- # log.error MyException, 'Some error text', caller
85
- # log.error 'Some error text', caller
86
- # log.error 'Some error text'
87
- # log.error err_object
88
- def log.error(*args)
89
- if args.first.nil?
90
- object = $!
91
- else
92
- object = case args.size
93
- when 1
94
- args.first.is_a?(Exception) ? args.first : RuntimeError.new(args.first)
95
- when 2
96
- exception = RuntimeError.new(args.first)
97
- exception.set_backtrace(args.last)
98
- exception
99
- when 3
100
- exception = args.first.new(args[1])
101
- exception.set_backtrace(args.last)
102
- exception
103
- end
104
- end
105
- err_backtrace = "\n\t#{object.backtrace.join("\n\t")}" unless object.backtrace.nil?
106
- self.n_error("[#{object.class}] #{object.message}#{err_backtrace}")
107
- fail(object)
108
- end
@@ -1,8 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe 'Version' do
4
- it 'should contains VERSION constant with correct format' do
5
- Howitzer.constants.should include(:VERSION)
6
- Howitzer::VERSION.should match(/^\d+\.\d+\.\d+$/)
7
- end
8
- end