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
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Abstract" tests="5" time="0.001875442" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0001_should have tags" time="8.5609e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0004_should put serializers first" time="0.000800429" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0005_should raise not implemented on print_collection" time="8.4393e-05" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0002_should filter formatters with incompatible tags" time="0.00026059" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0003_should keep compatible formatters" time="0.000450116" assertions="1">
12
+ </testcase>
13
+ <system-out>
14
+ </system-out>
15
+ <system-err>
16
+ </system-err>
17
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Base::print_collection::show ids" tests="1" time="0.000520405" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_shows ids if it's required in the context" time="0.000350487" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Base::print_collection" tests="10" time="0.003472686" failures="0" errors="0" skipped="0" assertions="10">
3
+ <testcase name="test_0009_skips blank values" time="0.000352332" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_aligns multiple fields" time="0.00035921" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0010_should print key -&gt; value" time="0.00033891" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0006_should print collection" time="0.000334085" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0007_should print unnumbered collection" time="0.000372625" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0004_should field with nested data" time="0.000273375" assertions="1">
14
+ </testcase>
15
+ <testcase name="test_0008_hides ids by default" time="0.000274323" assertions="1">
16
+ </testcase>
17
+ <testcase name="test_0005_should print labeled fields" time="0.000367995" assertions="1">
18
+ </testcase>
19
+ <testcase name="test_0002_doesn't print label when it's nil" time="0.000273541" assertions="1">
20
+ </testcase>
21
+ <testcase name="test_0001_should print one field" time="0.000284066" assertions="1">
22
+ </testcase>
23
+ <system-out>
24
+ </system-out>
25
+ <system-err>
26
+ </system-err>
27
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Base" tests="0" time="0.000146941" 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::Output::Adapter::CSValues::print_collection::formatters" tests="2" time="0.001033824" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0002_should not replace nil with empty string before it applies formatters" time="0.000416477" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0001_should apply formatters" time="0.000426118" assertions="2">
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::Output::Adapter::CSValues::print_collection::handle fields with collections" tests="3" time="0.001664601" failures="0" errors="0" skipped="0" assertions="10">
3
+ <testcase name="test_0001_should print collection column name" time="0.000619312" assertions="3">
4
+ </testcase>
5
+ <testcase name="test_0003_should handle empty collection" time="0.000327641" assertions="3">
6
+ </testcase>
7
+ <testcase name="test_0002_should print collection data" time="0.000510544" assertions="4">
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::Output::Adapter::CSValues::print_collection::handle fields with containers" tests="2" time="0.001160963" failures="0" errors="0" skipped="0" assertions="8">
3
+ <testcase name="test_0002_should print data" time="0.000523402" assertions="4">
4
+ </testcase>
5
+ <testcase name="test_0001_should print column names" time="0.000455281" assertions="4">
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::Output::Adapter::CSValues::print_collection::handle ids" tests="2" time="0.001007739" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0001_should ommit column of type Id by default" time="0.000464742" assertions="4">
4
+ </testcase>
5
+ <testcase name="test_0002_should print column of type Id when --show-ids is set" time="0.000366296" assertions="2">
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::Output::Adapter::CSValues::print_collection" tests="2" time="0.001008951" failures="0" errors="0" skipped="0" assertions="8">
3
+ <testcase name="test_0001_should print column name" time="0.000454847" assertions="4">
4
+ </testcase>
5
+ <testcase name="test_0002_should print field value" time="0.000351916" assertions="4">
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::Output::Adapter::CSValues::print message" tests="2" time="0.000902934" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0001_shoud print a message" time="0.000388101" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_should print message, id and name of created/updated record" time="0.000330587" assertions="2">
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::Output::Adapter::CSValues" tests="0" time="0.000159229" 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="HammerCLI::Output::Adapter::Table::print_collection::column width" tests="4" time="0.00247111" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0001_truncates string when it exceeds maximum width" time="0.000565188" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_truncates string when it exceeds width" time="0.000551994" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_sets certain width" time="0.000561764" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0004_gives preference to width over maximal width" time="0.000574865" 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::Output::Adapter::Table::print_collection::formatters" tests="2" time="0.001161009" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_should apply formatters" time="0.000536944" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_should not break formatting" time="0.000453818" 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::Output::Adapter::Table::print_collection::handle ids" tests="2" time="0.00118601" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0002_should print column of type Id when --show-ids is set" time="0.000537731" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0001_should ommit column of type Id by default" time="0.00046646" assertions="2">
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::Output::Adapter::Table::print_collection::sort_columns" tests="1" time="0.000782934" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should sort output" time="0.000602334" 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::Output::Adapter::Table::print_collection" tests="2" time="0.001247105" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0001_should print column name " time="0.000552378" assertions="3">
4
+ </testcase>
5
+ <testcase name="test_0002_should print field value" time="0.000470992" assertions="3">
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::Output::Adapter::Table" tests="0" time="0.000150369" 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::Output::Definition::empty?" tests="2" time="0.000342718" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_returns false for definition with fields" time="8.793e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_returns true for empty definition" time="4.5147e-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::Output::Definition" tests="2" time="0.000403606" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_should be able to add field" time="0.000109946" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_append should allow to add data from another definition" time="6.2187e-05" assertions="2">
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::Output::Dsl::collection" tests="3" time="0.000484859" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0003_sets correct path to subfields" time="0.000132862" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_allows to define subfields with dsl" time="8.7726e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_creates field of type Collection" time="5.9207e-05" assertions="1">
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::Output::Dsl::custom fields" tests="2" time="0.000357896" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_it creates field of a desired type" time="0.000123079" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_passes all options to the field instance" time="5.6043e-05" 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::Output::Dsl::fields" tests="4" time="0.000523115" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0002_should create field of desired type" time="0.000121347" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should create Field as default field type" time="5.6673e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_should store all field details" time="6.8223e-05" assertions="3">
8
+ </testcase>
9
+ <testcase name="test_0004_can define multiple fields" time="5.0459e-05" 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::Output::Dsl::label" tests="3" time="0.000493603" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0003_sets correct path to subfields" time="0.00014981" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_allows to define subfields with dsl" time="8.6046e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_creates field of type Label" time="6.1688e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl::path definition" tests="3" time="0.000418823" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0003_from can be nested" time="0.000100516" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_path can be nil to handle the parent structure" time="5.6098e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_from appends to path" time="6.3831e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl" tests="1" time="0.000279375" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should be empty after initialization" time="0.000114708" 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::Output::FieldFilter" tests="3" time="0.000408181" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_filters fields by class" time="9.5542e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_lets all fields go by default" time="5.988e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_filters fields by superclass" time="5.3417e-05" assertions="1">
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::Output::Formatters::BooleanFormatter" tests="2" time="0.000326909" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0001_says yes for true like objects" time="8.2173e-05" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_says no for false and nil and empty string" time="5.8887e-05" assertions="3">
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::Output::Formatters::ColorFormatter" tests="1" time="0.000268288" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_colorizes the value" time="8.8793e-05" 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::Output::Formatters::DateFormatter" tests="2" time="0.000375058" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_formats the date" time="0.000128822" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_returns empty string on wrong value" time="6.7009e-05" 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::Output::Formatters::FieldFormatter" tests="3" time="0.000620169" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0003_should know if it has matching tags" time="0.000334795" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_has tags" time="5.8395e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_has format method" time="4.3034e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::FormatterContainer" tests="3" time="0.000351543" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0003_can add formatter to instance" time="7.6278e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_accepts formatter" time="5.7379e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_has format method" time="3.5748e-05" assertions="1">
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::Output::Formatters::FormatterLibrary" tests="2" time="0.000312338" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_accepts formatter" time="8.0831e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_can add formatter to instance" time="4.4535e-05" 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::Output::Formatters::KeyValueFormatter" tests="3" time="0.000349305" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_returns empty string when the input is nil" time="7.1121e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_serializes the value" time="5.0924e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_returns empty string value when the input is not a hash" time="3.7348e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::ListFormatter" tests="3" time="0.000348473" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_returns empty string when the input is nil" time="7.1874e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_serializes the value" time="5.3042e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_returns string value when the input is not a list" time="3.5575e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::LongTextFormatter" tests="3" time="0.000562593" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_prepends new line" time="0.000137138" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_enables to switch indentation off" time="4.2838e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_accepts nil" time="6.0941e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::adapters" tests="5" time="0.001059704" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0002_should return required default adapter" time="0.00015289" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_should use adapter form context" time="7.4609e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0004_should prioritize adapter from the context" time="0.000100567" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0005_should use base adapter if the requested default was not found" time="0.00047733" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0001_should register adapter" time="5.583e-05" assertions="1">
12
+ </testcase>
13
+ <system-out>
14
+ </system-out>
15
+ <system-err>
16
+ </system-err>
17
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::data" tests="4" time="0.001649414" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0004_prints recordset" time="0.000419794" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_prints single resource as collection" time="0.000317483" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_prints single resource" time="0.000328909" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0003_prints array of resources" time="0.000357613" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::formatters" tests="1" time="0.000287264" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_should register formatter" time="0.000116158" assertions="2">
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::Output::Output::messages" tests="6" time="0.002233059" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0004_prints error message via adapter with arguments" time="0.00035277" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0005_prints error message with details via adapter" time="0.000359567" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_prints info message via adapter" time="0.000336722" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0003_prints error message via adapter" time="0.000313239" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0002_prints info message via adapter with arguments" time="0.000310076" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0006_prints error message from exception via adapter" time="0.000339844" 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::Output::Output" tests="0" time="0.000159742" 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,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::RecordCollection" tests="3" time="0.000482859" failures="0" errors="0" skipped="0" assertions="12">
3
+ <testcase name="test_0001_should keep records and its meta data" time="0.000143524" assertions="9">
4
+ </testcase>
5
+ <testcase name="test_0002_should wrap the data into list" time="6.5332e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_sould accept MetaData as option" time="7.748e-05" assertions="2">
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::Settings::load from paths" tests="4" time="0.002082013" failures="0" errors="0" skipped="0" assertions="8">
3
+ <testcase name="test_0004_loads settings from dir" time="0.001015615" assertions="4">
4
+ </testcase>
5
+ <testcase name="test_0002_clears path history on clear invokation" time="0.000203806" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_store config path history" time="0.000329641" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0001_loads settings from file" time="0.000327472" assertions="2">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Settings" tests="9" time="0.000795377" failures="0" errors="0" skipped="0" assertions="19">
3
+ <testcase name="test_0001_returns nil when nothing is loaded" time="0.000118872" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0006_loads all settings" time="6.3553e-05" assertions="2">
6
+ </testcase>
7
+ <testcase name="test_0004_takes both strings and symbols" time="5.5445e-05" assertions="2">
8
+ </testcase>
9
+ <testcase name="test_0005_finds nested settings" time="5.7768e-05" assertions="3">
10
+ </testcase>
11
+ <testcase name="test_0003_returns correct value" time="5.8495e-05" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0007_dumps all settings" time="5.6246e-05" assertions="1">
14
+ </testcase>
15
+ <testcase name="test_0009_clear wipes all settings" time="4.9296e-05" assertions="2">
16
+ </testcase>
17
+ <testcase name="test_0008_merges settings on second load" time="7.0802e-05" assertions="5">
18
+ </testcase>
19
+ <testcase name="test_0002_returns nil on unknown key" time="4.4578e-05" assertions="1">
20
+ </testcase>
21
+ <system-out>
22
+ </system-out>
23
+ <system-err>
24
+ </system-err>
25
+ </testsuite>