testbeat 0.6.0 → 0.7.0
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/lib/rspec/spec_helper.rb +28 -0
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f351005ad9c8613e13e6b8149aaa3575166ea5ff
         | 
| 4 | 
            +
              data.tar.gz: 4dedca6c54209fb5914b5bef5dd13b2b8caf1a64
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6afa9b30143d299cd97fe9ffe6ce6f4f1fe3717c4c0c2c30f4fc36742711906616af75f14c5ae13875057e4e9cdacd9eeaca8c51b0e4cb3ff1435c29ad5eb235
         | 
| 7 | 
            +
              data.tar.gz: c894dd8624444cd387b3930d094791700375f060f3f654e0e39d3ae92fddb92399df417712aeaa204c00eccb3b67b8b6d3d0b69973576dabbe02cd688f6625ed
         | 
    
        data/lib/rspec/spec_helper.rb
    CHANGED
    
    | @@ -273,6 +273,14 @@ class TestbeatContext | |
| 273 273 | 
             
                @method
         | 
| 274 274 | 
             
              end
         | 
| 275 275 |  | 
| 276 | 
            +
              def redirect
         | 
| 277 | 
            +
                @rest_redirect
         | 
| 278 | 
            +
              end
         | 
| 279 | 
            +
             | 
| 280 | 
            +
              def redirect?
         | 
| 281 | 
            +
                !!redirect
         | 
| 282 | 
            +
              end
         | 
| 283 | 
            +
             | 
| 276 284 | 
             
              def port
         | 
| 277 285 | 
             
                @rest_port
         | 
| 278 286 | 
             
              end
         | 
| @@ -354,6 +362,9 @@ class TestbeatContext | |
| 354 362 | 
             
                  if example_group[:port]
         | 
| 355 363 | 
             
                    @rest_port = example_group[:port]
         | 
| 356 364 | 
             
                  end
         | 
| 365 | 
            +
                  if example_group[:redirect]
         | 
| 366 | 
            +
                    @rest_redirect = example_group[:redirect]
         | 
| 367 | 
            +
                  end
         | 
| 357 368 | 
             
                end
         | 
| 358 369 |  | 
| 359 370 | 
             
              end
         | 
| @@ -438,6 +449,23 @@ class TestbeatRestRequest | |
| 438 449 |  | 
| 439 450 | 
             
                  @response = http.request(req) # Net::HTTPResponse object
         | 
| 440 451 |  | 
| 452 | 
            +
                  # The redirect must not be authenticated. Consider copying 401 handling to above redirect handling.
         | 
| 453 | 
            +
                  # Follows a single redirect, no recursive redirects (a feature in a test framework).
         | 
| 454 | 
            +
                  if (@response.code == "301" or @response.code == "302") and @testbeat.redirect
         | 
| 455 | 
            +
                    @testbeat.logger.info{ "Redirecting #{@response.code} to #{@response['location']}" }
         | 
| 456 | 
            +
                    redirectTo = URI.parse(@response['location'])
         | 
| 457 | 
            +
                    redirectToPath = [redirectTo.path,redirectTo.query].join('?')
         | 
| 458 | 
            +
                    #reqRedirect = req.new(redirectTo.path, req.to_hash()) # new(path, initheader = nil)
         | 
| 459 | 
            +
                    reqRedirect = HTTP_VERBS[@testbeat.method].new(redirectToPath) # new(path, initheader = nil)
         | 
| 460 | 
            +
                    if @testbeat.headers?
         | 
| 461 | 
            +
                      @testbeat.headers.each {|name, value| reqRedirect[name] = value }
         | 
| 462 | 
            +
                    end
         | 
| 463 | 
            +
                    reqRedirect.body = req.body
         | 
| 464 | 
            +
                    @response = http.request(reqRedirect)
         | 
| 465 | 
            +
                    req = reqRedirect # Needed by auth support below.
         | 
| 466 | 
            +
                    @testbeat.logger.info{ "Redirected #{@response.code}" }
         | 
| 467 | 
            +
                  end
         | 
| 468 | 
            +
             | 
| 441 469 | 
             
                  if @response.code == "401" and @testbeat.user and not @testbeat.unauthenticated?
         | 
| 442 470 | 
             
                    u = @testbeat.user
         | 
| 443 471 | 
             
                    @testbeat.logger.info{ "Authenticating to #{@testbeat.resource} with #{u[:username]}:#{u[:password]}" }
         |