From 9de2837a638a20d199ac475e9ef24165d5764f28 Mon Sep 17 00:00:00 2001 From: theworldbright Date: Tue, 7 Jul 2015 15:22:35 +0900 Subject: [PATCH] Move new API from /api/v2 to /api/v0 --- app/controllers/api/{v2 => v0}/base_controller.rb | 2 +- app/controllers/api/{v2 => v0}/users_controller.rb | 2 +- app/presenters/api/v0/base_presenter.rb | 2 ++ app/presenters/api/v2/base_presenter.rb | 2 -- config/routes.rb | 10 +--------- features/step_definitions/openid_steps.rb | 4 ++-- public/docs/{v2 => v0}/index.html | 4 ++-- public/docs/{v2 => v0}/style.css | 0 spec/controllers/api/v0/base_controller_spec.rb | 5 +++++ .../api/{v2 => v0}/users_controller_spec.rb | 4 ++-- spec/controllers/api/v2/base_controller_spec.rb | 5 ----- spec/presenters/api/v0/base_presenter_spec.rb | 5 +++++ spec/presenters/api/v2/base_presenter_spec.rb | 5 ----- spec/requests/api/v2/base_controller_spec.rb | 2 +- 14 files changed, 22 insertions(+), 30 deletions(-) rename app/controllers/api/{v2 => v0}/base_controller.rb (60%) rename app/controllers/api/{v2 => v0}/users_controller.rb (66%) create mode 100644 app/presenters/api/v0/base_presenter.rb delete mode 100644 app/presenters/api/v2/base_presenter.rb rename public/docs/{v2 => v0}/index.html (79%) rename public/docs/{v2 => v0}/style.css (100%) create mode 100644 spec/controllers/api/v0/base_controller_spec.rb rename spec/controllers/api/{v2 => v0}/users_controller_spec.rb (86%) delete mode 100644 spec/controllers/api/v2/base_controller_spec.rb create mode 100644 spec/presenters/api/v0/base_presenter_spec.rb delete mode 100644 spec/presenters/api/v2/base_presenter_spec.rb diff --git a/app/controllers/api/v2/base_controller.rb b/app/controllers/api/v0/base_controller.rb similarity index 60% rename from app/controllers/api/v2/base_controller.rb rename to app/controllers/api/v0/base_controller.rb index a9d85bcc4..0899a13a8 100644 --- a/app/controllers/api/v2/base_controller.rb +++ b/app/controllers/api/v0/base_controller.rb @@ -1,4 +1,4 @@ -class Api::V2::BaseController < ApplicationController +class Api::V0::BaseController < ApplicationController include OpenidConnect::Authentication before_filter :require_access_token diff --git a/app/controllers/api/v2/users_controller.rb b/app/controllers/api/v0/users_controller.rb similarity index 66% rename from app/controllers/api/v2/users_controller.rb rename to app/controllers/api/v0/users_controller.rb index 7f8ea55b7..e57c7cd23 100644 --- a/app/controllers/api/v2/users_controller.rb +++ b/app/controllers/api/v0/users_controller.rb @@ -1,4 +1,4 @@ -class Api::V2::UsersController < Api::V2::BaseController +class Api::V0::UsersController < Api::V0::BaseController def show render json: user diff --git a/app/presenters/api/v0/base_presenter.rb b/app/presenters/api/v0/base_presenter.rb new file mode 100644 index 000000000..b425b1440 --- /dev/null +++ b/app/presenters/api/v0/base_presenter.rb @@ -0,0 +1,2 @@ +class Api::V0::BasePresenter +end diff --git a/app/presenters/api/v2/base_presenter.rb b/app/presenters/api/v2/base_presenter.rb deleted file mode 100644 index 2afabc56a..000000000 --- a/app/presenters/api/v2/base_presenter.rb +++ /dev/null @@ -1,2 +0,0 @@ -class Api::V2::BasePresenter -end diff --git a/config/routes.rb b/config/routes.rb index 02d62211f..58c7d7445 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -198,15 +198,7 @@ Diaspora::Application.routes.draw do end end - scope 'api/v0', :controller => :apis do - get :me - end - namespace :api do - namespace :v0 do - get "/users/:username" => 'users#show', :as => 'user' - get "/tags/:name" => 'tags#show', :as => 'tag' - end namespace :v1 do resources :tokens, :only => [:create, :destroy] end @@ -249,7 +241,7 @@ Diaspora::Application.routes.draw do post 'access_tokens', to: proc { |env| OpenidConnect::TokenEndpoint.new.call(env) } end - api_version(:module => "Api::V2", path: {value: "api/v2"}, default: true) do + api_version(module: "Api::V0", path: {value: "api/v0"}, default: true) do match 'user', to: 'users#show', via: :get end end diff --git a/features/step_definitions/openid_steps.rb b/features/step_definitions/openid_steps.rb index ef1974da8..47fada788 100644 --- a/features/step_definitions/openid_steps.rb +++ b/features/step_definitions/openid_steps.rb @@ -10,13 +10,13 @@ end When /^I use received valid bearer tokens to access user info via URI query parameter$/ do accessTokenJson = JSON.parse(last_response.body) - userInfoEndPointURL = "/api/v2/user/" + userInfoEndPointURL = "/api/v0/user/" userInfoEndPointURLQuery = "?access_token=" + accessTokenJson["access_token"] visit userInfoEndPointURL + userInfoEndPointURLQuery end When /^I use invalid bearer tokens to access user info via URI query parameter$/ do - userInfoEndPointURL = "/api/v2/user/" + userInfoEndPointURL = "/api/v0/user/" userInfoEndPointURLQuery = "?access_token=" + SecureRandom.hex(32) visit userInfoEndPointURL + userInfoEndPointURLQuery end diff --git a/public/docs/v2/index.html b/public/docs/v0/index.html similarity index 79% rename from public/docs/v2/index.html rename to public/docs/v0/index.html index 518259ab3..08b6b913f 100644 --- a/public/docs/v2/index.html +++ b/public/docs/v0/index.html @@ -1,7 +1,7 @@ - Documentation for v2 + Documentation for v0 @@ -10,7 +10,7 @@

API Operations

-

Documentation for v2

+

Documentation for v0

diff --git a/public/docs/v2/style.css b/public/docs/v0/style.css similarity index 100% rename from public/docs/v2/style.css rename to public/docs/v0/style.css diff --git a/spec/controllers/api/v0/base_controller_spec.rb b/spec/controllers/api/v0/base_controller_spec.rb new file mode 100644 index 000000000..f637d15b8 --- /dev/null +++ b/spec/controllers/api/v0/base_controller_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe Api::V0::BaseController do + +end diff --git a/spec/controllers/api/v2/users_controller_spec.rb b/spec/controllers/api/v0/users_controller_spec.rb similarity index 86% rename from spec/controllers/api/v2/users_controller_spec.rb rename to spec/controllers/api/v0/users_controller_spec.rb index fd2230962..83d7128d2 100644 --- a/spec/controllers/api/v2/users_controller_spec.rb +++ b/spec/controllers/api/v0/users_controller_spec.rb @@ -2,14 +2,14 @@ require 'spec_helper' # TODO: Confirm that the cache-control header in the response is private as according to RFC 6750 # TODO: Check for WWW-Authenticate response header field as according to RFC 6750 -describe Api::V2::UsersController, type: :request do +describe Api::V0::UsersController, type: :request do describe "#show" do let!(:application) { bob.o_auth_applications.create!(client_id: 1, client_secret: "secret") } let!(:token) { application.tokens.create!.bearer_token.to_s } context "when valid" do it "shows the user's info" do - get "/api/v2/user/?access_token=" + token + get "/api/v0/user/?access_token=" + token jsonBody = JSON.parse(response.body) expect(jsonBody["username"]).to eq(bob.username) expect(jsonBody["email"]).to eq(bob.email) diff --git a/spec/controllers/api/v2/base_controller_spec.rb b/spec/controllers/api/v2/base_controller_spec.rb deleted file mode 100644 index 221629acb..000000000 --- a/spec/controllers/api/v2/base_controller_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'spec_helper' - -describe Api::V2::BaseController do - -end diff --git a/spec/presenters/api/v0/base_presenter_spec.rb b/spec/presenters/api/v0/base_presenter_spec.rb new file mode 100644 index 000000000..36d38fbe7 --- /dev/null +++ b/spec/presenters/api/v0/base_presenter_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe Api::V0::BasePresenter do + +end diff --git a/spec/presenters/api/v2/base_presenter_spec.rb b/spec/presenters/api/v2/base_presenter_spec.rb deleted file mode 100644 index f9ab6b5df..000000000 --- a/spec/presenters/api/v2/base_presenter_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'spec_helper' - -describe Api::V2::BasePresenter do - -end diff --git a/spec/requests/api/v2/base_controller_spec.rb b/spec/requests/api/v2/base_controller_spec.rb index 221629acb..f637d15b8 100644 --- a/spec/requests/api/v2/base_controller_spec.rb +++ b/spec/requests/api/v2/base_controller_spec.rb @@ -1,5 +1,5 @@ require 'spec_helper' -describe Api::V2::BaseController do +describe Api::V0::BaseController do end