hammer_cli 0.10.0 → 0.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/hammer +2 -1
- data/config/cli_config.template.yml +1 -1
- data/doc/release_notes.md +4 -0
- data/lib/hammer_cli/ca_cert_fetcher.rb +43 -28
- data/lib/hammer_cli/ca_cert_manager.rb +71 -0
- data/lib/hammer_cli/ssloptions.rb +7 -0
- data/lib/hammer_cli/version.rb +1 -1
- data/locale/ca/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/de/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/en/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/en_GB/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/es/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/fr/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/it/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/ja/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/ko/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/pt_BR/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/ru/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/zh_CN/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/zh_TW/LC_MESSAGES/hammer-cli.mo +0 -0
- data/man/hammer.1.gz +0 -0
- data/test/reports/TEST-Fields-ContainerField-display-.xml +7 -0
- data/test/reports/TEST-Fields-ContainerField-display-blank-is-allowed.xml +15 -0
- data/test/reports/TEST-Fields-ContainerField-display-blank-is-not-allowed.xml +15 -0
- data/test/reports/TEST-Fields-ContainerField.xml +7 -0
- data/test/reports/TEST-Fields-Field-display-.xml +7 -0
- data/test/reports/TEST-Fields-Field-display-blank-is-allowed.xml +11 -0
- data/test/reports/TEST-Fields-Field-display-blank-is-not-allowed.xml +11 -0
- data/test/reports/TEST-Fields-Field-hide-blank-.xml +11 -0
- data/test/reports/TEST-Fields-Field-parameters.xml +9 -0
- data/test/reports/TEST-Fields-Field.xml +13 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-build-options.xml +15 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-exception-handler.xml +13 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-logging.xml +21 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-option-builder.xml +11 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-options.xml +11 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-output.xml +19 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-remove-subcommand.xml +11 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-subcommand-.xml +13 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-subcommand.xml +11 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior.xml +7 -0
- data/test/reports/TEST-HammerCLI-AbstractCommand.xml +11 -0
- data/test/reports/TEST-HammerCLI-Apipie-Command-options.xml +11 -0
- data/test/reports/TEST-HammerCLI-Apipie-Command-resource-defined.xml +9 -0
- data/test/reports/TEST-HammerCLI-Apipie-Command-setting-resources.xml +19 -0
- data/test/reports/TEST-HammerCLI-Apipie-Command.xml +9 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-aliasing-resources.xml +13 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-filtering-options.xml +15 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-required-options.xml +11 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-setting-correct-normalizers.xml +9 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-with-hash-params.xml +11 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-with-one-simple-param.xml +15 -0
- data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder.xml +7 -0
- data/test/reports/TEST-HammerCLI-Completer-command-completion.xml +29 -0
- data/test/reports/TEST-HammerCLI-Completer-option-value-completion.xml +17 -0
- data/test/reports/TEST-HammerCLI-Completer-subcommand-completion.xml +19 -0
- data/test/reports/TEST-HammerCLI-Completer.xml +7 -0
- data/test/reports/TEST-HammerCLI-CompleterLine-line-complete.xml +25 -0
- data/test/reports/TEST-HammerCLI-CompleterLine-splitting-words.xml +29 -0
- data/test/reports/TEST-HammerCLI-CompleterLine.xml +7 -0
- data/test/reports/TEST-HammerCLI-CompleterWord-complete-.xml +23 -0
- data/test/reports/TEST-HammerCLI-CompleterWord-quote.xml +15 -0
- data/test/reports/TEST-HammerCLI-CompleterWord-quoted-.xml +13 -0
- data/test/reports/TEST-HammerCLI-CompleterWord.xml +7 -0
- data/test/reports/TEST-HammerCLI-Connection.xml +21 -0
- data/test/reports/TEST-HammerCLI-ExceptionHandler.xml +21 -0
- data/test/reports/TEST-HammerCLI-I18n.xml +11 -0
- data/test/reports/TEST-HammerCLI-MainCommand-loading-context-password.xml +11 -0
- data/test/reports/TEST-HammerCLI-MainCommand-loading-context-username.xml +11 -0
- data/test/reports/TEST-HammerCLI-MainCommand-loading-context-verbose.xml +9 -0
- data/test/reports/TEST-HammerCLI-MainCommand-loading-context.xml +7 -0
- data/test/reports/TEST-HammerCLI-MainCommand.xml +7 -0
- data/test/reports/TEST-HammerCLI-Modules-find-by-name.xml +13 -0
- data/test/reports/TEST-HammerCLI-Modules-load-a-module-module-not-found.xml +13 -0
- data/test/reports/TEST-HammerCLI-Modules-load-a-module-module-runtime-exception.xml +13 -0
- data/test/reports/TEST-HammerCLI-Modules-load-a-module-success.xml +15 -0
- data/test/reports/TEST-HammerCLI-Modules-load-a-module.xml +7 -0
- data/test/reports/TEST-HammerCLI-Modules-load-all-modules.xml +9 -0
- data/test/reports/TEST-HammerCLI-Modules-names.xml +13 -0
- data/test/reports/TEST-HammerCLI-Modules.xml +7 -0
- data/test/reports/TEST-HammerCLI-OptionBuilderContainer.0.xml +7 -0
- data/test/reports/TEST-HammerCLI-OptionBuilderContainer.xml +11 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-abstract.xml +9 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-bool.xml +31 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-datetime.xml +17 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-enum.xml +15 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-enumlist.xml +21 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-json-input.xml +15 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-key-value-list.xml +17 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers-list.xml +15 -0
- data/test/reports/TEST-HammerCLI-Options-Normalizers.xml +7 -0
- data/test/reports/TEST-HammerCLI-Options-OptionDefinition-context.xml +9 -0
- data/test/reports/TEST-HammerCLI-Options-OptionDefinition-formatters.xml +11 -0
- data/test/reports/TEST-HammerCLI-Options-OptionDefinition.xml +7 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-error-messages.xml +15 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-messages.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-test-data-for-field.xml +15 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract.xml +17 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Base-print-collection-show-ids.xml +9 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Base-print-collection.xml +27 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Base.xml +7 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-formatters.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-fields-with-collections.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-fields-with-containers.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-ids.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-message.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues.xml +7 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-column-width.xml +15 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-formatters.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-handle-ids.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-sort-columns.xml +9 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Adapter-Table.xml +7 -0
- data/test/reports/TEST-HammerCLI-Output-Definition-empty-.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Definition.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Dsl-collection.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Dsl-custom-fields.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Dsl-fields.xml +15 -0
- data/test/reports/TEST-HammerCLI-Output-Dsl-label.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Dsl-path-definition.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Dsl.xml +9 -0
- data/test/reports/TEST-HammerCLI-Output-FieldFilter.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-BooleanFormatter.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-ColorFormatter.xml +9 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-DateFormatter.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-FieldFormatter.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-FormatterContainer.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-FormatterLibrary.xml +11 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-KeyValueFormatter.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-ListFormatter.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Formatters-LongTextFormatter.xml +13 -0
- data/test/reports/TEST-HammerCLI-Output-Output-adapters.xml +17 -0
- data/test/reports/TEST-HammerCLI-Output-Output-data.xml +15 -0
- data/test/reports/TEST-HammerCLI-Output-Output-formatters.xml +9 -0
- data/test/reports/TEST-HammerCLI-Output-Output-messages.xml +19 -0
- data/test/reports/TEST-HammerCLI-Output-Output.xml +7 -0
- data/test/reports/TEST-HammerCLI-Output-RecordCollection.xml +13 -0
- data/test/reports/TEST-HammerCLI-Settings-load-from-paths.xml +15 -0
- data/test/reports/TEST-HammerCLI-Settings.xml +25 -0
- data/test/reports/TEST-HammerCLI-ShellHistory-loading-old-history.xml +11 -0
- data/test/reports/TEST-HammerCLI-ShellHistory-saving-history.xml +15 -0
- data/test/reports/TEST-HammerCLI-ShellHistory.xml +7 -0
- data/test/reports/TEST-MiniTest-Spec.xml +7 -0
- data/test/reports/TEST-String-camelize.xml +11 -0
- data/test/reports/TEST-String-formatting.xml +17 -0
- data/test/reports/TEST-String-indent.xml +11 -0
- data/test/reports/TEST-String-interactive-.xml +13 -0
- data/test/reports/TEST-String.xml +7 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-AllConstraint-exist-.xml +13 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-AllConstraint.xml +7 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-AnyConstraint-exist-.xml +13 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-AnyConstraint.xml +7 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-exist-.xml +9 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-rejected.xml +13 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-required.xml +13 -0
- data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint.xml +7 -0
- data/test/reports/TEST-constraints.xml +7 -0
- data/test/unit/apipie/api_connection_test.rb +1 -0
- data/test/unit/ca_cert_manager_test.rb +64 -0
- data/test/unit/fixtures/certs/ca_cert.pem +21 -0
- metadata +327 -48
@@ -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,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>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="HammerCLI::ShellHistory::loading old history" tests="2" time="0.000591805" failures="0" errors="0" skipped="0" assertions="2">
|
3
|
+
<testcase name="test_0001_skips loading if the file does not exist" time="0.000228018" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0002_preseeds readline's history" time="0.000185292" 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::ShellHistory::saving history" tests="4" time="0.000956469" failures="0" errors="0" skipped="0" assertions="4">
|
3
|
+
<testcase name="test_0001_creates history file if it does not exist" time="0.00022899" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0003_appends to readline's history" time="0.000185984" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0002_appends history to the given file" time="0.000169983" assertions="1">
|
8
|
+
</testcase>
|
9
|
+
<testcase name="test_0004_doesn't save exit command" time="0.000154798" 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="String::camelize" tests="2" time="0.000337952" failures="0" errors="0" skipped="0" assertions="2">
|
3
|
+
<testcase name="test_0001_should camelize string with underscores" time="0.0001091" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0002_should not camelize string with dashes" time="5.1678e-05" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<system-out>
|
8
|
+
</system-out>
|
9
|
+
<system-err>
|
10
|
+
</system-err>
|
11
|
+
</testsuite>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="String::formatting" tests="5" time="0.00052804" failures="0" errors="0" skipped="0" assertions="5">
|
3
|
+
<testcase name="test_0003_should replace named parameters" time="0.000120653" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0002_should replace positional parameters" time="5.0694e-05" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0004_should replace named parameters with string keys" time="5.4219e-05" assertions="1">
|
8
|
+
</testcase>
|
9
|
+
<testcase name="test_0005_should replace named parameters marked with curly brackets" time="5.3821e-05" assertions="1">
|
10
|
+
</testcase>
|
11
|
+
<testcase name="test_0001_should not fail without expected parameters" time="5.197e-05" assertions="1">
|
12
|
+
</testcase>
|
13
|
+
<system-out>
|
14
|
+
</system-out>
|
15
|
+
<system-err>
|
16
|
+
</system-err>
|
17
|
+
</testsuite>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="String::indent" tests="2" time="0.000342954" failures="0" errors="0" skipped="0" assertions="2">
|
3
|
+
<testcase name="test_0002_indents multi line string" time="0.000108296" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0001_indents single line string" time="4.4031e-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="String::interactive?" tests="3" time="0.001375686" failures="0" errors="0" skipped="0" assertions="3">
|
3
|
+
<testcase name="test_0001_should be true when called in tty" time="0.00042329" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0002_should by false when cli arg set" time="0.000403856" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0003_should by false when turned off in cfg" time="0.000364321" 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="constraints::HammerCLI::Validator::AllConstraint::exist?" tests="3" time="0.000590622" failures="0" errors="0" skipped="0" assertions="3">
|
3
|
+
<testcase name="test_0002_should return true when all the options exist" time="0.000196018" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0001_should return true when no options are passed" time="0.000113036" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0003_should return false when one of the options is missing" time="9.6605e-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="constraints::HammerCLI::Validator::AnyConstraint::exist?" tests="3" time="0.000586351" failures="0" errors="0" skipped="0" assertions="3">
|
3
|
+
<testcase name="test_0002_should return true when one of the options exist" time="0.000170553" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0001_should return true when no options are passed" time="0.000112862" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0003_should return false when all the options are missing" time="0.000111747" 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="constraints::HammerCLI::Validator::BaseConstraint::exist?" tests="1" time="0.000343672" failures="0" errors="0" skipped="0" assertions="1">
|
3
|
+
<testcase name="test_0001_throws not implemented error" time="0.000171895" 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="constraints::HammerCLI::Validator::BaseConstraint::rejected" tests="3" time="0.001188178" failures="0" errors="0" skipped="0" assertions="3">
|
3
|
+
<testcase name="test_0003_should return nil when exist? returns true" time="0.000339906" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0002_should raise exception with a message" time="0.000330188" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0001_should raise exception when exist? returns true" time="0.000327038" 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="constraints::HammerCLI::Validator::BaseConstraint::required" tests="3" time="0.001221194" failures="0" errors="0" skipped="0" assertions="2">
|
3
|
+
<testcase name="test_0003_should return nil when exist? returns true" time="0.000335162" assertions="1">
|
4
|
+
</testcase>
|
5
|
+
<testcase name="test_0001_should raise exception when exist? returns true" time="0.000327945" assertions="1">
|
6
|
+
</testcase>
|
7
|
+
<testcase name="test_0002_should raise exception with a message" time="0.000337518" assertions="0">
|
8
|
+
</testcase>
|
9
|
+
<system-out>
|
10
|
+
</system-out>
|
11
|
+
<system-err>
|
12
|
+
</system-err>
|
13
|
+
</testsuite>
|
@@ -10,6 +10,7 @@ describe HammerCLI::Apipie::ApiConnection do
|
|
10
10
|
def api_stub(params = {}, options = {})
|
11
11
|
api_stub = stub()
|
12
12
|
options[:verify_ssl] = true if options[:verify_ssl].nil?
|
13
|
+
options[:ssl_ca_path] = File.expand_path(HammerCLI::SSLOptions::DEFAULT_SSL_CA_PATH) if options[:ssl_ca_path].nil?
|
13
14
|
ApipieBindings::API.expects(:new).with(params, options).returns(api_stub)
|
14
15
|
api_stub
|
15
16
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'tmpdir'
|
2
|
+
require 'fileutils'
|
3
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
4
|
+
require 'hammer_cli/ca_cert_manager'
|
5
|
+
|
6
|
+
describe HammerCLI::CACertManager do
|
7
|
+
|
8
|
+
before(:all) do
|
9
|
+
@ca_path = Dir.mktmpdir('ca_cert_manager')
|
10
|
+
end
|
11
|
+
|
12
|
+
after(:all) do
|
13
|
+
FileUtils.rm_rf(@ca_path) if File.exist?(@ca_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
let(:service_uri) { URI.parse("https://test.host.com") }
|
17
|
+
let(:ca_cert_manager) { HammerCLI::CACertManager.new(@ca_path) }
|
18
|
+
let(:cert_file) { ca_cert_manager.cert_file_name(service_uri) }
|
19
|
+
|
20
|
+
describe '#store_ca_cert' do
|
21
|
+
let(:cert_fixture) { File.join(File.dirname(__FILE__), '/fixtures/certs/ca_cert.pem') }
|
22
|
+
|
23
|
+
it 'stores ca cert' do
|
24
|
+
new_cert_file = ca_cert_manager.store_ca_cert(File.read(cert_fixture), cert_file)
|
25
|
+
assert File.exist?(File.join(@ca_path, "2c543cd1.0"))
|
26
|
+
assert File.exist?(cert_file)
|
27
|
+
assert_equal cert_file, new_cert_file
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#create_link' do
|
32
|
+
let(:hash) { 123456789 }
|
33
|
+
let(:hash_file) { hash.to_s(16) }
|
34
|
+
|
35
|
+
it "creates link to cert" do
|
36
|
+
FileUtils.touch(cert_file)
|
37
|
+
ca_cert_manager.create_link(hash, cert_file)
|
38
|
+
assert File.exist?(File.join(@ca_path, "#{hash_file}.0"))
|
39
|
+
end
|
40
|
+
|
41
|
+
it "creates ca path if missing" do
|
42
|
+
FileUtils.rm_rf(@ca_path) if File.exist?(@ca_path)
|
43
|
+
ca_cert_manager.create_link(hash, cert_file)
|
44
|
+
FileUtils.touch(cert_file)
|
45
|
+
assert File.exist?(File.join(@ca_path, "#{hash_file}.0"))
|
46
|
+
end
|
47
|
+
|
48
|
+
it "does not create new link if it already exist" do
|
49
|
+
FileUtils.touch(cert_file)
|
50
|
+
File.symlink(cert_file, File.join(@ca_path, "#{hash_file}.0"))
|
51
|
+
ca_cert_manager.create_link(hash, cert_file)
|
52
|
+
assert File.exist?(File.join(@ca_path, "#{hash_file}.0"))
|
53
|
+
refute File.exist?(File.join(@ca_path, "#{hash_file}.1"))
|
54
|
+
end
|
55
|
+
|
56
|
+
it "does not override existing link if it has different target" do
|
57
|
+
FileUtils.touch(cert_file)
|
58
|
+
FileUtils.touch(File.join(@ca_path, "#{hash_file}.0"))
|
59
|
+
ca_cert_manager.create_link(hash, cert_file)
|
60
|
+
assert File.exist?(File.join(@ca_path, "#{hash_file}.0"))
|
61
|
+
assert File.exist?(File.join(@ca_path, "#{hash_file}.1"))
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
|
3
|
+
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
|
4
|
+
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw
|
5
|
+
WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE
|
6
|
+
AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
7
|
+
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m
|
8
|
+
OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu
|
9
|
+
T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c
|
10
|
+
JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR
|
11
|
+
Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz
|
12
|
+
PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm
|
13
|
+
aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM
|
14
|
+
TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g
|
15
|
+
LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO
|
16
|
+
BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv
|
17
|
+
dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB
|
18
|
+
AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL
|
19
|
+
NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W
|
20
|
+
b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S
|
21
|
+
-----END CERTIFICATE-----
|