hammer_cli 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/bin/hammer +4 -9
  3. data/config/cli_config.template.yml +12 -6
  4. data/doc/creating_commands.md +38 -0
  5. data/doc/i18n.md +33 -2
  6. data/doc/option_normalizers.md +2 -0
  7. data/doc/release_notes.md +18 -0
  8. data/lib/hammer_cli/abstract.rb +7 -2
  9. data/lib/hammer_cli/apipie/option_builder.rb +1 -1
  10. data/lib/hammer_cli/ca_cert_fetcher.rb +8 -8
  11. data/lib/hammer_cli/clamp.rb +9 -9
  12. data/lib/hammer_cli/context.rb +2 -1
  13. data/lib/hammer_cli/defaults.rb +12 -14
  14. data/lib/hammer_cli/defaults_commands.rb +2 -2
  15. data/lib/hammer_cli/exception_handler.rb +1 -1
  16. data/lib/hammer_cli/help/builder.rb +2 -1
  17. data/lib/hammer_cli/i18n/find_task.rb +41 -0
  18. data/lib/hammer_cli/i18n.rb +4 -0
  19. data/lib/hammer_cli/logger.rb +1 -1
  20. data/lib/hammer_cli/main.rb +12 -11
  21. data/lib/hammer_cli/modules.rb +5 -8
  22. data/lib/hammer_cli/options/normalizers.rb +15 -11
  23. data/lib/hammer_cli/options/option_collector.rb +17 -3
  24. data/lib/hammer_cli/options/option_definition.rb +36 -21
  25. data/lib/hammer_cli/output/adapter/csv.rb +1 -1
  26. data/lib/hammer_cli/output/adapter/table.rb +8 -6
  27. data/lib/hammer_cli/settings.rb +1 -6
  28. data/lib/hammer_cli/shell.rb +2 -2
  29. data/lib/hammer_cli/ssloptions.rb +5 -5
  30. data/lib/hammer_cli/subcommand.rb +51 -26
  31. data/lib/hammer_cli/testing/command_assertions.rb +2 -2
  32. data/lib/hammer_cli/testing/messages.rb +54 -0
  33. data/lib/hammer_cli/validator.rb +9 -9
  34. data/lib/hammer_cli/version.rb +1 -1
  35. data/locale/ca/LC_MESSAGES/hammer-cli.mo +0 -0
  36. data/locale/de/LC_MESSAGES/hammer-cli.mo +0 -0
  37. data/locale/en/LC_MESSAGES/hammer-cli.mo +0 -0
  38. data/locale/en_GB/LC_MESSAGES/hammer-cli.mo +0 -0
  39. data/locale/es/LC_MESSAGES/hammer-cli.mo +0 -0
  40. data/locale/fr/LC_MESSAGES/hammer-cli.mo +0 -0
  41. data/locale/it/LC_MESSAGES/hammer-cli.mo +0 -0
  42. data/locale/ja/LC_MESSAGES/hammer-cli.mo +0 -0
  43. data/locale/ko/LC_MESSAGES/hammer-cli.mo +0 -0
  44. data/locale/pt_BR/LC_MESSAGES/hammer-cli.mo +0 -0
  45. data/locale/ru/LC_MESSAGES/hammer-cli.mo +0 -0
  46. data/locale/zh_CN/LC_MESSAGES/hammer-cli.mo +0 -0
  47. data/locale/zh_TW/LC_MESSAGES/hammer-cli.mo +0 -0
  48. data/man/hammer.1.gz +0 -0
  49. data/test/functional/defaults_test.rb +3 -12
  50. data/test/functional/help_test.rb +1 -1
  51. data/test/functional/nil_values_test.rb +75 -0
  52. data/test/functional/test_helper.rb +10 -0
  53. data/test/reports/TEST-Fields-ContainerField-display-.xml +7 -0
  54. data/test/reports/TEST-Fields-ContainerField-display-blank-is-allowed.xml +15 -0
  55. data/test/reports/TEST-Fields-ContainerField-display-blank-is-not-allowed.xml +15 -0
  56. data/test/reports/TEST-Fields-ContainerField.xml +7 -0
  57. data/test/reports/TEST-Fields-Field-display-.xml +7 -0
  58. data/test/reports/TEST-Fields-Field-display-blank-is-allowed.xml +11 -0
  59. data/test/reports/TEST-Fields-Field-display-blank-is-not-allowed.xml +11 -0
  60. data/test/reports/TEST-Fields-Field-hide-blank-.xml +11 -0
  61. data/test/reports/TEST-Fields-Field-parameters.xml +9 -0
  62. data/test/reports/TEST-Fields-Field.xml +13 -0
  63. data/test/reports/TEST-HammerCLI-AbstractCommand-build-options.xml +15 -0
  64. data/test/reports/TEST-HammerCLI-AbstractCommand-exception-handler.xml +13 -0
  65. data/test/reports/TEST-HammerCLI-AbstractCommand-logging.xml +21 -0
  66. data/test/reports/TEST-HammerCLI-AbstractCommand-option-builder.xml +11 -0
  67. data/test/reports/TEST-HammerCLI-AbstractCommand-options.xml +11 -0
  68. data/test/reports/TEST-HammerCLI-AbstractCommand-output.xml +19 -0
  69. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-remove-subcommand.xml +11 -0
  70. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-subcommand-.xml +13 -0
  71. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-subcommand.xml +11 -0
  72. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior.xml +7 -0
  73. data/test/reports/TEST-HammerCLI-AbstractCommand.xml +11 -0
  74. data/test/reports/TEST-HammerCLI-Apipie-Command-options.xml +11 -0
  75. data/test/reports/TEST-HammerCLI-Apipie-Command-resource-defined.xml +9 -0
  76. data/test/reports/TEST-HammerCLI-Apipie-Command-setting-resources.xml +19 -0
  77. data/test/reports/TEST-HammerCLI-Apipie-Command.xml +9 -0
  78. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-aliasing-resources.xml +13 -0
  79. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-filtering-options.xml +15 -0
  80. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-required-options.xml +11 -0
  81. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-setting-correct-normalizers.xml +9 -0
  82. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-with-hash-params.xml +11 -0
  83. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-with-one-simple-param.xml +15 -0
  84. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder.xml +7 -0
  85. data/test/reports/TEST-HammerCLI-Completer-command-completion.xml +29 -0
  86. data/test/reports/TEST-HammerCLI-Completer-option-value-completion.xml +17 -0
  87. data/test/reports/TEST-HammerCLI-Completer-subcommand-completion.xml +19 -0
  88. data/test/reports/TEST-HammerCLI-Completer.xml +7 -0
  89. data/test/reports/TEST-HammerCLI-CompleterLine-line-complete.xml +25 -0
  90. data/test/reports/TEST-HammerCLI-CompleterLine-splitting-words.xml +29 -0
  91. data/test/reports/TEST-HammerCLI-CompleterLine.xml +7 -0
  92. data/test/reports/TEST-HammerCLI-CompleterWord-complete-.xml +23 -0
  93. data/test/reports/TEST-HammerCLI-CompleterWord-quote.xml +15 -0
  94. data/test/reports/TEST-HammerCLI-CompleterWord-quoted-.xml +13 -0
  95. data/test/reports/TEST-HammerCLI-CompleterWord.xml +7 -0
  96. data/test/reports/TEST-HammerCLI-Connection.xml +21 -0
  97. data/test/reports/TEST-HammerCLI-ExceptionHandler.xml +21 -0
  98. data/test/reports/TEST-HammerCLI-I18n.xml +11 -0
  99. data/test/reports/TEST-HammerCLI-MainCommand-loading-context-password.xml +11 -0
  100. data/test/reports/TEST-HammerCLI-MainCommand-loading-context-username.xml +11 -0
  101. data/test/reports/TEST-HammerCLI-MainCommand-loading-context-verbose.xml +9 -0
  102. data/test/reports/TEST-HammerCLI-MainCommand-loading-context.xml +7 -0
  103. data/test/reports/TEST-HammerCLI-MainCommand.xml +7 -0
  104. data/test/reports/TEST-HammerCLI-Modules-find-by-name.xml +13 -0
  105. data/test/reports/TEST-HammerCLI-Modules-load-a-module-module-not-found.xml +13 -0
  106. data/test/reports/TEST-HammerCLI-Modules-load-a-module-module-runtime-exception.xml +13 -0
  107. data/test/reports/TEST-HammerCLI-Modules-load-a-module-success.xml +15 -0
  108. data/test/reports/TEST-HammerCLI-Modules-load-a-module.xml +7 -0
  109. data/test/reports/TEST-HammerCLI-Modules-load-all-modules.xml +9 -0
  110. data/test/reports/TEST-HammerCLI-Modules-names.xml +13 -0
  111. data/test/reports/TEST-HammerCLI-Modules.xml +7 -0
  112. data/test/reports/TEST-HammerCLI-OptionBuilderContainer.0.xml +7 -0
  113. data/test/reports/TEST-HammerCLI-OptionBuilderContainer.xml +11 -0
  114. data/test/reports/TEST-HammerCLI-Options-Normalizers-abstract.xml +9 -0
  115. data/test/reports/TEST-HammerCLI-Options-Normalizers-bool.xml +31 -0
  116. data/test/reports/TEST-HammerCLI-Options-Normalizers-datetime.xml +17 -0
  117. data/test/reports/TEST-HammerCLI-Options-Normalizers-enum.xml +15 -0
  118. data/test/reports/TEST-HammerCLI-Options-Normalizers-enumlist.xml +21 -0
  119. data/test/reports/TEST-HammerCLI-Options-Normalizers-json-input.xml +15 -0
  120. data/test/reports/TEST-HammerCLI-Options-Normalizers-key-value-list.xml +17 -0
  121. data/test/reports/TEST-HammerCLI-Options-Normalizers-list.xml +15 -0
  122. data/test/reports/TEST-HammerCLI-Options-Normalizers.xml +7 -0
  123. data/test/reports/TEST-HammerCLI-Options-OptionDefinition-context.xml +9 -0
  124. data/test/reports/TEST-HammerCLI-Options-OptionDefinition-formatters.xml +11 -0
  125. data/test/reports/TEST-HammerCLI-Options-OptionDefinition.xml +7 -0
  126. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-error-messages.xml +15 -0
  127. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-messages.xml +11 -0
  128. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-test-data-for-field.xml +15 -0
  129. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract.xml +17 -0
  130. data/test/reports/TEST-HammerCLI-Output-Adapter-Base-print-collection-show-ids.xml +9 -0
  131. data/test/reports/TEST-HammerCLI-Output-Adapter-Base-print-collection.xml +27 -0
  132. data/test/reports/TEST-HammerCLI-Output-Adapter-Base.xml +7 -0
  133. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-formatters.xml +11 -0
  134. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-fields-with-collections.xml +13 -0
  135. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-fields-with-containers.xml +11 -0
  136. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-ids.xml +11 -0
  137. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection.xml +11 -0
  138. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-message.xml +11 -0
  139. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues.xml +7 -0
  140. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-column-width.xml +15 -0
  141. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-formatters.xml +11 -0
  142. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-handle-ids.xml +11 -0
  143. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-sort-columns.xml +9 -0
  144. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection.xml +11 -0
  145. data/test/reports/TEST-HammerCLI-Output-Adapter-Table.xml +7 -0
  146. data/test/reports/TEST-HammerCLI-Output-Definition-empty-.xml +11 -0
  147. data/test/reports/TEST-HammerCLI-Output-Definition.xml +11 -0
  148. data/test/reports/TEST-HammerCLI-Output-Dsl-collection.xml +13 -0
  149. data/test/reports/TEST-HammerCLI-Output-Dsl-custom-fields.xml +11 -0
  150. data/test/reports/TEST-HammerCLI-Output-Dsl-fields.xml +15 -0
  151. data/test/reports/TEST-HammerCLI-Output-Dsl-label.xml +13 -0
  152. data/test/reports/TEST-HammerCLI-Output-Dsl-path-definition.xml +13 -0
  153. data/test/reports/TEST-HammerCLI-Output-Dsl.xml +9 -0
  154. data/test/reports/TEST-HammerCLI-Output-FieldFilter.xml +13 -0
  155. data/test/reports/TEST-HammerCLI-Output-Formatters-BooleanFormatter.xml +11 -0
  156. data/test/reports/TEST-HammerCLI-Output-Formatters-ColorFormatter.xml +9 -0
  157. data/test/reports/TEST-HammerCLI-Output-Formatters-DateFormatter.xml +11 -0
  158. data/test/reports/TEST-HammerCLI-Output-Formatters-FieldFormatter.xml +13 -0
  159. data/test/reports/TEST-HammerCLI-Output-Formatters-FormatterContainer.xml +13 -0
  160. data/test/reports/TEST-HammerCLI-Output-Formatters-FormatterLibrary.xml +11 -0
  161. data/test/reports/TEST-HammerCLI-Output-Formatters-KeyValueFormatter.xml +13 -0
  162. data/test/reports/TEST-HammerCLI-Output-Formatters-ListFormatter.xml +13 -0
  163. data/test/reports/TEST-HammerCLI-Output-Formatters-LongTextFormatter.xml +13 -0
  164. data/test/reports/TEST-HammerCLI-Output-Output-adapters.xml +17 -0
  165. data/test/reports/TEST-HammerCLI-Output-Output-data.xml +15 -0
  166. data/test/reports/TEST-HammerCLI-Output-Output-formatters.xml +9 -0
  167. data/test/reports/TEST-HammerCLI-Output-Output-messages.xml +19 -0
  168. data/test/reports/TEST-HammerCLI-Output-Output.xml +7 -0
  169. data/test/reports/TEST-HammerCLI-Output-RecordCollection.xml +13 -0
  170. data/test/reports/TEST-HammerCLI-Settings-load-from-paths.xml +15 -0
  171. data/test/reports/TEST-HammerCLI-Settings.xml +25 -0
  172. data/test/reports/TEST-HammerCLI-ShellHistory-loading-old-history.xml +11 -0
  173. data/test/reports/TEST-HammerCLI-ShellHistory-saving-history.xml +15 -0
  174. data/test/reports/TEST-HammerCLI-ShellHistory.xml +7 -0
  175. data/test/reports/TEST-MiniTest-Spec.xml +7 -0
  176. data/test/reports/TEST-String-camelize.xml +11 -0
  177. data/test/reports/TEST-String-formatting.xml +17 -0
  178. data/test/reports/TEST-String-indent.xml +11 -0
  179. data/test/reports/TEST-String-interactive-.xml +13 -0
  180. data/test/reports/TEST-String.xml +7 -0
  181. data/test/reports/TEST-constraints-HammerCLI-Validator-AllConstraint-exist-.xml +13 -0
  182. data/test/reports/TEST-constraints-HammerCLI-Validator-AllConstraint.xml +7 -0
  183. data/test/reports/TEST-constraints-HammerCLI-Validator-AnyConstraint-exist-.xml +13 -0
  184. data/test/reports/TEST-constraints-HammerCLI-Validator-AnyConstraint.xml +7 -0
  185. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-exist-.xml +9 -0
  186. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-rejected.xml +13 -0
  187. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-required.xml +13 -0
  188. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint.xml +7 -0
  189. data/test/reports/TEST-constraints.xml +7 -0
  190. data/test/unit/abstract_test.rb +10 -1
  191. data/test/unit/apipie/option_builder_test.rb +6 -0
  192. data/test/unit/defaults_test.rb +12 -5
  193. data/test/unit/exception_handler_test.rb +1 -1
  194. data/test/unit/fixtures/apipie/documented.json +10 -1
  195. data/test/unit/help/builder_test.rb +16 -1
  196. data/test/unit/messages_test.rb +7 -0
  197. data/test/unit/modules_test.rb +4 -15
  198. data/test/unit/options/normalizers_test.rb +21 -1
  199. data/test/unit/options/option_collector_test.rb +10 -4
  200. data/test/unit/output/adapter/csv_test.rb +29 -0
  201. data/test/unit/output/adapter/table_test.rb +27 -0
  202. data/test/unit/validator_test.rb +4 -4
  203. metadata +353 -53
@@ -50,7 +50,7 @@ describe 'help' do
50
50
  ' hammer [OPTIONS]',
51
51
  '',
52
52
  'Options:',
53
- ' -h, --help print help',
53
+ ' -h, --help Print help',
54
54
  '',
55
55
  'Details about interface settings',
56
56
  '',
@@ -0,0 +1,75 @@
1
+ require File.join(File.dirname(__FILE__), './test_helper')
2
+
3
+ describe 'setting options to nil' do
4
+
5
+ class TestNilableCommand < HammerCLI::AbstractCommand
6
+ option '--description', 'DESCRIPTION', 'Description'
7
+
8
+ def execute
9
+ option_name = HammerCLI.option_accessor_name('description')
10
+ params = options
11
+ present = params.has_key?(option_name)
12
+ puts "present?: #{present}"
13
+ puts "nil?: #{params[option_name].nil?}" if present
14
+ puts "value: #{params[option_name]}" if present
15
+ HammerCLI::EX_OK
16
+ end
17
+
18
+ build_options
19
+ end
20
+
21
+ def assert_key_val(key, value, actual_output)
22
+ assert_cmd(success_result(FieldMatcher.new(key, value.to_s)), actual_output)
23
+ end
24
+
25
+ it 'accepts empty string' do
26
+ result = run_cmd(['--description=""'], {}, TestNilableCommand)
27
+ assert_key_val('present?', true, result)
28
+ assert_key_val('nil?', false, result)
29
+ assert_key_val('value', '', result)
30
+ end
31
+
32
+ it 'unset options are not included' do
33
+ result = run_cmd([], {}, TestNilableCommand)
34
+ assert_key_val('present?', false, result)
35
+ end
36
+
37
+ it 'accepts NIL value' do
38
+ result = run_cmd(['--description=NIL'], {}, TestNilableCommand)
39
+ assert_key_val('present?', true, result)
40
+ assert_key_val('nil?', true, result)
41
+ end
42
+
43
+ it 'accepts NULL value defined in ENV' do
44
+ ENV.stubs(:[]).with('HAMMER_NIL').returns('NULL')
45
+ result = run_cmd(['--description=NULL'], {}, TestNilableCommand)
46
+ assert_key_val('present?', true, result)
47
+ assert_key_val('nil?', true, result)
48
+ end
49
+
50
+ it 'throws error when HAMMER_NIL is empty' do
51
+ ENV.stubs(:[]).with('HAMMER_NIL').returns('')
52
+ cmd = ['--description=NULL']
53
+ expected_result = common_error_result(cmd, "Environment variable HAMMER_NIL can not be empty.")
54
+ result = run_cmd(cmd, {}, TestNilableCommand)
55
+ assert_cmd(expected_result, result)
56
+ end
57
+
58
+ it 'does not interpret NIL value when the subst is redefined' do
59
+ ENV.stubs(:[]).with('HAMMER_NIL').returns('NULL')
60
+ result = run_cmd(['--description=NIL'], {}, TestNilableCommand)
61
+ assert_key_val('present?', true, result)
62
+ assert_key_val('nil?', false, result)
63
+ assert_key_val('value', 'NIL', result)
64
+ end
65
+
66
+ it 'overrides defaults' do
67
+ defaults = defaults_mock
68
+ defaults.stubs(:defaults_settings).returns({ :description => { :value => 'description' }})
69
+ context = { :defaults => defaults }
70
+ result = run_cmd(['--description=NIL'], context, TestNilableCommand)
71
+ assert_key_val('present?', true, result)
72
+ assert_key_val('nil?', true, result)
73
+ end
74
+ end
75
+
@@ -7,3 +7,13 @@ require 'hammer_cli/testing/data_helpers'
7
7
  include HammerCLI::Testing::OutputMatchers
8
8
  include HammerCLI::Testing::CommandAssertions
9
9
  include HammerCLI::Testing::DataHelpers
10
+
11
+ def defaults_mock(providers = {})
12
+ defaults_path = File.join(File.dirname(__FILE__), '../unit/fixtures/defaults/defaults.yml')
13
+ settings = load_yaml(defaults_path)
14
+
15
+ defaults = HammerCLI::Defaults.new(settings[:defaults], defaults_path)
16
+ defaults.stubs(:write_to_file).returns true
17
+ defaults.stubs(:providers).returns(providers)
18
+ defaults
19
+ end
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::ContainerField::display?" tests="0" time="0.000195743" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::ContainerField::display?::blank is allowed" tests="4" time="0.000514044" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0001_returns false the value is nil" time="0.000160735" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_returns false the value is empty hash" time="5.924e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0004_returns true when there is some data under the path" time="5.1533e-05" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0002_returns false the value is empty array" time="4.7909e-05" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::ContainerField::display?::blank is not allowed" tests="4" time="0.00050542" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0001_returns false the value is nil" time="0.000104095" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0004_returns true when there is some data under the path" time="5.5074e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_returns false the value is empty array" time="4.9163e-05" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0003_returns false the value is empty hash" time="4.4524e-05" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::ContainerField" tests="0" time="0.000180394" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::Field::display?" tests="0" time="0.000177184" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::Field::display?::blank is allowed" tests="2" time="0.000346718" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_returns true when there is some data under the path" time="9.5291e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_returns false the value is nil" time="5.3478e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::Field::display?::blank is not allowed" tests="2" time="0.000332031" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_returns true when there is some data under the path" time="8.2527e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_returns false the value is nil" time="5.4331e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::Field::hide_blank?" tests="2" time="0.000327248" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_defaults to false" time="7.399e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_can be set to true in the constructor" time="5.3648e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::Field::parameters" tests="1" time="0.000281758" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_returns all parameters passed to a filed" time="0.00010987" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="Fields::Field" tests="3" time="0.000378872" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_stores label from constructor" time="8.5904e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_stores path from constructor" time="5.3075e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_default path should be empty array" time="4.294e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::build options" tests="4" time="0.001351635" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0004_accepts block" time="0.000477899" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_passes params to the builders" time="0.00028496" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_should skip options that already exist" time="0.000216207" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0001_should use option builder" time="0.000177748" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::exception handler" tests="3" time="0.001065241" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0003_should return instance of exception handler class defined deeper in a module hierrarchy" time="0.00029177" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_should return instance of exception handler class defined in a module" time="0.000228844" assertions="2">
6
+ </testcase>
7
+ <testcase name="test_0001_should return instance of hammer cli exception handler by default" time="0.000359925" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::logging" tests="7" time="0.005629746" failures="0" errors="0" skipped="0" assertions="12">
3
+ <testcase name="test_0007_should have logger.watch colorized output switch in settings" time="0.001215608" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0003_should have logger named by the class by default" time="0.00071257" assertions="2">
6
+ </testcase>
7
+ <testcase name="test_0002_password should be hidden in logs" time="0.000708892" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0004_should have logger that accepts custom name" time="0.000841507" assertions="2">
10
+ </testcase>
11
+ <testcase name="test_0005_should have logger that can inspect object" time="0.000748318" assertions="2">
12
+ </testcase>
13
+ <testcase name="test_0001_should log what has been executed" time="0.000352436" assertions="1">
14
+ </testcase>
15
+ <testcase name="test_0006_should have logger.watch output without colors" time="0.000799178" assertions="2">
16
+ </testcase>
17
+ <system-out>
18
+ </system-out>
19
+ <system-err>
20
+ </system-err>
21
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::option builder" tests="2" time="0.000349776" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_uses builder container as default" time="9.1626e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_Default builder container is empty" time="4.5179e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::options" tests="2" time="0.000433705" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_should set options' formatters" time="0.000197632" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should create instances of hammer options" time="5.6937e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::output" tests="6" time="0.000637574" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0006_can define fields" time="0.000126013" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0005_can append existing definition without passing a block" time="6.2427e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_should define adapter" time="5.3792e-05" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0004_can append existing definition" time="5.6941e-05" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0002_should provide instance of output with default adapter set" time="5.4734e-05" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0003_should hold instance of output definition" time="5.7944e-05" assertions="1">
14
+ </testcase>
15
+ <system-out>
16
+ </system-out>
17
+ <system-err>
18
+ </system-err>
19
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::subcommand behavior::remove_subcommand" tests="2" time="0.001167359" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_should write a message to log when removing subcommand" time="0.000669956" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should remove the subcommand" time="0.000316383" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::subcommand behavior::subcommand!" tests="3" time="0.001481618" failures="0" errors="0" skipped="0" assertions="10">
3
+ <testcase name="test_0001_should replace commands with the same name" time="0.000501831" assertions="4">
4
+ </testcase>
5
+ <testcase name="test_0003_should add the subcommand" time="0.000336002" assertions="4">
6
+ </testcase>
7
+ <testcase name="test_0002_should write a message to log when replacing subcommand" time="0.00044575" assertions="2">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::subcommand behavior::subcommand" tests="2" time="0.000599816" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0001_should throw an exception for conflicting commands" time="0.000221174" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should add the subcommand" time="0.000199028" assertions="4">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand::subcommand behavior" tests="0" time="0.000161068" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::AbstractCommand" tests="2" time="0.00037477" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_should inherit command_name" time="9.8291e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should inherit output definition" time="0.000103826" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::Command::options" tests="2" time="0.000493282" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_should collect method options from given options" time="0.000190569" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should collect method options from methods" time="0.000108589" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::Command::resource defined" tests="1" time="0.001214277" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should perform a call to api when resource is defined" time="0.001036574" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::Command::setting resources" tests="6" time="0.00156057" failures="0" errors="0" skipped="0" assertions="18">
3
+ <testcase name="test_0005_looks up resource in the class' modules" time="0.000118112" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_should set resource alone" time="0.000380061" assertions="4">
6
+ </testcase>
7
+ <testcase name="test_0004_inherits action from a parent class" time="7.3797e-05" assertions="2">
8
+ </testcase>
9
+ <testcase name="test_0006_looks up resource in the superclass" time="6.228e-05" assertions="2">
10
+ </testcase>
11
+ <testcase name="test_0001_should set resource and action together" time="0.000357962" assertions="4">
12
+ </testcase>
13
+ <testcase name="test_0003_should set resource and action alone" time="0.000357822" assertions="4">
14
+ </testcase>
15
+ <system-out>
16
+ </system-out>
17
+ <system-err>
18
+ </system-err>
19
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::Command" tests="1" time="0.001103687" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should raise exception when no action is defined" time="0.000928014" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder::aliasing resources" tests="3" time="0.001396978" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_renames options" time="0.000483305" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_renames option types" time="0.000362884" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_keeps option accessor the same" time="0.000363671" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder::filtering options" tests="4" time="0.001571982" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0004_should skip single filtered option" time="0.000425523" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_should skip single filtered option in array" time="0.000330962" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_should skip filtered options defined as symbols" time="0.00031704" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0001_should skip filtered options" time="0.000307096" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder::required options" tests="2" time="0.000959324" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_should not require any option when requirements are disabled" time="0.000423717" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should set required flag for the required options" time="0.000347929" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder::setting correct normalizers" tests="1" time="0.000600111" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should set array normalizer" time="0.000425663" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder::with hash params" tests="2" time="0.000957371" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_should name the options correctly" time="0.000429885" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should create options for all parameters except the hash" time="0.00034452" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder::with one simple param" tests="4" time="0.001417271" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0001_should create an option for the parameter" time="0.000350083" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should set correct switch" time="0.000290424" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_should set correct attribute name" time="0.000293606" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0004_should set description with html tags stripped" time="0.00027407" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Apipie::OptionBuilder" tests="0" time="0.000161389" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Completer::command completion" tests="11" time="0.00189136" failures="0" errors="0" skipped="0" assertions="11">
3
+ <testcase name="test_0004_should filter by first two letters" time="0.000287741" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0009_should offer all available subcommands and options when quoted value was passed" time="0.000275598" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_should offer nothing when the line does not match" time="0.000114492" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0011_should offer all available subcommands and options when quoted value with equal sign was passed" time="0.000148633" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0010_should offer all available subcommands and options when double quoted value was passed" time="0.000141379" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0007_should offer all available subcommands and options even if an option has been passed" time="0.000123593" assertions="1">
14
+ </testcase>
15
+ <testcase name="test_0001_should offer all available commands" time="9.0394e-05" assertions="1">
16
+ </testcase>
17
+ <testcase name="test_0003_should filter by first letter" time="9.4926e-05" assertions="1">
18
+ </testcase>
19
+ <testcase name="test_0008_should offer all available subcommands and options even if an egual sign option has been passed" time="0.000154423" assertions="1">
20
+ </testcase>
21
+ <testcase name="test_0006_should offer all available subcommands and options even if a flag has been passed" time="0.000116574" assertions="1">
22
+ </testcase>
23
+ <testcase name="test_0005_should offer all available subcommands and options" time="9.9324e-05" assertions="1">
24
+ </testcase>
25
+ <system-out>
26
+ </system-out>
27
+ <system-err>
28
+ </system-err>
29
+ </testsuite>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Completer::option value completion" tests="5" time="0.001091576" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0005_should complete quoted option values" time="0.000271096" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0004_should complete quoted option values" time="0.000134192" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_should complete option values when equal sign is used" time="0.00011858" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0001_should complete option values" time="0.000114408" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0003_should complete option values" time="0.000120988" assertions="1">
12
+ </testcase>
13
+ <system-out>
14
+ </system-out>
15
+ <system-err>
16
+ </system-err>
17
+ </testsuite>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Completer::subcommand completion" tests="6" time="0.001075483" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0002_should offer nothing when the line does not match any subcommand" time="0.000189063" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should filter subcommands by first letter" time="0.000145023" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0004_should ignore options specified before the last command" time="0.000149989" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0006_should filter subcommands by first three letters" time="0.000122804" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0005_should ignore equal sign separated options specified before the last command" time="0.000145561" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0003_should ignore flags specified before the last command" time="0.00013696" assertions="1">
14
+ </testcase>
15
+ <system-out>
16
+ </system-out>
17
+ <system-err>
18
+ </system-err>
19
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Completer" tests="0" time="0.000178416" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>