hiptest-publisher-fork 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +295 -0
- data/LICENSE +21 -0
- data/README.md +265 -0
- data/bin/hiptest-publisher +47 -0
- data/config/i18n-tasks.yml +137 -0
- data/config/locales/en.yml +250 -0
- data/lib/config/behat.conf +44 -0
- data/lib/config/behave.conf +40 -0
- data/lib/config/csharp-nunit.conf +15 -0
- data/lib/config/cucumber-groovy.conf +40 -0
- data/lib/config/cucumber-java.conf +24 -0
- data/lib/config/cucumber-javascript.conf +23 -0
- data/lib/config/cucumber-ruby.conf +22 -0
- data/lib/config/cucumber-typescript.conf +41 -0
- data/lib/config/cucumber_legacy-groovy.conf +40 -0
- data/lib/config/cucumber_legacy-java.conf +24 -0
- data/lib/config/cucumber_legacy-typescript.conf +41 -0
- data/lib/config/groovy-spock.conf +25 -0
- data/lib/config/java-espresso.conf +15 -0
- data/lib/config/java-junit.conf +21 -0
- data/lib/config/java-testng.conf +15 -0
- data/lib/config/javascript-codeceptjs.conf +23 -0
- data/lib/config/javascript-jasmine.conf +12 -0
- data/lib/config/javascript-mocha.conf +12 -0
- data/lib/config/javascript-protractor.conf +12 -0
- data/lib/config/javascript-qunit.conf +12 -0
- data/lib/config/jbehave.conf +24 -0
- data/lib/config/php-phpunit.conf +14 -0
- data/lib/config/python-unittest.conf +13 -0
- data/lib/config/robotframework.conf +13 -0
- data/lib/config/ruby-minitest.conf +11 -0
- data/lib/config/ruby-rspec.conf +11 -0
- data/lib/config/seleniumide.conf +12 -0
- data/lib/config/specflow.conf +25 -0
- data/lib/config/swift-xctest.conf +18 -0
- data/lib/hiptest-publisher/cli_options_checker.rb +270 -0
- data/lib/hiptest-publisher/client.rb +326 -0
- data/lib/hiptest-publisher/export_cache.rb +85 -0
- data/lib/hiptest-publisher/file_writer.rb +30 -0
- data/lib/hiptest-publisher/formatters/console_formatter.rb +101 -0
- data/lib/hiptest-publisher/formatters/diff_displayer.rb +173 -0
- data/lib/hiptest-publisher/formatters/reporter.rb +74 -0
- data/lib/hiptest-publisher/handlebars_helper.rb +314 -0
- data/lib/hiptest-publisher/i18n.rb +5 -0
- data/lib/hiptest-publisher/indexers/actionword_indexer.rb +32 -0
- data/lib/hiptest-publisher/indexers/library_actionword_indexer.rb +32 -0
- data/lib/hiptest-publisher/node_modifiers/actionword_uniq_renamer.rb +39 -0
- data/lib/hiptest-publisher/node_modifiers/add_all.rb +21 -0
- data/lib/hiptest-publisher/node_modifiers/call_arguments_adder.rb +46 -0
- data/lib/hiptest-publisher/node_modifiers/datatable_fixer.rb +32 -0
- data/lib/hiptest-publisher/node_modifiers/gherkin_adder.rb +252 -0
- data/lib/hiptest-publisher/node_modifiers/items_orderer.rb +33 -0
- data/lib/hiptest-publisher/node_modifiers/parameter_type_adder.rb +141 -0
- data/lib/hiptest-publisher/node_modifiers/parent_adder.rb +18 -0
- data/lib/hiptest-publisher/nodes.rb +601 -0
- data/lib/hiptest-publisher/nodes_walker.rb +34 -0
- data/lib/hiptest-publisher/options_parser.rb +826 -0
- data/lib/hiptest-publisher/project_grapher.rb +94 -0
- data/lib/hiptest-publisher/render_context_maker.rb +194 -0
- data/lib/hiptest-publisher/renderer.rb +52 -0
- data/lib/hiptest-publisher/renderer_addons/behave_addon.rb +23 -0
- data/lib/hiptest-publisher/renderer_addons/gherkin_addon.rb +59 -0
- data/lib/hiptest-publisher/renderer_addons/groovy_spock_addon.rb +34 -0
- data/lib/hiptest-publisher/renderer_addons/robot_framework_addon.rb +42 -0
- data/lib/hiptest-publisher/renderer_addons.rb +4 -0
- data/lib/hiptest-publisher/signature_differ.rb +105 -0
- data/lib/hiptest-publisher/signature_exporter.rb +56 -0
- data/lib/hiptest-publisher/string.rb +76 -0
- data/lib/hiptest-publisher/utils.rb +39 -0
- data/lib/hiptest-publisher/version_checker.rb +41 -0
- data/lib/hiptest-publisher/xml_parser.rb +407 -0
- data/lib/hiptest-publisher.rb +261 -0
- data/lib/templates/behat/actionword.hbs +8 -0
- data/lib/templates/behat/actionwords/parameter.hbs +1 -0
- data/lib/templates/behat/actionwords.hbs +16 -0
- data/lib/templates/behat/library.hbs +16 -0
- data/lib/templates/behat/libraryactionword.hbs +8 -0
- data/lib/templates/behat/parameter.hbs +1 -0
- data/lib/templates/behave/actionword.hbs +4 -0
- data/lib/templates/behave/actionwords.hbs +12 -0
- data/lib/templates/behave/library.hbs +7 -0
- data/lib/templates/behave/libraryactionword.hbs +4 -0
- data/lib/templates/behave/nullliteral.hbs +1 -0
- data/lib/templates/common/_gherkin_pattern.hbs +1 -0
- data/lib/templates/common/_gherkin_typed_pattern.hbs +1 -0
- data/lib/templates/common/booleanliteral.hbs +1 -0
- data/lib/templates/common/dataset.hbs +0 -0
- data/lib/templates/common/datatable.hbs +3 -0
- data/lib/templates/common/empty.hbs +0 -0
- data/lib/templates/common/nullliteral.hbs +1 -0
- data/lib/templates/common/numericliteral.hbs +1 -0
- data/lib/templates/common/stringliteral.hbs +1 -0
- data/lib/templates/common/symbol.hbs +1 -0
- data/lib/templates/common/unaryexpression.hbs +1 -0
- data/lib/templates/common/variable.hbs +1 -0
- data/lib/templates/csharp/_body.hbs +5 -0
- data/lib/templates/csharp/_item_as_function.hbs +8 -0
- data/lib/templates/csharp/_scenario.hbs +8 -0
- data/lib/templates/csharp/actionword.hbs +1 -0
- data/lib/templates/csharp/actionwords.hbs +10 -0
- data/lib/templates/csharp/argument.hbs +1 -0
- data/lib/templates/csharp/assign.hbs +1 -0
- data/lib/templates/csharp/binaryexpression.hbs +1 -0
- data/lib/templates/csharp/call.hbs +2 -0
- data/lib/templates/csharp/dataset.hbs +4 -0
- data/lib/templates/csharp/dict.hbs +1 -0
- data/lib/templates/csharp/field.hbs +1 -0
- data/lib/templates/csharp/folder.hbs +22 -0
- data/lib/templates/csharp/ifthen.hbs +7 -0
- data/lib/templates/csharp/index.hbs +1 -0
- data/lib/templates/csharp/list.hbs +1 -0
- data/lib/templates/csharp/nullliteral.hbs +1 -0
- data/lib/templates/csharp/parameter.hbs +1 -0
- data/lib/templates/csharp/parenthesis.hbs +1 -0
- data/lib/templates/csharp/property.hbs +1 -0
- data/lib/templates/csharp/scenario.hbs +1 -0
- data/lib/templates/csharp/scenarios.hbs +20 -0
- data/lib/templates/csharp/single_scenario.hbs +16 -0
- data/lib/templates/csharp/single_test.hbs +15 -0
- data/lib/templates/csharp/step.hbs +1 -0
- data/lib/templates/csharp/stringliteral.hbs +1 -0
- data/lib/templates/csharp/tag.hbs +1 -0
- data/lib/templates/csharp/template.hbs +1 -0
- data/lib/templates/csharp/test.hbs +1 -0
- data/lib/templates/csharp/tests.hbs +15 -0
- data/lib/templates/csharp/variable.hbs +1 -0
- data/lib/templates/csharp/while.hbs +4 -0
- data/lib/templates/cucumber/actionword.hbs +5 -0
- data/lib/templates/cucumber/actionwords.hbs +5 -0
- data/lib/templates/cucumber/groovy/step-definitions/_gherkin_pattern.hbs +1 -0
- data/lib/templates/cucumber/groovy/step-definitions/actionword.hbs +5 -0
- data/lib/templates/cucumber/groovy/step-definitions/actionwords.hbs +11 -0
- data/lib/templates/cucumber/groovy/step-definitions/library.hbs +11 -0
- data/lib/templates/cucumber/groovy/step-definitions/libraryactionword.hbs +5 -0
- data/lib/templates/cucumber/groovy/step-definitions/parameter.hbs +1 -0
- data/lib/templates/cucumber/java/actionword.hbs +6 -0
- data/lib/templates/cucumber/java/actionwords/parameter.hbs +1 -0
- data/lib/templates/cucumber/java/actionwords.hbs +12 -0
- data/lib/templates/cucumber/java/parameter.hbs +1 -0
- data/lib/templates/cucumber/javascript/_after_hook.hbs +4 -0
- data/lib/templates/cucumber/javascript/_before_hook.hbs +4 -0
- data/lib/templates/cucumber/javascript/actionword.hbs +6 -0
- data/lib/templates/cucumber/javascript/actionwords.hbs +8 -0
- data/lib/templates/cucumber/parameter.hbs +1 -0
- data/lib/templates/cucumber/typescript/_after_hook.hbs +4 -0
- data/lib/templates/cucumber/typescript/_before_hook.hbs +4 -0
- data/lib/templates/cucumber/typescript/actionword.hbs +5 -0
- data/lib/templates/cucumber/typescript/actionwords.hbs +10 -0
- data/lib/templates/cucumber/typescript/library.hbs +12 -0
- data/lib/templates/cucumber/typescript/libraryactionword.hbs +5 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/actionword.hbs +5 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/actionwords.hbs +10 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/library.hbs +10 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/libraryactionword.hbs +5 -0
- data/lib/templates/cucumber_legacy/java/actionword.hbs +6 -0
- data/lib/templates/cucumber_legacy/java/actionwords.hbs +12 -0
- data/lib/templates/cucumber_legacy/typescript/actionword.hbs +5 -0
- data/lib/templates/cucumber_legacy/typescript/libraryactionword.hbs +5 -0
- data/lib/templates/gherkin/_call.hbs +5 -0
- data/lib/templates/gherkin/_gherkin_text.hbs +1 -0
- data/lib/templates/gherkin/_scenario.hbs +18 -0
- data/lib/templates/gherkin/_scenario_outline_title.hbs +1 -0
- data/lib/templates/gherkin/argument.hbs +1 -0
- data/lib/templates/gherkin/call.hbs +1 -0
- data/lib/templates/gherkin/dataset.hbs +1 -0
- data/lib/templates/gherkin/datatable.hbs +2 -0
- data/lib/templates/gherkin/folder.hbs +10 -0
- data/lib/templates/gherkin/inlined_uids/_scenario_outline_title.hbs +1 -0
- data/lib/templates/gherkin/java/single_scenario.hbs +1 -0
- data/lib/templates/gherkin/parameter.hbs +1 -0
- data/lib/templates/gherkin/scenarios.hbs +3 -0
- data/lib/templates/gherkin/single_scenario.hbs +1 -0
- data/lib/templates/gherkin/single_test.hbs +3 -0
- data/lib/templates/gherkin/step.hbs +1 -0
- data/lib/templates/gherkin/stringliteral.hbs +1 -0
- data/lib/templates/gherkin/tag.hbs +1 -0
- data/lib/templates/gherkin/template.hbs +1 -0
- data/lib/templates/groovy/_body.hbs +8 -0
- data/lib/templates/groovy/_desc.hbs +5 -0
- data/lib/templates/groovy/_scenario.hbs +10 -0
- data/lib/templates/groovy/_steps.hbs +4 -0
- data/lib/templates/groovy/_test.hbs +4 -0
- data/lib/templates/groovy/actionword.hbs +2 -0
- data/lib/templates/groovy/actionwords.hbs +7 -0
- data/lib/templates/groovy/assign.hbs +1 -0
- data/lib/templates/groovy/call.hbs +2 -0
- data/lib/templates/groovy/dataset.hbs +1 -0
- data/lib/templates/groovy/datatable.hbs +2 -0
- data/lib/templates/groovy/dict.hbs +1 -0
- data/lib/templates/groovy/folder.hbs +18 -0
- data/lib/templates/groovy/index.hbs +1 -0
- data/lib/templates/groovy/libraries.hbs +9 -0
- data/lib/templates/groovy/library.hbs +8 -0
- data/lib/templates/groovy/libraryactionword.hbs +2 -0
- data/lib/templates/groovy/list.hbs +1 -0
- data/lib/templates/groovy/nullliteral.hbs +1 -0
- data/lib/templates/groovy/parameter.hbs +1 -0
- data/lib/templates/groovy/property.hbs +1 -0
- data/lib/templates/groovy/scenario.hbs +1 -0
- data/lib/templates/groovy/scenarios.hbs +10 -0
- data/lib/templates/groovy/single_scenario.hbs +9 -0
- data/lib/templates/groovy/single_test.hbs +10 -0
- data/lib/templates/groovy/template.hbs +1 -0
- data/lib/templates/groovy/test.hbs +1 -0
- data/lib/templates/groovy/tests.hbs +10 -0
- data/lib/templates/java/_body.hbs +5 -0
- data/lib/templates/java/_item_as_function.hbs +8 -0
- data/lib/templates/java/_scenario.hbs +7 -0
- data/lib/templates/java/actionword.hbs +1 -0
- data/lib/templates/java/actionwords.hbs +8 -0
- data/lib/templates/java/argument.hbs +1 -0
- data/lib/templates/java/assign.hbs +1 -0
- data/lib/templates/java/binaryexpression.hbs +1 -0
- data/lib/templates/java/call.hbs +2 -0
- data/lib/templates/java/dataset.hbs +3 -0
- data/lib/templates/java/dict.hbs +1 -0
- data/lib/templates/java/espresso/_scenario.hbs +8 -0
- data/lib/templates/java/espresso/dataset.hbs +4 -0
- data/lib/templates/java/espresso/folder.hbs +29 -0
- data/lib/templates/java/espresso/scenarios.hbs +23 -0
- data/lib/templates/java/espresso/single_scenario.hbs +24 -0
- data/lib/templates/java/espresso/single_test.hbs +22 -0
- data/lib/templates/java/espresso/tests.hbs +23 -0
- data/lib/templates/java/field.hbs +1 -0
- data/lib/templates/java/folder.hbs +18 -0
- data/lib/templates/java/ifthen.hbs +7 -0
- data/lib/templates/java/index.hbs +1 -0
- data/lib/templates/java/libraries.hbs +9 -0
- data/lib/templates/java/library.hbs +7 -0
- data/lib/templates/java/libraryactionword.hbs +1 -0
- data/lib/templates/java/list.hbs +1 -0
- data/lib/templates/java/nullliteral.hbs +1 -0
- data/lib/templates/java/parameter.hbs +1 -0
- data/lib/templates/java/parenthesis.hbs +1 -0
- data/lib/templates/java/property.hbs +1 -0
- data/lib/templates/java/scenario.hbs +1 -0
- data/lib/templates/java/scenarios.hbs +11 -0
- data/lib/templates/java/single_scenario.hbs +12 -0
- data/lib/templates/java/single_test.hbs +11 -0
- data/lib/templates/java/step.hbs +1 -0
- data/lib/templates/java/stringliteral.hbs +1 -0
- data/lib/templates/java/tag.hbs +1 -0
- data/lib/templates/java/template.hbs +1 -0
- data/lib/templates/java/test.hbs +1 -0
- data/lib/templates/java/testng/_scenario.hbs +8 -0
- data/lib/templates/java/testng/dataset.hbs +4 -0
- data/lib/templates/java/testng/folder.hbs +19 -0
- data/lib/templates/java/testng/scenarios.hbs +16 -0
- data/lib/templates/java/testng/single_scenario.hbs +12 -0
- data/lib/templates/java/testng/single_test.hbs +11 -0
- data/lib/templates/java/testng/tests.hbs +16 -0
- data/lib/templates/java/tests.hbs +11 -0
- data/lib/templates/java/variable.hbs +1 -0
- data/lib/templates/java/while.hbs +4 -0
- data/lib/templates/javascript/_body.hbs +10 -0
- data/lib/templates/javascript/_item_as_function.hbs +3 -0
- data/lib/templates/javascript/_item_as_hash_key.hbs +3 -0
- data/lib/templates/javascript/_module_declaration.hbs +5 -0
- data/lib/templates/javascript/_scenario.hbs +4 -0
- data/lib/templates/javascript/actionword.hbs +1 -0
- data/lib/templates/javascript/actionwords.hbs +4 -0
- data/lib/templates/javascript/argument.hbs +1 -0
- data/lib/templates/javascript/assign.hbs +1 -0
- data/lib/templates/javascript/binaryexpression.hbs +1 -0
- data/lib/templates/javascript/call.hbs +2 -0
- data/lib/templates/javascript/codeceptjs/actionword.hbs +5 -0
- data/lib/templates/javascript/codeceptjs/actionwords.hbs +9 -0
- data/lib/templates/javascript/dataset.hbs +3 -0
- data/lib/templates/javascript/dict.hbs +1 -0
- data/lib/templates/javascript/es6/actionwords.hbs +4 -0
- data/lib/templates/javascript/field.hbs +1 -0
- data/lib/templates/javascript/folder.hbs +14 -0
- data/lib/templates/javascript/ifthen.hbs +7 -0
- data/lib/templates/javascript/index.hbs +1 -0
- data/lib/templates/javascript/jasmine/_before_each.hbs +3 -0
- data/lib/templates/javascript/jasmine/_scenario.hbs +8 -0
- data/lib/templates/javascript/jasmine/dataset.hbs +3 -0
- data/lib/templates/javascript/jasmine/folder.hbs +11 -0
- data/lib/templates/javascript/jasmine/scenarios.hbs +8 -0
- data/lib/templates/javascript/jasmine/single_scenario.hbs +6 -0
- data/lib/templates/javascript/jasmine/single_test.hbs +6 -0
- data/lib/templates/javascript/jasmine/tests.hbs +8 -0
- data/lib/templates/javascript/list.hbs +1 -0
- data/lib/templates/javascript/mocha/_before_each.hbs +4 -0
- data/lib/templates/javascript/mocha/folder.hbs +11 -0
- data/lib/templates/javascript/nullliteral.hbs +1 -0
- data/lib/templates/javascript/parameter.hbs +1 -0
- data/lib/templates/javascript/parenthesis.hbs +1 -0
- data/lib/templates/javascript/project.hbs +2 -0
- data/lib/templates/javascript/property.hbs +1 -0
- data/lib/templates/javascript/scenario.hbs +1 -0
- data/lib/templates/javascript/scenarios.hbs +8 -0
- data/lib/templates/javascript/single_scenario.hbs +6 -0
- data/lib/templates/javascript/single_test.hbs +6 -0
- data/lib/templates/javascript/step.hbs +1 -0
- data/lib/templates/javascript/tag.hbs +1 -0
- data/lib/templates/javascript/template.hbs +1 -0
- data/lib/templates/javascript/test.hbs +1 -0
- data/lib/templates/javascript/tests.hbs +8 -0
- data/lib/templates/javascript/while.hbs +5 -0
- data/lib/templates/jbehave/_scenario.hbs +9 -0
- data/lib/templates/jbehave/actionwords/parameter.hbs +1 -0
- data/lib/templates/jbehave/call.hbs +5 -0
- data/lib/templates/jbehave/folder.hbs +16 -0
- data/lib/templates/jbehave/single_test.hbs +3 -0
- data/lib/templates/jbehave/steps/_gherkin_pattern.hbs +1 -0
- data/lib/templates/jbehave/steps/actionword.hbs +6 -0
- data/lib/templates/jbehave/steps/actionwords.hbs +18 -0
- data/lib/templates/php/_body.hbs +9 -0
- data/lib/templates/php/_item_as_function.hbs +3 -0
- data/lib/templates/php/_scenario.hbs +4 -0
- data/lib/templates/php/_setup.hbs +4 -0
- data/lib/templates/php/actionword.hbs +1 -0
- data/lib/templates/php/actionwords.hbs +9 -0
- data/lib/templates/php/argument.hbs +1 -0
- data/lib/templates/php/assign.hbs +1 -0
- data/lib/templates/php/binaryexpression.hbs +1 -0
- data/lib/templates/php/call.hbs +2 -0
- data/lib/templates/php/dataset.hbs +3 -0
- data/lib/templates/php/dict.hbs +1 -0
- data/lib/templates/php/field.hbs +1 -0
- data/lib/templates/php/folder.hbs +17 -0
- data/lib/templates/php/ifthen.hbs +7 -0
- data/lib/templates/php/index.hbs +1 -0
- data/lib/templates/php/libraries.hbs +11 -0
- data/lib/templates/php/library.hbs +20 -0
- data/lib/templates/php/libraryactionword.hbs +1 -0
- data/lib/templates/php/list.hbs +1 -0
- data/lib/templates/php/nullliteral.hbs +1 -0
- data/lib/templates/php/parameter.hbs +1 -0
- data/lib/templates/php/parenthesis.hbs +1 -0
- data/lib/templates/php/project.hbs +2 -0
- data/lib/templates/php/property.hbs +1 -0
- data/lib/templates/php/scenario.hbs +1 -0
- data/lib/templates/php/scenarios.hbs +13 -0
- data/lib/templates/php/single_scenario.hbs +11 -0
- data/lib/templates/php/single_test.hbs +11 -0
- data/lib/templates/php/step.hbs +1 -0
- data/lib/templates/php/tag.hbs +1 -0
- data/lib/templates/php/template.hbs +1 -0
- data/lib/templates/php/test.hbs +1 -0
- data/lib/templates/php/tests.hbs +13 -0
- data/lib/templates/php/variable.hbs +1 -0
- data/lib/templates/php/while.hbs +5 -0
- data/lib/templates/python/_body.hbs +11 -0
- data/lib/templates/python/_item_as_def.hbs +2 -0
- data/lib/templates/python/_parameters.hbs +1 -0
- data/lib/templates/python/_scenario.hbs +4 -0
- data/lib/templates/python/actionword.hbs +1 -0
- data/lib/templates/python/actionwords.hbs +12 -0
- data/lib/templates/python/argument.hbs +1 -0
- data/lib/templates/python/assign.hbs +1 -0
- data/lib/templates/python/binaryexpression.hbs +1 -0
- data/lib/templates/python/booleanliteral.hbs +1 -0
- data/lib/templates/python/call.hbs +2 -0
- data/lib/templates/python/dataset.hbs +2 -0
- data/lib/templates/python/dict.hbs +1 -0
- data/lib/templates/python/field.hbs +1 -0
- data/lib/templates/python/folder.hbs +12 -0
- data/lib/templates/python/ifthen.hbs +4 -0
- data/lib/templates/python/index.hbs +1 -0
- data/lib/templates/python/libraries.hbs +9 -0
- data/lib/templates/python/library.hbs +17 -0
- data/lib/templates/python/libraryactionword.hbs +1 -0
- data/lib/templates/python/list.hbs +1 -0
- data/lib/templates/python/nullliteral.hbs +1 -0
- data/lib/templates/python/parameter.hbs +1 -0
- data/lib/templates/python/parenthesis.hbs +1 -0
- data/lib/templates/python/project.hbs +2 -0
- data/lib/templates/python/property.hbs +1 -0
- data/lib/templates/python/scenario.hbs +1 -0
- data/lib/templates/python/scenarios.hbs +11 -0
- data/lib/templates/python/single_scenario.hbs +9 -0
- data/lib/templates/python/single_test.hbs +9 -0
- data/lib/templates/python/step.hbs +1 -0
- data/lib/templates/python/tag.hbs +1 -0
- data/lib/templates/python/template.hbs +1 -0
- data/lib/templates/python/test.hbs +1 -0
- data/lib/templates/python/tests.hbs +11 -0
- data/lib/templates/python/unittest/actionwords.hbs +9 -0
- data/lib/templates/python/while.hbs +4 -0
- data/lib/templates/robotframework/_keyword.hbs +1 -0
- data/lib/templates/robotframework/_keyword_body.hbs +4 -0
- data/lib/templates/robotframework/_scenario.hbs +12 -0
- data/lib/templates/robotframework/actionword.hbs +3 -0
- data/lib/templates/robotframework/actionwords.hbs +4 -0
- data/lib/templates/robotframework/argument.hbs +1 -0
- data/lib/templates/robotframework/call.hbs +1 -0
- data/lib/templates/robotframework/dataset.hbs +1 -0
- data/lib/templates/robotframework/datatable.hbs +2 -0
- data/lib/templates/robotframework/folder.hbs +35 -0
- data/lib/templates/robotframework/ifthen.hbs +1 -0
- data/lib/templates/robotframework/parameter.hbs +1 -0
- data/lib/templates/robotframework/property.hbs +1 -0
- data/lib/templates/robotframework/scenarios.hbs +25 -0
- data/lib/templates/robotframework/single_scenario.hbs +10 -0
- data/lib/templates/robotframework/single_test.hbs +10 -0
- data/lib/templates/robotframework/stringliteral.hbs +1 -0
- data/lib/templates/robotframework/template.hbs +1 -0
- data/lib/templates/robotframework/test.hbs +1 -0
- data/lib/templates/robotframework/tests.hbs +7 -0
- data/lib/templates/robotframework/variable.hbs +1 -0
- data/lib/templates/robotframework/while.hbs +1 -0
- data/lib/templates/ruby/_body.hbs +10 -0
- data/lib/templates/ruby/_item_as_def.hbs +3 -0
- data/lib/templates/ruby/_scenario.hbs +5 -0
- data/lib/templates/ruby/actionword.hbs +1 -0
- data/lib/templates/ruby/actionwords.hbs +6 -0
- data/lib/templates/ruby/argument.hbs +1 -0
- data/lib/templates/ruby/assign.hbs +1 -0
- data/lib/templates/ruby/binaryexpression.hbs +1 -0
- data/lib/templates/ruby/call.hbs +2 -0
- data/lib/templates/ruby/dataset.hbs +3 -0
- data/lib/templates/ruby/dict.hbs +1 -0
- data/lib/templates/ruby/field.hbs +1 -0
- data/lib/templates/ruby/folder.hbs +16 -0
- data/lib/templates/ruby/ifthen.hbs +7 -0
- data/lib/templates/ruby/index.hbs +1 -0
- data/lib/templates/ruby/list.hbs +1 -0
- data/lib/templates/ruby/minitest/_item_as_def.hbs +3 -0
- data/lib/templates/ruby/minitest/_scenario.hbs +4 -0
- data/lib/templates/ruby/minitest/dataset.hbs +3 -0
- data/lib/templates/ruby/minitest/folder.hbs +18 -0
- data/lib/templates/ruby/minitest/scenario.hbs +1 -0
- data/lib/templates/ruby/minitest/scenarios.hbs +13 -0
- data/lib/templates/ruby/minitest/single_scenario.hbs +11 -0
- data/lib/templates/ruby/minitest/single_test.hbs +11 -0
- data/lib/templates/ruby/minitest/test.hbs +1 -0
- data/lib/templates/ruby/minitest/tests.hbs +13 -0
- data/lib/templates/ruby/parameter.hbs +1 -0
- data/lib/templates/ruby/parenthesis.hbs +1 -0
- data/lib/templates/ruby/project.hbs +2 -0
- data/lib/templates/ruby/property.hbs +1 -0
- data/lib/templates/ruby/scenario.hbs +1 -0
- data/lib/templates/ruby/scenarios.hbs +12 -0
- data/lib/templates/ruby/single_scenario.hbs +11 -0
- data/lib/templates/ruby/single_test.hbs +11 -0
- data/lib/templates/ruby/step.hbs +1 -0
- data/lib/templates/ruby/symbol.hbs +1 -0
- data/lib/templates/ruby/tag.hbs +1 -0
- data/lib/templates/ruby/template.hbs +1 -0
- data/lib/templates/ruby/test.hbs +1 -0
- data/lib/templates/ruby/tests.hbs +12 -0
- data/lib/templates/ruby/while.hbs +5 -0
- data/lib/templates/seleniumide/argument.hbs +1 -0
- data/lib/templates/seleniumide/call.hbs +6 -0
- data/lib/templates/seleniumide/single_test.hbs +28 -0
- data/lib/templates/seleniumide/step.hbs +0 -0
- data/lib/templates/seleniumide/stringliteral.hbs +1 -0
- data/lib/templates/seleniumide/template.hbs +1 -0
- data/lib/templates/seleniumide/test.hbs +4 -0
- data/lib/templates/seleniumide/tests.hbs +19 -0
- data/lib/templates/specflow/actionword.hbs +6 -0
- data/lib/templates/specflow/actionwords/parameter.hbs +1 -0
- data/lib/templates/specflow/actionwords.hbs +14 -0
- data/lib/templates/specflow/gherkin/tag.hbs +1 -0
- data/lib/templates/specflow/parameter.hbs +1 -0
- data/lib/templates/swift/_body.hbs +11 -0
- data/lib/templates/swift/_item_as_def.hbs +5 -0
- data/lib/templates/swift/_scenario.hbs +7 -0
- data/lib/templates/swift/actionword.hbs +1 -0
- data/lib/templates/swift/actionwords.hbs +6 -0
- data/lib/templates/swift/argument.hbs +1 -0
- data/lib/templates/swift/assign.hbs +1 -0
- data/lib/templates/swift/binaryexpression.hbs +1 -0
- data/lib/templates/swift/call.hbs +2 -0
- data/lib/templates/swift/dataset.hbs +4 -0
- data/lib/templates/swift/dict.hbs +1 -0
- data/lib/templates/swift/field.hbs +1 -0
- data/lib/templates/swift/folder.hbs +23 -0
- data/lib/templates/swift/ifthen.hbs +7 -0
- data/lib/templates/swift/index.hbs +1 -0
- data/lib/templates/swift/list.hbs +1 -0
- data/lib/templates/swift/parameter.hbs +1 -0
- data/lib/templates/swift/parenthesis.hbs +1 -0
- data/lib/templates/swift/project.hbs +2 -0
- data/lib/templates/swift/property.hbs +1 -0
- data/lib/templates/swift/scenario.hbs +1 -0
- data/lib/templates/swift/scenarios.hbs +25 -0
- data/lib/templates/swift/single_scenario.hbs +24 -0
- data/lib/templates/swift/single_test.hbs +23 -0
- data/lib/templates/swift/step.hbs +1 -0
- data/lib/templates/swift/stringliteral.hbs +1 -0
- data/lib/templates/swift/symbol.hbs +1 -0
- data/lib/templates/swift/tag.hbs +1 -0
- data/lib/templates/swift/template.hbs +1 -0
- data/lib/templates/swift/test.hbs +1 -0
- data/lib/templates/swift/tests.hbs +25 -0
- data/lib/templates/swift/while.hbs +5 -0
- data/lib/templates/typescript/_item_as_function.hbs +3 -0
- data/lib/templates/typescript/actionword.hbs +1 -0
- data/lib/templates/typescript/actionwords.hbs +7 -0
- data/lib/templates/typescript/libraries.hbs +9 -0
- data/lib/templates/typescript/library.hbs +18 -0
- data/lib/templates/typescript/libraryactionword.hbs +1 -0
- data/lib/templates/typescript/parameter.hbs +1 -0
- metadata +783 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6a3f53167dc3f83f91c0ac374527d580eeec9f4ce690d8a51b6c8537f7b98b6a
|
4
|
+
data.tar.gz: 01daaed30e6e4cf04bcb72c660842b4306db69c4dd2899cc9a6a12ceb1d181f4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5b3770a9f610e2cb01b193c89c65b320749fbd235a05791d1dd0c3467d3d4c401e3f88ab0e804148a0f67dac555618c3ce9c641eb24eb82796da5dd281cdc1ce
|
7
|
+
data.tar.gz: '01582058bd0f7a4092f73bd909c8602d8668f38218979c775ffcbd95c1c0394f60fd446b2e5e3d71f0ff0e6f5d9e9c2792e5114dc0ff1fd1e1436c81114e8822'
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,295 @@
|
|
1
|
+
# HipTest Publisher Changelog
|
2
|
+
|
3
|
+
## [3.3.0]
|
4
|
+
|
5
|
+
- Adding support for ruby 3.2.0
|
6
|
+
|
7
|
+
## [3.2.0]
|
8
|
+
|
9
|
+
- Dropping support for ruby < 2.7
|
10
|
+
- Adding support for ruby 3.0
|
11
|
+
|
12
|
+
## [3.1.0]
|
13
|
+
|
14
|
+
- Add options related to builds (or execution cycles) in CucumberStudio:
|
15
|
+
- `--build-id`: allows to specify the build in which the results will be pushed
|
16
|
+
- `--build-name`: allows to name the build which will be created to store the results
|
17
|
+
|
18
|
+
## [3.0.0]
|
19
|
+
|
20
|
+
- Add `--overriden-language-configs` command line option (#205 by tenpaiyomi)
|
21
|
+
- Add support for Cucumber Expression in Java and Groovy (#205 by tenpaiyomi)
|
22
|
+
- Fix possible duplication of actionwords in export (#232 by tenpaiyomi)
|
23
|
+
- Breaking change: Export with cucumber expressions are now the default when specifying `--language=cucumber` for TypeScript, Java, and GroovySet. Use `--language=cucumber_legacy` to keep previous export behavior (#205 by tenpaiyomi) (#205 by tenpaiyomi)
|
24
|
+
- Breaking change: Drop support for ruby 2.3 and ruby 2.4 as they have reached end of life
|
25
|
+
- Rename HipTest as CucumberStudio in user messages
|
26
|
+
- Properly escape new lines in datatables (#109)
|
27
|
+
|
28
|
+
## [2.4.0]
|
29
|
+
|
30
|
+
- Add support for asynchronous export of projects from Cucumber Studio
|
31
|
+
|
32
|
+
## [2.3.1]
|
33
|
+
|
34
|
+
- `--indentation` option is now available to customize the indentation of the output
|
35
|
+
|
36
|
+
## [2.3.0]
|
37
|
+
|
38
|
+
- No test uids in datatables by default for feature files, add them when test run is used (#201)
|
39
|
+
|
40
|
+
## [2.2.0]
|
41
|
+
|
42
|
+
- Add support for Cucumber expressions w/ Typescript ([#173](https://github.com/hiptest/hiptest-publisher/pull/173) [#184](https://github.com/hiptest/hiptest-publisher/pull/184) [tenpaiyomi])
|
43
|
+
|
44
|
+
## [2.1.0]
|
45
|
+
|
46
|
+
- Do not try to colorize output when not in a `tty`
|
47
|
+
|
48
|
+
- Add `--[no-]color` option to allow disabling colored output
|
49
|
+
|
50
|
+
## [2.0.0]
|
51
|
+
|
52
|
+
- Deprecate support for Ruby 2.3 ([Ruby 2.3 EOL](https://www.ruby-lang.org/en/news/2019/03/31/support-of-ruby-2-3-has-ended/))
|
53
|
+
|
54
|
+
- Drop Ruby 2.2 support.
|
55
|
+
|
56
|
+
- Update Nokogiri to 1.10
|
57
|
+
|
58
|
+
## [1.31.0]
|
59
|
+
|
60
|
+
- Follow redirections when doing HTTP requests.
|
61
|
+
|
62
|
+
## [1.30.0]
|
63
|
+
|
64
|
+
- Upgrade `ruby-handlebars` to 0.4. `each` and `join` helpers now support the `as` notation.
|
65
|
+
|
66
|
+
- Add support for Swift/XCTest ([#134](https://github.com/hiptest/hiptest-publisher/pull/134) [bangroot])
|
67
|
+
|
68
|
+
- Add cache for the XML downloaded from CucumberStudio.
|
69
|
+
By default, files will be valid for 60 seconds but can be changed by using `--cache-duration=120` for example.
|
70
|
+
|
71
|
+
## [1.29.2]
|
72
|
+
|
73
|
+
- Fix escaping in string literals for Java and C# ([#157](https://github.com/hiptest/hiptest-publisher/issues/157) - [hiptest#195](https://github.com/hiptest/hiptest-issue-tracker/issues/195))
|
74
|
+
|
75
|
+
## [1.29.1]
|
76
|
+
|
77
|
+
- Allow any characters for the meta value ([#155](https://github.com/hiptest/hiptest-publisher/issues/155))
|
78
|
+
|
79
|
+
## [1.29.0]
|
80
|
+
|
81
|
+
- Make `rake install` work with ruby 2.6
|
82
|
+
- `--parameter-delimiter` option now accepts empty string
|
83
|
+
|
84
|
+
## [1.28.0]
|
85
|
+
|
86
|
+
- Fix bug where parameter-delimiter value was not recognized in command line ([#147](https://github.com/hiptest/hiptest-publisher/issues/147))
|
87
|
+
- Add option --http-proxy to specify proxy to use ([#132](https://github.com/hiptest/hiptest-publisher/issues/132))
|
88
|
+
|
89
|
+
## [1.27.1]
|
90
|
+
|
91
|
+
- Add CodeceptJS to language list in OptionsParser.languages
|
92
|
+
|
93
|
+
## [1.27.0]
|
94
|
+
|
95
|
+
- Enable accessing scenario tags in datasets
|
96
|
+
([#142](https://github.com/hiptest/hiptest-publisher/pull/142) [nono0481])
|
97
|
+
|
98
|
+
- Added support for CodeceptJS testing framework
|
99
|
+
([#130](https://github.com/hiptest/hiptest-publisher/pull/130) [DavertMik])
|
100
|
+
|
101
|
+
## [1.26.0]
|
102
|
+
|
103
|
+
- Shared actionwords handling for Cucumber/Typescript
|
104
|
+
|
105
|
+
## [1.25.0]
|
106
|
+
|
107
|
+
- Shared actionwords handling for Behave
|
108
|
+
|
109
|
+
## [1.24.0]
|
110
|
+
|
111
|
+
- Add #case, #when and #when_includes handlebars helpers
|
112
|
+
- Modify #if_includes handlebars helper to work with strings
|
113
|
+
|
114
|
+
## [1.23.5]
|
115
|
+
|
116
|
+
- Load i18n path also when used as a library
|
117
|
+
|
118
|
+
## [1.23.4]
|
119
|
+
|
120
|
+
- Add I18n to enable localizing (and clearing the code)
|
121
|
+
|
122
|
+
## [1.23.3]
|
123
|
+
|
124
|
+
- Update multipart-post to 2.1.1 to handle issues with Ruby < 2.5
|
125
|
+
(see: https://github.com/socketry/multipart-post/issues/61)
|
126
|
+
|
127
|
+
## [1.23.2]
|
128
|
+
|
129
|
+
- Force Nokogiri < 1.10 to keep support for Ruby 2.2
|
130
|
+
- Add deprecation notifications for Ruby 2.2
|
131
|
+
|
132
|
+
## [1.23.1]
|
133
|
+
|
134
|
+
- Handle new shared actionword architecture
|
135
|
+
|
136
|
+
## [1.22.0]
|
137
|
+
|
138
|
+
- Add support for Cucumber/Typescript
|
139
|
+
- Unlock Nokogiri update to 1.9.1
|
140
|
+
|
141
|
+
## [1.21.0]
|
142
|
+
|
143
|
+
- Add option --execution-environment to push results in the specified execution environment name
|
144
|
+
|
145
|
+
## [1.20.0]
|
146
|
+
|
147
|
+
- Add --meta option to add more flexibility in code generation
|
148
|
+
(see: https://github.com/hiptest/hiptest-publisher/blob/master/docs/Using%20meta%20data.md#using-meta-data)
|
149
|
+
|
150
|
+
## [1.19.3]
|
151
|
+
|
152
|
+
- Do not leave trailing whitespaces with {{comment}} helper
|
153
|
+
|
154
|
+
## [1.19.2]
|
155
|
+
|
156
|
+
- Fix description in Gherkin exports
|
157
|
+
|
158
|
+
## [1.19.1]
|
159
|
+
|
160
|
+
- Fix description in Gherkin exports
|
161
|
+
|
162
|
+
## [1.19.0]
|
163
|
+
|
164
|
+
- Do not comment description in Gherkin exports
|
165
|
+
|
166
|
+
## [1.18.1]
|
167
|
+
|
168
|
+
- Show message when calling an actionword using an unknown UID
|
169
|
+
|
170
|
+
## [1.18.0]
|
171
|
+
|
172
|
+
- Add option [no-]parent-folders-tags to choose if parent tags are rendered in feature files
|
173
|
+
|
174
|
+
## [1.17.2]
|
175
|
+
|
176
|
+
- Fix UIDCall handling for shared actionwords
|
177
|
+
|
178
|
+
## [1.17.1]
|
179
|
+
|
180
|
+
- update version number
|
181
|
+
|
182
|
+
## [1.16.6]
|
183
|
+
|
184
|
+
- Add the if_includes handlebars helper
|
185
|
+
- Add options "parameter-delimiter" allowing to remove quotes around parameters in Gherkin export
|
186
|
+
(or replace it by anything else in fact)
|
187
|
+
|
188
|
+
## [1.16.5]
|
189
|
+
|
190
|
+
- Fix UIDCall handling for behat
|
191
|
+
|
192
|
+
## [1.16.4]
|
193
|
+
|
194
|
+
- Handling tags for shared actionwords
|
195
|
+
|
196
|
+
## [1.16.3]
|
197
|
+
|
198
|
+
- Fix behat rendering of shared actionwords
|
199
|
+
|
200
|
+
## [1.16.2]
|
201
|
+
|
202
|
+
- Remove unnecessary templates for cucumber/groovy
|
203
|
+
|
204
|
+
## [1.16.0]
|
205
|
+
|
206
|
+
- Shared actionwords handling for behat
|
207
|
+
|
208
|
+
## [1.15.0]
|
209
|
+
|
210
|
+
- Shared actionwords handling for groovy/spock
|
211
|
+
|
212
|
+
## [1.14.0]
|
213
|
+
|
214
|
+
- Shared actionwords handling for cucumber/groovy
|
215
|
+
|
216
|
+
## [1.13.0]
|
217
|
+
|
218
|
+
- Add Cucumber/Groovy support
|
219
|
+
([#54](https://github.com/hiptest/hiptest-publisher/issues/54))
|
220
|
+
|
221
|
+
## [1.12.0]
|
222
|
+
|
223
|
+
- Add JBehave support
|
224
|
+
([#38](https://github.com/hiptest/hiptest-publisher/issues/38))
|
225
|
+
|
226
|
+
- Add option --with-dataset-names
|
227
|
+
([#105](https://github.com/hiptest/hiptest-publisher/issues/105))
|
228
|
+
|
229
|
+
- Reorder steps by regexp length for Behave
|
230
|
+
([#104](https://github.com/hiptest/hiptest-publisher/issues/104))
|
231
|
+
|
232
|
+
<!-- List of releases -->
|
233
|
+
|
234
|
+
[Unreleased]: https://github.com/hiptest/hiptest-publisher/compare/v3.1.0...master
|
235
|
+
[3.1.0]: https://github.com/hiptest/hiptest-publisher/compare/v3.0.0...v3.1.0
|
236
|
+
[3.0.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.4.0...v3.0.0
|
237
|
+
[2.4.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.3.1...v2.4.0
|
238
|
+
[2.3.1]: https://github.com/hiptest/hiptest-publisher/compare/v2.3.0...v2.3.1
|
239
|
+
[2.3.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.2.0...v2.3.0
|
240
|
+
[2.2.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.1.0...v2.2.0
|
241
|
+
[2.1.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.0.0...v2.1.0
|
242
|
+
[2.0.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.31.0...v2.0.0
|
243
|
+
[1.31.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.30.0...v1.31.0
|
244
|
+
[1.30.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.29.2...v1.30.0
|
245
|
+
[1.29.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.29.1...v1.29.2
|
246
|
+
[1.29.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.29.0...v1.29.1
|
247
|
+
[1.29.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.28.0...v1.29.0
|
248
|
+
[1.28.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.27.1...v1.28.0
|
249
|
+
[1.27.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.27.0...v1.27.1
|
250
|
+
[1.27.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.26.0...v1.27.0
|
251
|
+
[1.26.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.25.0...v1.26.0
|
252
|
+
[1.25.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.24.0...v1.25.0
|
253
|
+
[1.24.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.5...v1.24.0
|
254
|
+
[1.23.5]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.4...v1.23.5
|
255
|
+
[1.23.4]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.3...v1.23.4
|
256
|
+
[1.23.3]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.2...v1.23.3
|
257
|
+
[1.23.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.1...v1.23.2
|
258
|
+
[1.23.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.22.0...v1.23.1
|
259
|
+
[1.22.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.21.0...v1.22.0
|
260
|
+
[1.21.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.20.0...v1.21.0
|
261
|
+
[1.20.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.3...v1.20.0
|
262
|
+
[1.19.3]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.2...v1.19.3
|
263
|
+
[1.19.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.1...v1.19.2
|
264
|
+
[1.19.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.0...v1.19.1
|
265
|
+
[1.19.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.18.1...v1.19.0
|
266
|
+
[1.18.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.18.0...v1.18.1
|
267
|
+
[1.18.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.17.2...v1.18.0
|
268
|
+
[1.17.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.17.1...v1.17.2
|
269
|
+
[1.17.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.6...v1.17.1
|
270
|
+
[1.16.6]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.5...v1.16.6
|
271
|
+
[1.16.5]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.4...v1.16.5
|
272
|
+
[1.16.4]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.3...v1.16.4
|
273
|
+
[1.16.3]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.2...v1.16.3
|
274
|
+
[1.16.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.0...v1.16.2
|
275
|
+
[1.16.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.15.0...v1.16.0
|
276
|
+
[1.15.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.14.0...v1.15.0
|
277
|
+
[1.14.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.13.0...v1.14.0
|
278
|
+
[1.13.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.12.0...v1.13.0
|
279
|
+
[1.12.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.11.1...v1.12.0
|
280
|
+
|
281
|
+
<!-- List of contributors -->
|
282
|
+
|
283
|
+
[atulhm]: https://github.com/atulhm
|
284
|
+
[bangroot]: https://github.com/bangroot
|
285
|
+
[ClaudiaJ]: https://github.com/ClaudiaJ
|
286
|
+
[daniel-kun]: https://github.com/daniel-kun
|
287
|
+
[DavertMik]: https://github.com/DavertMik
|
288
|
+
[etorreborre]: https://github.com/etorreborre
|
289
|
+
[Jesterovskiy]: https://github.com/Jesterovskiy
|
290
|
+
[lostiniceland]: https://github.com/lostiniceland
|
291
|
+
[mhfrantz]: https://github.com/mhfrantz
|
292
|
+
[nono0481]: https://github.com/nono0481
|
293
|
+
[tenpaiyomi]: https://github.com/tenpaiyomi
|
294
|
+
[tikolakin]: https://github.com/tikolakin
|
295
|
+
[weeksghost]: https://github.com/weeksghost
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) SmartBear Software Inc.
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,265 @@
|
|
1
|
+
HipTest Publisher
|
2
|
+
==============
|
3
|
+
|
4
|
+
[![GitHub Actions status](https://github.com/hiptest/hiptest-publisher/workflows/Tests/badge.svg)](https://github.com/hiptest/hiptest-publisher/actions?query=workflow%3ATests)
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/hiptest-publisher.svg)](http://badge.fury.io/rb/hiptest-publisher)
|
6
|
+
[![Code Climate](https://codeclimate.com/github/hiptest/hiptest-publisher/badges/gpa.svg)](https://codeclimate.com/github/hiptest/hiptest-publisher)
|
7
|
+
[![Test Coverage](https://codeclimate.com/github/hiptest/hiptest-publisher/badges/coverage.svg)](https://codeclimate.com/github/hiptest/hiptest-publisher)
|
8
|
+
|
9
|
+
|
10
|
+
hiptest-publisher is a tool to read Test Management projects from CucumberStudio (formerly know as HipTest) and publish them as executable test scripts stubs to start automating.
|
11
|
+
|
12
|
+
Installing
|
13
|
+
----------
|
14
|
+
|
15
|
+
### Using docker image
|
16
|
+
|
17
|
+
A docker image of hiptest-publisher is built automatically and is available on
|
18
|
+
[Docker Hub](https://hub.docker.com/r/hiptest/hiptest-publisher/)
|
19
|
+
|
20
|
+
To call hiptest-publisher using this image, run this command:
|
21
|
+
```
|
22
|
+
docker run -it --rm -u $UID -v $(pwd):/app hiptest/hiptest-publisher <arguments>
|
23
|
+
```
|
24
|
+
|
25
|
+
A wrapper script is provided in
|
26
|
+
[`bin/hiptest-publisher-docker`](https://raw.githubusercontent.com/hiptest/hiptest-publisher/master/bin/hiptest-publisher-docker).
|
27
|
+
To use it:
|
28
|
+
1. copy `bin/hiptest-publisher-docker` to a location available in your `PATH`
|
29
|
+
like `~/bin` or `/usr/local/bin`
|
30
|
+
2. rename it as `hiptest-publisher`
|
31
|
+
3. make it executable with `chmod +x hiptest-publisher`
|
32
|
+
|
33
|
+
You will then be able to use hiptest-publisher as if it was locally installed.
|
34
|
+
|
35
|
+
### Using local installation
|
36
|
+
|
37
|
+
You need to have [Ruby installed on your machine](https://www.ruby-lang.org/en/installation/). You can then install it using gem:
|
38
|
+
|
39
|
+
```shell
|
40
|
+
gem install hiptest-publisher
|
41
|
+
```
|
42
|
+
|
43
|
+
Note: for Windows users, take a look at [this Windows installation guide](docs/INSTALLING/Windows.md).
|
44
|
+
|
45
|
+
Exporting a project
|
46
|
+
-------------------
|
47
|
+
|
48
|
+
Go to [CucumberStudio projects list](https://studio.cucumber.io/projects), pick one project, and select the Settings tab.
|
49
|
+
This tab is available only for projects you're admin of.
|
50
|
+
From there, copy the secret token and run this command line:
|
51
|
+
|
52
|
+
```shell
|
53
|
+
hiptest-publisher --token=<YOUR TOKEN>
|
54
|
+
```
|
55
|
+
|
56
|
+
This will create a Ruby tests suite. For the moment, we support the following languages and frameworks:
|
57
|
+
|
58
|
+
- Behat
|
59
|
+
- Behave
|
60
|
+
- CSharp (NUnit)
|
61
|
+
- Cucumber (Groovy / Java / Javascript / Ruby / TypeScript)
|
62
|
+
- Cucumber Legacy (Groovy / Java / TypeScript) (previous Cucumber versions)
|
63
|
+
- Groovy (Spock)
|
64
|
+
- Java (Espresso / JUnit / TestNg)
|
65
|
+
- JavaScript (CodeceptJS / Jasmine / Mocha / Protractor / QUnit)
|
66
|
+
- JBehave
|
67
|
+
- PHP (PHPUnit)
|
68
|
+
- Python (UnitTest)
|
69
|
+
- Robot Framework
|
70
|
+
- Ruby (MiniTest / RSpec)
|
71
|
+
- Selenium IDE
|
72
|
+
- SpecFlow
|
73
|
+
- Swift (XCTest)
|
74
|
+
|
75
|
+
You can specify the output language and framework in the command line, for example:
|
76
|
+
|
77
|
+
```shell
|
78
|
+
hiptest-publisher --token=<YOUR TOKEN> --language=ruby --framework=minitest
|
79
|
+
```
|
80
|
+
|
81
|
+
When publishing, you'll notice a file called ``actionwords_signature.yaml``. Store this file in your code repository, it will be used to [handle updates of the action word](docs/upgrading_actionwords.md).
|
82
|
+
|
83
|
+
Exporting a test run
|
84
|
+
--------------------
|
85
|
+
|
86
|
+
You can generate the test suite from a test run of your project by specifying option `--test-run-id=<xxx>` when calling `hiptest-publisher`. You can find the test run id in the address bar of your browser. If your browser address is `https://studio.cucumber.io/projects/1234/testRuns/6941`, then your test run id is `6941`. You can generate your tests from your test with this command line:
|
87
|
+
|
88
|
+
```shell
|
89
|
+
hiptest-publisher --token=<YOUR TOKEN> --test-run-id=6941
|
90
|
+
```
|
91
|
+
|
92
|
+
Available options
|
93
|
+
-----------------
|
94
|
+
|
95
|
+
For more information on the available options, use the following command:
|
96
|
+
|
97
|
+
```shell
|
98
|
+
hiptest-publisher --help
|
99
|
+
```
|
100
|
+
|
101
|
+
You could obtain for example:
|
102
|
+
|
103
|
+
```shell
|
104
|
+
Exports tests from CucumberStudio for automation.
|
105
|
+
|
106
|
+
Specific options:
|
107
|
+
-t, --token=TOKEN Secret token (available in your project settings)
|
108
|
+
-l, --language=LANG Target language (default: ruby)
|
109
|
+
-f, --framework=FRAMEWORK Test framework to use
|
110
|
+
-o, --output-directory=PATH Output directory (default: .)
|
111
|
+
--filename-pattern=PATTERN Filename pattern (containing %s)
|
112
|
+
-c, --config-file=PATH Configuration file
|
113
|
+
--overriden-templates=PATH Folder for overriden templates
|
114
|
+
--overriden-language-configs=PATH
|
115
|
+
Folder for overriden language configs
|
116
|
+
--test-run-id=ID Export data from a test run identified by its id
|
117
|
+
--test-run-name=NAME Export data from a test run identified by its name
|
118
|
+
--only=CATEGORIES Restrict export to given file categories (--only=list to list them)
|
119
|
+
--without=CATEGORIES Exclude file categories from import (--only=list to list them)
|
120
|
+
-x, --xml-file=PROJECT_XML XML file to use instead of fetching it from CucumberStudio
|
121
|
+
--tests-only (deprecated) alias for --only=tests (default: false)
|
122
|
+
--actionwords-only (deprecated) alias for --only=actionwords (default: false)
|
123
|
+
--actionwords-signature Export actionwords signature (default: false)
|
124
|
+
--show-actionwords-diff Show actionwords diff since last update (summary) (default: false)
|
125
|
+
--show-actionwords-diff-as-json
|
126
|
+
Show actionwords diff since last update (JSON output) (default: false)
|
127
|
+
--show-actionwords-deleted Output signature of deleted action words (default: false)
|
128
|
+
--show-actionwords-created Output code for new action words (default: false)
|
129
|
+
--show-actionwords-renamed Output signatures of renamed action words (default: false)
|
130
|
+
--show-actionwords-signature-changed
|
131
|
+
Output signatures of action words for which signature changed (default: false)
|
132
|
+
--show-actionwords-definition-changed
|
133
|
+
Output action words for which definition changed (default: false)
|
134
|
+
--library-name=LIBRARY_NAME Use in conjunction with show-actionwords-*: show the diff for the specified library
|
135
|
+
--with-folders Use folders hierarchy to export files in respective directories (default: false)
|
136
|
+
--empty-folders Export empty folders (default: false)
|
137
|
+
--split-scenarios Export each scenario in a single file (except for Gherkin based languages) (default: false)
|
138
|
+
--leafless-export Use only last level action word (default: false)
|
139
|
+
-s, --site=SITE Site to fetch from (default: https://studio.cucumber.io)
|
140
|
+
-p, --push=FILE.TAP Push a results file to the server
|
141
|
+
--global-failure-on-missing-reports
|
142
|
+
When there is no results file to push, report a global failure (default: false)
|
143
|
+
--push-format=tap Format of the test results (cucumber-json, junit, nunit, robot, tap) (default: tap)
|
144
|
+
--execution-environment=NAME Name of the execution environment
|
145
|
+
--build-id=ID ID of an existing build the results will be added to
|
146
|
+
--build-name=NAME Name for the build that will be created in CucumberStudio (build names are not unique)
|
147
|
+
--sort=[id,order,alpha] Sorting of tests in output: id will sort them by age, order will keep the same order than in hiptest (only with --with-folders option, will fallback to id otherwise), alpha will sort them by name (default: order)
|
148
|
+
--[no-]uids Export UIDs (note: can be disabled only for Gherkin-based exports, may cause issue when pushing results back) (default: true)
|
149
|
+
--[no-]parent-folder-tags Export tags from parent folders (note: if set to false, those tags are never rendered. Only available for Gherkin base exports) (default: true)
|
150
|
+
--parameter-delimiter Parameter delimiter (for Gherkin based export only) (default: "")
|
151
|
+
--with-dataset-names Export dataset name when creating feature files (note: available only for Gherkin-based exports) (default: false)
|
152
|
+
--keep-filenames Keep the same name as in CucumberStudio for the test files (note: may cause encoding issues) (default: false)
|
153
|
+
--keep-foldernames Keep the same name as in CucumberStudio for the folders (note: may cause encoding issues) (default: false)
|
154
|
+
--filter-on-scenario-ids=IDS Filter on scenario ids (use commas to separate ids when fetching multiple scenarios)
|
155
|
+
--filter-on-folder-ids=IDS Filter on folder ids (use commas to separate ids when fetching multiple folders)
|
156
|
+
--filter-on-scenario-name=NAME
|
157
|
+
Filter on scenario name (only one name is accepted)
|
158
|
+
--filter-on-folder-name=NAME Filter on folder name (only one name is accepted)
|
159
|
+
--filter-on-tags=TAGS Filter on scenarios and folder tags (use commas to separate tags when using multiple tags)
|
160
|
+
--filter-on-status=STATUS Filter on test status in last build (use in conjunction with a test run)
|
161
|
+
--not-recursive Used in conjunction with filter-on-folder-ids or filter-on-folder-name: only exports those folders, not their children (default: false)
|
162
|
+
--check-version Check if a new release of hiptest-publisher is available (default: false)
|
163
|
+
--force Force overwrite of existing files (do not apply to test files) (default: false)
|
164
|
+
--[no-]color Force [un]use of ANSI color in text output
|
165
|
+
-v, --verbose Run verbosely (default: false)
|
166
|
+
-H, --languages-help Show languages and framework options
|
167
|
+
-h, --help Show this message
|
168
|
+
```
|
169
|
+
|
170
|
+
Configuration
|
171
|
+
-------------
|
172
|
+
|
173
|
+
You have the possibility to store some configuration in a file named 'config'. Copy the file config.sample provided here and update the values with the values you use.
|
174
|
+
|
175
|
+
If you have multiple projects, you can have multiple config files and select one using the --config-file option:
|
176
|
+
|
177
|
+
```shell
|
178
|
+
# Use the default config file
|
179
|
+
hiptest-publisher
|
180
|
+
# Use the one to export as minitest
|
181
|
+
hiptest-publisher --config-file=config_minitest
|
182
|
+
```
|
183
|
+
|
184
|
+
For example, for java you can use this config file content:
|
185
|
+
|
186
|
+
```
|
187
|
+
token = '<YOUR TOKEN>'
|
188
|
+
language = 'java'
|
189
|
+
output_directory = '<YOUR OUTPUT DIRECTORY>'
|
190
|
+
package = 'com.youcompany'
|
191
|
+
```
|
192
|
+
|
193
|
+
Note that options from command line arguments override options from config file.
|
194
|
+
|
195
|
+
If you want to override one of the existing configurations, you can use the --overriden-language-configs option to specify a path that is checked for configuration files prior to looking at the default configuration files. If one is found, it will use that file instead of the default, otherwise it will use the default configuration for the specified language.
|
196
|
+
|
197
|
+
### Using hiptest-publisher behind a http proxy
|
198
|
+
|
199
|
+
To use hiptest-publisher behind a http proxy, set an environment variable named http_proxy
|
200
|
+
```
|
201
|
+
http_proxy=http://<proxy_host>:<proxy_port>
|
202
|
+
```
|
203
|
+
If username and password are required:
|
204
|
+
```
|
205
|
+
http_proxy=http://<username>:<password>@<proxy_host>:<proxy_port>
|
206
|
+
```
|
207
|
+
|
208
|
+
Posting results to CucumberStudio
|
209
|
+
---------------------------------
|
210
|
+
|
211
|
+
You can use the option `--push` to push the results back to CucumberStudio. For this, you first need to generate the test code from a Test Run by specifying option `--test-run-id=<xxx>` during code generation (or add it to the configuration file).
|
212
|
+
|
213
|
+
The tests must then generate a test report that is supported by CucumberStudio. Currently four types of test results are handled:
|
214
|
+
- Cucumber JSON format
|
215
|
+
- jUnit XML format
|
216
|
+
- [NUnit XML v2 format](https://github.com/nunit/docs/wiki/XML-Formats#v2-test-results)
|
217
|
+
- Robot framework XML output
|
218
|
+
- [TAP (Test Anything Protocol)](https://testanything.org/)
|
219
|
+
|
220
|
+
You can specify the type of export when pushing by using the option `--push-format=[cucumber-json|junit|nunit|robot|tap]` or specifying it in the config file.
|
221
|
+
|
222
|
+
You can push multiple files at once (using wildcard) but in that case, do not forget to add quotes. For examples:
|
223
|
+
|
224
|
+
hiptest-publisher --config-file=<path to your config file> --push="reports/*.xml"
|
225
|
+
|
226
|
+
The number of imported test results will be displayed. For debugging purposes, you can display imported tests individually with the `--verbose` option.
|
227
|
+
|
228
|
+
Development
|
229
|
+
-----------
|
230
|
+
|
231
|
+
While developing, you can install the gem locally by issuing
|
232
|
+
|
233
|
+
```
|
234
|
+
bundle exec rake install
|
235
|
+
```
|
236
|
+
|
237
|
+
You can also run the command directly with `bundle exec ruby -I lib bin/hiptest-publisher`. It is handy to define an alias so you can test your code easily:
|
238
|
+
|
239
|
+
```
|
240
|
+
# this alias will only work when run from the root of the project
|
241
|
+
alias hiptest-publisher='bundle exec ruby -I lib bin/hiptest-publisher'
|
242
|
+
```
|
243
|
+
|
244
|
+
|
245
|
+
Internationalization
|
246
|
+
--------------------
|
247
|
+
|
248
|
+
To help with internationalization, you can temporarly add the `i18n-tasks` in the Gemfile and run `i18n-tasks health` to check that everything is ok and there are no missing translations. We removed it because of the many dependencies it pulls.
|
249
|
+
|
250
|
+
Other useful commands:
|
251
|
+
* `i18n-tasks missing`
|
252
|
+
* `i18n-tasks unused`
|
253
|
+
* `i18n-tasks normalize`
|
254
|
+
* `i18n-tasks check-consistent-interpolations`
|
255
|
+
|
256
|
+
|
257
|
+
Adding support for other languages and framework
|
258
|
+
------------------------------------------------
|
259
|
+
|
260
|
+
See the [CONTRIBUTING](https://github.com/hiptest/hiptest-publisher/blob/master/docs/CONTRIBUTING.md) help page for more information.
|
261
|
+
|
262
|
+
Contributors
|
263
|
+
------------
|
264
|
+
|
265
|
+
The [@hiptest team](https://github.com/hiptest), [@mhfrantz](https://github.com/@mhfrantz), [@tikolakin](https://github.com/@tikolakin), [@atulhm](https://github.com/@atulhm), [@etorreborre](https://github.com/@etorreborre), [@daniel-kun](https://github.com/@daniel-kun), [@weeksghost](https://github.com/@weeksghost), [@lostiniceland](https://github.com/@lostiniceland), [@ClaudiaJ](https://github.com/@ClaudiaJ), [@Jesterovskiy](https://github.com/@Jesterovskiy), [@tenpaiyomi](https://github.com/@tenpaiyomi), [nono0481](https://github.com/nono0481), [DavertMik](https://github.com/DavertMik)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Don't try to run this binary directly. Instead:
|
4
|
+
#
|
5
|
+
# * `hiptest-publisher` if installed through rubygems, relying on the rubygem
|
6
|
+
# wrapper
|
7
|
+
#
|
8
|
+
# * `bundle exec ruby -I lib bin/hiptest-publisher` if doing hiptest-publisher
|
9
|
+
# development. You can define an alias for this command and run it as if
|
10
|
+
# you were running the gem natively.
|
11
|
+
#
|
12
|
+
# alias hiptest-publisher='bundle exec ruby -I lib bin/hiptest-publisher'
|
13
|
+
#
|
14
|
+
|
15
|
+
require 'ruby_version'
|
16
|
+
require 'hiptest-publisher/i18n'
|
17
|
+
require 'hiptest-publisher/utils'
|
18
|
+
|
19
|
+
# Ensure ruby version >= 2.7
|
20
|
+
if RubyVersion < '2.7.0'
|
21
|
+
STDERR.puts(I18n.t('ruby_version.required_version', version: '2.7.0'))
|
22
|
+
STDERR.puts(I18n.t('ruby_version.current_version', engine: RUBY_ENGINE, version: RUBY_VERSION))
|
23
|
+
STDERR.puts(I18n.t('ruby_version.use_more_recent'))
|
24
|
+
|
25
|
+
if RubyVersion.is? 2.6
|
26
|
+
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.6.0', year: '2022', month: '03', day: '31'))
|
27
|
+
elsif RubyVersion.is? 2.5
|
28
|
+
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.5.0', year: '2021', month: '03', day: '31'))
|
29
|
+
elsif RubyVersion.is? 2.4
|
30
|
+
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.4.0', year: '2020', month: '03', day: '31'))
|
31
|
+
end
|
32
|
+
exit 1
|
33
|
+
end
|
34
|
+
|
35
|
+
if RubyVersion < '3.0'
|
36
|
+
STDERR.puts(I18n.t('ruby_version.current_version', engine: RUBY_ENGINE, version: RUBY_VERSION))
|
37
|
+
STDERR.puts(I18n.t('ruby_version.deprecation_warning', version: '2.7'))
|
38
|
+
STDERR.puts(I18n.t('ruby_version.support_ended', version: '2.7', year: '2023', month: '03', day: '31'))
|
39
|
+
end
|
40
|
+
|
41
|
+
require 'hiptest-publisher'
|
42
|
+
begin
|
43
|
+
require 'pry' # only available in development
|
44
|
+
rescue StandardError, LoadError
|
45
|
+
end
|
46
|
+
|
47
|
+
Hiptest::Publisher.new(ARGV).run
|