allure-ruby-commons 2.13.8 → 2.13.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +17 -0
- data/lib/allure-ruby-commons.rb +12 -3
- data/lib/allure_ruby_commons/result_utils.rb +14 -7
- data/lib/allure_ruby_commons/step_annotation.rb +39 -0
- metadata +4 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0af09f2a82010cd21b1a58513757b558ec1ed18f60149fa98f27582a90f1282d
         | 
| 4 | 
            +
              data.tar.gz: c8bfbc4769b01c79b78f44ded358b05ffa9bd53be814c47fa50c7f0e6f4dd9b4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 38e8563e40e3dcd96705e3a09cacfc561043e880abfad723ee5a482e133afde13e466d134d455bfd2549dbcb947599a1ab733fefe34d768c0aaa5fb5b8089cf7
         | 
| 7 | 
            +
              data.tar.gz: 0ae240dad3392284b54ef54d3f22abed78763c39d71a88c60382af9324c79ea28438af40cb2c08e888e973f0cf22fb3961da4f9cff1eba0018bb510b8c7140e1
         | 
    
        data/README.md
    CHANGED
    
    | @@ -54,6 +54,23 @@ Allure.add_attachment(name: "attachment", source: "/path/to/test.txt", type: All | |
| 54 54 | 
             
            Allure.add_link(name: "Custom Url", url: "http://www.github.com")
         | 
| 55 55 | 
             
            ```
         | 
| 56 56 |  | 
| 57 | 
            +
            ## Steps
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            It is possible to mark method definitions to be automatically added to report as steps. The class just needs to extend `AllureStepAnnotation`
         | 
| 60 | 
            +
            and `step` method needs to be used before the method definition.
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            ```ruby
         | 
| 63 | 
            +
            class TestHelper
         | 
| 64 | 
            +
              extend AllureStepAnnotation
         | 
| 65 | 
            +
             | 
| 66 | 
            +
              step("Singleton step")
         | 
| 67 | 
            +
              def self.class_method; end
         | 
| 68 | 
            +
             | 
| 69 | 
            +
              step("Standard step")
         | 
| 70 | 
            +
              def standard_method; end
         | 
| 71 | 
            +
            end
         | 
| 72 | 
            +
            ```
         | 
| 73 | 
            +
             | 
| 57 74 | 
             
            ## Testing
         | 
| 58 75 |  | 
| 59 76 | 
             
            Install dependencies:
         | 
    
        data/lib/allure-ruby-commons.rb
    CHANGED
    
    | @@ -64,6 +64,13 @@ module Allure | |
| 64 64 | 
             
                  label(ResultUtils::SUITE_LABEL_NAME, value)
         | 
| 65 65 | 
             
                end
         | 
| 66 66 |  | 
| 67 | 
            +
                # Add tag to current test case
         | 
| 68 | 
            +
                # @param [String] value
         | 
| 69 | 
            +
                # @return [void]
         | 
| 70 | 
            +
                def tag(value)
         | 
| 71 | 
            +
                  label(ResultUtils::TAG_LABEL_NAME, value)
         | 
| 72 | 
            +
                end
         | 
| 73 | 
            +
             | 
| 67 74 | 
             
                # Add label to current test case
         | 
| 68 75 | 
             
                # @param [String] name
         | 
| 69 76 | 
             
                # @param [String] value
         | 
| @@ -162,14 +169,16 @@ module Allure | |
| 162 169 | 
             
                  lifecycle.stop_test_step
         | 
| 163 170 | 
             
                end
         | 
| 164 171 |  | 
| 165 | 
            -
                # Run passed block as step with given name
         | 
| 172 | 
            +
                # Run passed block as step with given name and return result of yield
         | 
| 166 173 | 
             
                # @param [String] name
         | 
| 167 174 | 
             
                # @yield [] step block
         | 
| 168 | 
            -
                # @return [ | 
| 175 | 
            +
                # @return [Object]
         | 
| 169 176 | 
             
                def run_step(name)
         | 
| 170 177 | 
             
                  lifecycle.start_test_step(StepResult.new(name: name, stage: Stage::RUNNING))
         | 
| 171 | 
            -
                  yield
         | 
| 178 | 
            +
                  result = yield
         | 
| 172 179 | 
             
                  lifecycle.update_test_step { |step| step.status = Status::PASSED }
         | 
| 180 | 
            +
             | 
| 181 | 
            +
                  result
         | 
| 173 182 | 
             
                rescue StandardError => e
         | 
| 174 183 | 
             
                  lifecycle.update_test_step do |step|
         | 
| 175 184 | 
             
                    step.status = ResultUtils.status(e)
         | 
| @@ -59,6 +59,13 @@ module Allure | |
| 59 59 | 
             
                    Label.new(FRAMEWORK_LABEL_NAME, value)
         | 
| 60 60 | 
             
                  end
         | 
| 61 61 |  | 
| 62 | 
            +
                  # Epic label
         | 
| 63 | 
            +
                  # @param [String] value
         | 
| 64 | 
            +
                  # @return [Allure::Label]
         | 
| 65 | 
            +
                  def epic_label(value)
         | 
| 66 | 
            +
                    Label.new(EPIC_LABEL_NAME, value)
         | 
| 67 | 
            +
                  end
         | 
| 68 | 
            +
             | 
| 62 69 | 
             
                  # Feature label
         | 
| 63 70 | 
             
                  # @param [String] value
         | 
| 64 71 | 
             
                  # @return [Allure::Label]
         | 
| @@ -66,6 +73,13 @@ module Allure | |
| 66 73 | 
             
                    Label.new(FEATURE_LABEL_NAME, value)
         | 
| 67 74 | 
             
                  end
         | 
| 68 75 |  | 
| 76 | 
            +
                  # Story label
         | 
| 77 | 
            +
                  # @param [String] value
         | 
| 78 | 
            +
                  # @return [Allure::Label]
         | 
| 79 | 
            +
                  def story_label(value)
         | 
| 80 | 
            +
                    Label.new(STORY_LABEL_NAME, value)
         | 
| 81 | 
            +
                  end
         | 
| 82 | 
            +
             | 
| 69 83 | 
             
                  # Package label
         | 
| 70 84 | 
             
                  # @param [String] value
         | 
| 71 85 | 
             
                  # @return [Allure::Label]
         | 
| @@ -94,13 +108,6 @@ module Allure | |
| 94 108 | 
             
                    Label.new(SUB_SUITE_LABEL_NAME, value)
         | 
| 95 109 | 
             
                  end
         | 
| 96 110 |  | 
| 97 | 
            -
                  # Story label
         | 
| 98 | 
            -
                  # @param [String] value
         | 
| 99 | 
            -
                  # @return [Allure::Label]
         | 
| 100 | 
            -
                  def story_label(value)
         | 
| 101 | 
            -
                    Label.new(STORY_LABEL_NAME, value)
         | 
| 102 | 
            -
                  end
         | 
| 103 | 
            -
             | 
| 104 111 | 
             
                  # Test case label
         | 
| 105 112 | 
             
                  # @param [String] value
         | 
| 106 113 | 
             
                  # @return [Allure::Label]
         | 
| @@ -0,0 +1,39 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # Adds support for annotating methods as allure steps
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            module AllureStepAnnotation
         | 
| 6 | 
            +
              # Mark method definition as allure step
         | 
| 7 | 
            +
              #
         | 
| 8 | 
            +
              # @param [String] step_name
         | 
| 9 | 
            +
              # @return [void]
         | 
| 10 | 
            +
              def step(step_name = "")
         | 
| 11 | 
            +
                @allure_step = step_name
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              private
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              def singleton_method_added(method_name)
         | 
| 17 | 
            +
                return super unless @allure_step
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                original_method = singleton_method(method_name)
         | 
| 20 | 
            +
                step_name = @allure_step.empty? ? method_name.to_s : @allure_step
         | 
| 21 | 
            +
                @allure_step = nil
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                define_singleton_method(method_name) do |*args, &block|
         | 
| 24 | 
            +
                  Allure.run_step(step_name) { original_method.call(*args, &block) }
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
              def method_added(method_name)
         | 
| 29 | 
            +
                return super unless @allure_step
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                original_method = instance_method(method_name)
         | 
| 32 | 
            +
                step_name = @allure_step.empty? ? method_name.to_s : @allure_step
         | 
| 33 | 
            +
                @allure_step = nil
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                define_method(method_name) do |*args, &block|
         | 
| 36 | 
            +
                  Allure.run_step(step_name) { original_method.bind(self).call(*args, &block) }
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: allure-ruby-commons
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.13.8
         | 
| 4 | 
            +
              version: 2.13.8.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andrejs Cunskis
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-03-14 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: mime-types
         | 
| @@ -118,6 +118,7 @@ files: | |
| 118 118 | 
             
            - lib/allure_ruby_commons/model/test_result.rb
         | 
| 119 119 | 
             
            - lib/allure_ruby_commons/model/test_result_container.rb
         | 
| 120 120 | 
             
            - lib/allure_ruby_commons/result_utils.rb
         | 
| 121 | 
            +
            - lib/allure_ruby_commons/step_annotation.rb
         | 
| 121 122 | 
             
            homepage: https://github.com/allure-framework/allure-ruby
         | 
| 122 123 | 
             
            licenses:
         | 
| 123 124 | 
             
            - Apache-2.0
         | 
| @@ -142,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 142 143 | 
             
                - !ruby/object:Gem::Version
         | 
| 143 144 | 
             
                  version: '0'
         | 
| 144 145 | 
             
            requirements: []
         | 
| 145 | 
            -
            rubygems_version: 3. | 
| 146 | 
            +
            rubygems_version: 3.2.3
         | 
| 146 147 | 
             
            signing_key: 
         | 
| 147 148 | 
             
            specification_version: 4
         | 
| 148 149 | 
             
            summary: Common library for allure results generation
         |