Merge branch 'master' into fixes/api

This commit is contained in:
Sebastian Ziebell 2013-02-27 10:16:48 +01:00
commit ac4a09e9cc
94 changed files with 935 additions and 731 deletions

View file

@ -0,0 +1,103 @@
require 'spec_helper'
describe Gitlab::API do
include ApiHelpers
let(:user) { create(:user) }
let(:key) { create(:key, user: user) }
let(:project) { create(:project) }
describe "GET /internal/check", no_db: true do
it do
get api("/internal/check")
response.status.should == 200
json_response['api_version'].should == Gitlab::API.version
end
end
describe "GET /internal/discover" do
it do
get(api("/internal/discover"), key_id: key.id)
response.status.should == 200
json_response['email'].should == user.email
end
end
describe "GET /internal/allowed" do
context "access granted" do
before do
project.team << [user, :developer]
end
context "git pull" do
it do
get(
api("/internal/allowed"),
ref: 'master',
key_id: key.id,
project: project.path_with_namespace,
action: 'git-upload-pack'
)
response.status.should == 200
response.body.should == 'true'
end
end
context "git push" do
it do
get(
api("/internal/allowed"),
ref: 'master',
key_id: key.id,
project: project.path_with_namespace,
action: 'git-receive-pack'
)
response.status.should == 200
response.body.should == 'true'
end
end
end
context "access denied" do
before do
project.team << [user, :guest]
end
context "git pull" do
it do
get(
api("/internal/allowed"),
ref: 'master',
key_id: key.id,
project: project.path_with_namespace,
action: 'git-upload-pack'
)
response.status.should == 200
response.body.should == 'false'
end
end
context "git push" do
it do
get(
api("/internal/allowed"),
ref: 'master',
key_id: key.id,
project: project.path_with_namespace,
action: 'git-receive-pack'
)
response.status.should == 200
response.body.should == 'false'
end
end
end
end
end

View file

@ -97,32 +97,27 @@ describe Gitlab::API do
end
describe "GET /users/sign_up" do
before do
Gitlab.config.gitlab.stub(:signup_enabled).and_return(false)
end
it "should redirect to sign in page if signup is disabled" do
get "/users/sign_up"
response.status.should == 302
response.should redirect_to(new_user_session_path)
end
end
context 'enabled' do
before do
Gitlab.config.gitlab.stub(:signup_enabled).and_return(true)
end
describe "GET /users/sign_up" do
before do
Gitlab.config.gitlab.stub(:signup_enabled).and_return(true)
it "should return sign up page if signup is enabled" do
get "/users/sign_up"
response.status.should == 200
end
end
it "should return sign up page if signup is enabled" do
get "/users/sign_up"
response.status.should == 200
end
it "should create a new user account" do
visit new_user_registration_path
fill_in "user_name", with: "Name Surname"
fill_in "user_username", with: "Great"
fill_in "user_email", with: "name@mail.com"
fill_in "user_password", with: "password1234"
fill_in "user_password_confirmation", with: "password1234"
expect { click_button "Sign up" }.to change {User.count}.by(1)
context 'disabled' do
before do
Gitlab.config.gitlab.stub(:signup_enabled).and_return(false)
end
it "should redirect to sign in page if signup is disabled" do
get "/users/sign_up"
response.status.should == 302
response.should redirect_to(new_user_session_path)
end
end
end