rest_shifter 0.0.15 → 0.0.16
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/CHANGES +4 -0
- data/lib/rest_shifter/commands/create.rb +2 -1
- data/lib/rest_shifter/commands/main.rb +4 -6
- data/lib/rest_shifter/shifter.rb +2 -0
- data/lib/rest_shifter/version.rb +1 -1
- data/spec/flavors/location_get.flavor +9 -0
- data/spec/flavors/location_post.flavor +9 -0
- data/spec/flavors/notfound_get.flavor +1 -0
- data/spec/flavors/notfound_get_accept.flavor +1 -0
- data/spec/flavors/notfound_post.flavor +1 -0
- data/spec/flavors/notfound_post_accept.flavor +1 -0
- data/spec/flavors/sleep_get.flavor +1 -0
- data/spec/flavors/sleep_post.flavor +1 -0
- data/spec/flavors/success_delete.flavor +1 -0
- data/spec/flavors/success_get.flavor +1 -0
- data/spec/flavors/success_post.flavor +1 -0
- data/spec/flavors/success_put.flavor +1 -0
- data/spec/service_spec.rb +32 -14
- metadata +5 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7ce74ac48d14e2bccaa1aaa7ca8f0538f44158db
         | 
| 4 | 
            +
              data.tar.gz: f6d0a5b1de3931a0c3e4ea028e25fe18c2722cb2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 872091083cb523758a40f6795466519fad06b40c5c92b02ecc5fb872bc1f63c56b5ee2d3608a8a76dae2a97995fbb2250527f8ae12a308dd0e2ff52cec60e087
         | 
| 7 | 
            +
              data.tar.gz: 2eb1d413adc9656b68718644ccf6bfa126b5e7dce5bb8bd43831a1eaa15b11895de29ab11cb59abe99d5210620aa259385b5dd2b6ec9910dd8f1f013bf0c2a75
         | 
    
        data/CHANGES
    CHANGED
    
    
| @@ -14,7 +14,8 @@ request_content_type        = "" | |
| 14 14 | 
             
            response_sleep              = 0
         | 
| 15 15 | 
             
            response_status             = "200"
         | 
| 16 16 | 
             
            response_body               = "{ \"hello_world\" : \"Your service is working fine. :D\" }"
         | 
| 17 | 
            -
            response_content_type       = "application/json" | 
| 17 | 
            +
            response_content_type       = "application/json"
         | 
| 18 | 
            +
            response_location           = ""') }
         | 
| 18 19 | 
             
                end
         | 
| 19 20 | 
             
              end
         | 
| 20 21 | 
             
            end
         | 
| @@ -7,12 +7,10 @@ class RestShifter::Commands::Main | |
| 7 7 |  | 
| 8 8 | 
             
                  case cmd
         | 
| 9 9 | 
             
                  when "-s", "--start", "start"
         | 
| 10 | 
            -
                     | 
| 11 | 
            -
                     | 
| 12 | 
            -
             | 
| 13 | 
            -
                     | 
| 14 | 
            -
                      RestShifter::Commands::Start.run "8080"
         | 
| 15 | 
            -
                    end
         | 
| 10 | 
            +
                    port = args.shift 
         | 
| 11 | 
            +
                    port = "8080" unless !port.to_s.empty?
         | 
| 12 | 
            +
                    RestShifter::Commands::Start.run port
         | 
| 13 | 
            +
                    exit 0
         | 
| 16 14 | 
             
                  when "-S", "--start-secure", "start-secure"
         | 
| 17 15 | 
             
                    RestShifter::Commands::Start.run_secure
         | 
| 18 16 | 
             
                    exit 0
         | 
    
        data/lib/rest_shifter/shifter.rb
    CHANGED
    
    | @@ -38,6 +38,7 @@ class Shifter < Sinatra::Base | |
| 38 38 | 
             
                operation.each do |service|
         | 
| 39 39 | 
             
                  if service.request_accept.to_s == ''
         | 
| 40 40 | 
             
                    send(service.method_used.to_sym, service.path) do
         | 
| 41 | 
            +
                      response['Location'] = service.response_location unless service.response_location.to_s.empty?
         | 
| 41 42 | 
             
                      sleep service.response_sleep
         | 
| 42 43 | 
             
                      status service.response_status
         | 
| 43 44 | 
             
                      content_type service.response_content_type
         | 
| @@ -45,6 +46,7 @@ class Shifter < Sinatra::Base | |
| 45 46 | 
             
                    end
         | 
| 46 47 | 
             
                  else 
         | 
| 47 48 | 
             
                    send(service.method_used.to_sym, service.path, :provides => service.request_accept.to_s == '' ? "" : service.request_accept) do
         | 
| 49 | 
            +
                      response['Location'] = service.response_location unless service.response_location.to_s.empty?
         | 
| 48 50 | 
             
                      sleep service.response_sleep
         | 
| 49 51 | 
             
                      status service.response_status
         | 
| 50 52 | 
             
                      content_type service.response_content_type
         | 
    
        data/lib/rest_shifter/version.rb
    CHANGED
    
    
| @@ -0,0 +1,9 @@ | |
| 1 | 
            +
            method_used                 = "post"
         | 
| 2 | 
            +
            path                        = "/location"
         | 
| 3 | 
            +
            request_accept              = ""
         | 
| 4 | 
            +
            request_content_type        = ""
         | 
| 5 | 
            +
            response_sleep              =  0
         | 
| 6 | 
            +
            response_status             = "200"
         | 
| 7 | 
            +
            response_body               = "success"
         | 
| 8 | 
            +
            response_content_type       = "application/json"
         | 
| 9 | 
            +
            response_location           = "http://www.camiloribeiro.com"
         | 
    
        data/spec/service_spec.rb
    CHANGED
    
    | @@ -91,21 +91,39 @@ describe RestShifter do | |
| 91 91 | 
             
                  end
         | 
| 92 92 | 
             
                end
         | 
| 93 93 | 
             
                describe "Special behaviours" do
         | 
| 94 | 
            -
                   | 
| 95 | 
            -
                     | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 98 | 
            -
             | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 94 | 
            +
                  describe "Slowliness for timeouts" do
         | 
| 95 | 
            +
                    it "GET: Service should sleep for a second" do
         | 
| 96 | 
            +
                      time = Time.now
         | 
| 97 | 
            +
                      get '/sleep'
         | 
| 98 | 
            +
                      expect(Time.now - time).to be > 1
         | 
| 99 | 
            +
                      expect(last_response.status).to eq(200)
         | 
| 100 | 
            +
                      expect(last_response.body).to eq("This should sleep for one second")
         | 
| 101 | 
            +
                      expect(last_response.headers['Content-Type']).to eq("application/json")
         | 
| 102 | 
            +
                    end
         | 
| 103 | 
            +
                    it "POST: Service should sleep for a second" do
         | 
| 104 | 
            +
                      time = Time.now
         | 
| 105 | 
            +
                      post '/sleep'
         | 
| 106 | 
            +
                      expect(Time.now - time).to be > 1
         | 
| 107 | 
            +
                      expect(last_response.status).to eq(200)
         | 
| 108 | 
            +
                      expect(last_response.body).to eq("This should sleep for one second")
         | 
| 109 | 
            +
                      expect(last_response.headers['Content-Type']).to eq("application/json")
         | 
| 110 | 
            +
                    end
         | 
| 101 111 | 
             
                  end
         | 
| 102 | 
            -
                   | 
| 103 | 
            -
                     | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 112 | 
            +
                  describe "Return location header" do
         | 
| 113 | 
            +
                    it "POST: Service should return location when specified" do
         | 
| 114 | 
            +
                      time = Time.now
         | 
| 115 | 
            +
                      post '/location'
         | 
| 116 | 
            +
                      expect(last_response.status).to eq(200)
         | 
| 117 | 
            +
                      expect(last_response.location).to eq("http://www.camiloribeiro.com")
         | 
| 118 | 
            +
                      expect(last_response.headers['Content-Type']).to eq("application/json")
         | 
| 119 | 
            +
                    end
         | 
| 120 | 
            +
                    it "GET: Service should return location when specified" do
         | 
| 121 | 
            +
                      time = Time.now
         | 
| 122 | 
            +
                      get '/location'
         | 
| 123 | 
            +
                      expect(last_response.status).to eq(200)
         | 
| 124 | 
            +
                      expect(last_response.location).to eq("http://www.camiloribeiro.com")
         | 
| 125 | 
            +
                      expect(last_response.headers['Content-Type']).to eq("application/json")
         | 
| 126 | 
            +
                    end
         | 
| 109 127 | 
             
                  end
         | 
| 110 128 | 
             
                end
         | 
| 111 129 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rest_shifter
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.16
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Camilo Ribeiro
         | 
| @@ -193,6 +193,8 @@ files: | |
| 193 193 | 
             
            - lib/rest_shifter/ssl_helper.rb
         | 
| 194 194 | 
             
            - lib/rest_shifter/version.rb
         | 
| 195 195 | 
             
            - rest_shifter.gemspec
         | 
| 196 | 
            +
            - spec/flavors/location_get.flavor
         | 
| 197 | 
            +
            - spec/flavors/location_post.flavor
         | 
| 196 198 | 
             
            - spec/flavors/notfound_get.flavor
         | 
| 197 199 | 
             
            - spec/flavors/notfound_get_accept.flavor
         | 
| 198 200 | 
             
            - spec/flavors/notfound_post.flavor
         | 
| @@ -230,6 +232,8 @@ signing_key: | |
| 230 232 | 
             
            specification_version: 4
         | 
| 231 233 | 
             
            summary: Simple Rest Mock service
         | 
| 232 234 | 
             
            test_files:
         | 
| 235 | 
            +
            - spec/flavors/location_get.flavor
         | 
| 236 | 
            +
            - spec/flavors/location_post.flavor
         | 
| 233 237 | 
             
            - spec/flavors/notfound_get.flavor
         | 
| 234 238 | 
             
            - spec/flavors/notfound_get_accept.flavor
         | 
| 235 239 | 
             
            - spec/flavors/notfound_post.flavor
         |