Move new API from /api/v2 to /api/v0

This commit is contained in:
theworldbright 2015-07-07 15:22:35 +09:00 committed by theworldbright
parent beae77102d
commit 9de2837a63
14 changed files with 22 additions and 30 deletions

View file

@ -1,4 +1,4 @@
class Api::V2::BaseController < ApplicationController
class Api::V0::BaseController < ApplicationController
include OpenidConnect::Authentication
before_filter :require_access_token

View file

@ -1,4 +1,4 @@
class Api::V2::UsersController < Api::V2::BaseController
class Api::V0::UsersController < Api::V0::BaseController
def show
render json: user

View file

@ -0,0 +1,2 @@
class Api::V0::BasePresenter
end

View file

@ -1,2 +0,0 @@
class Api::V2::BasePresenter
end

View file

@ -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

View file

@ -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

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Documentation for v2</title>
<title>Documentation for v0</title>
<link href="v2/style.css" media="screen" rel="stylesheet" type="text/css">
</head>
<body>
@ -10,7 +10,7 @@
<h3>API Operations</h3>
</div>
<div id="content">
<h1>Documentation for v2</h1>
<h1>Documentation for v0</h1>
</div>
</div>
</body>

View file

@ -0,0 +1,5 @@
require 'spec_helper'
describe Api::V0::BaseController do
end

View file

@ -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)

View file

@ -1,5 +0,0 @@
require 'spec_helper'
describe Api::V2::BaseController do
end

View file

@ -0,0 +1,5 @@
require 'spec_helper'
describe Api::V0::BasePresenter do
end

View file

@ -1,5 +0,0 @@
require 'spec_helper'
describe Api::V2::BasePresenter do
end

View file

@ -1,5 +1,5 @@
require 'spec_helper'
describe Api::V2::BaseController do
describe Api::V0::BaseController do
end