Commit 2be3a012 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'master' of github.com:gitlabhq/gitlabhq

parents d899bc91 d9f84f68
......@@ -336,9 +336,9 @@ ActiveRecord::Schema.define(version: 20150211174341) do
t.string "import_status"
t.float "repository_size", default: 0.0
t.integer "star_count", default: 0, null: false
t.string "avatar"
t.string "import_type"
t.string "import_source"
t.string "avatar"
end
add_index "projects", ["created_at", "id"], name: "index_projects_on_created_at_and_id", using: :btree
......
# From 2.6 to 3.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/2.6-to-3.0.md) for the most up to date instructions.*
## 1. Stop server & resque
......
# From 2.9 to 3.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/2.9-to-3.0.md) for the most up to date instructions.*
## 1. Stop server & resque
......
# From 3.0 to 3.1
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/3.0-to-3.1.md) for the most up to date instructions.*
**IMPORTANT!**
......
# From 3.1 to 4.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/3.1-to-4.0.md) for the most up to date instructions.*
## Important changes
......
# From 4.0 to 4.1
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/4.0-to-4.1.md) for the most up to date instructions.*
## Important changes
......
# From 4.1 to 4.2
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/4.1-to-4.2.md) for the most up to date instructions.*
## 1. Stop server & Resque
......
# From 4.2 to 5.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/4.2-to-5.0.md) for the most up to date instructions.*
## Warning
......
# From 5.0 to 5.1
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.0-to-5.1.md) for the most up to date instructions.*
## Warning
......
# From 5.1 to 5.2
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.1-to-5.2.md) for the most up to date instructions.*
## Warning
......
# From 5.1 to 5.4
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.1-to-5.4.md) for the most up to date instructions.*
Also works starting from 5.2.
......
# From 5.1 to 6.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.1-to-6.0.md) for the most up to date instructions.*
## Warning
......
# From 5.2 to 5.3
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.2-to-5.3.md) for the most up to date instructions.*
## Warning
......
# From 5.3 to 5.4
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.3-to-5.4.md) for the most up to date instructions.*
## 0. Backup
......
# From 5.4 to 6.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/5.4-to-6.0.md) for the most up to date instructions.*
## Warning
......
# From 6.0 to 6.1
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.0-to-6.1.md) for the most up to date instructions.*
## Warning
......
# From 6.1 to 6.2
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.1-to-6.2.md) for the most up to date instructions.*
**You should update to 6.1 before installing 6.2 so all the necessary conversions are run.**
......
# From 6.2 to 6.3
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.2-to-6.3.md) for the most up to date instructions.*
**Requires version: 6.1 or 6.2.**
......
# From 6.3 to 6.4
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.3-to-6.4.md) for the most up to date instructions.*
## 0. Backup
......
# From 6.4 to 6.5
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.4-to-6.5.md) for the most up to date instructions.*
## 0. Backup
......
# From 6.5 to 6.6
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.5-to-6.6.md) for the most up to date instructions.*
## 0. Backup
......
# From 6.6 to 6.7
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.6-to-6.7.md) for the most up to date instructions.*
## 0. Backup
......
# From 6.7 to 6.8
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.7-to-6.8.md) for the most up to date instructions.*
## 0. Backup
......
# From 6.8 to 6.9
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.8-to-6.9.md) for the most up to date instructions.*
### 0. Backup
......
# From 6.9 to 7.0
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.9-to-7.0.md) for the most up to date instructions.*
### 0. Backup
......
# From 6.x or 7.x to 7.7
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.x-or-7.x-to-7.4.md) for the most up to date instructions.*
This allows you to upgrade any version of GitLab from 6.0 and up (including 7.0 and up) to 7.7.
......@@ -199,7 +200,7 @@ If all items are green, then congratulations upgrade complete!
When using Google omniauth login, changes of the Google account required.
Ensure that `Contacts API` and the `Google+ API` are enabled in the [Google Developers Console](https://console.developers.google.com/).
More details can be found at the [integration documentation](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/integration/google.md).
More details can be found at the [integration documentation](../../../master/doc/integration/google.md).
## 12. Optional optimizations for GitLab setups with MySQL databases
......
# From 7.0 to 7.1
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/7.0-to-7.1.md) for the most up to date instructions.*
### 0. Backup
......
# From 7.1 to 7.2
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/7.1-to-7.2.md) for the most up to date instructions.*
## Editable labels
......
# From 7.2 to 7.3
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/7.2-to-7.3.md) for the most up to date instructions.*
### 0. Backup
......
# From 7.3 to 7.4
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/7.3-to-7.4.md) for the most up to date instructions.*
### 0. Stop server
......
# Migrating GitLab from MySQL to Postgres
*Make sure you view this [guide from the `master` branch](../../../master/doc/update/mysql_to_postgresql.md) for the most up to date instructions.*
If you are replacing MySQL with Postgres while keeping GitLab on the same server all you need to do is to export from MySQL, import into Postgres and rebuild the indexes as described below. If you are also moving GitLab to another server, or if you are switching to omnibus-gitlab, you may want to use a GitLab backup file. The second part of this documents explains the procedure to do this.
......
# Universal update guide for patch versions
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/patch_versions.md) for the most up to date instructions.*
For example from 6.2.0 to 6.2.1, also see the [semantic versioning specification](http://semver.org/).
......
# GitLab Upgrader
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/upgrader.md) for the most up to date instructions.*
GitLab Upgrader - a ruby script that allows you easily upgrade GitLab to latest minor version.
......
......@@ -119,57 +119,33 @@ describe API::API, api: true do
describe 'POST /projects' do
context 'maximum number of projects reached' do
before do
(1..user2.projects_limit).each do |project|
post api('/projects', user2), name: "foo#{project}"
end
end
it 'should not create new project' do
it 'should not create new project and respond with 403' do
User.any_instance.stub(:projects_limit_left).and_return(0)
expect {
post api('/projects', user2), name: 'foo'
}.to change {Project.count}.by(0)
response.status.should == 403
end
end
it 'should create new project without path' do
expect { post api('/projects', user), name: 'foo' }.to change {Project.count}.by(1)
end
it 'should not create new project without name' do
expect { post api('/projects', user) }.to_not change {Project.count}
end
it 'should return a 400 error if name not given' do
post api('/projects', user)
response.status.should == 400
it 'should create new project without path and return 201' do
expect { post api('/projects', user), name: 'foo' }.
to change { Project.count }.by(1)
response.status.should == 201
end
it 'should create last project before reaching project limit' do
(1..user2.projects_limit-1).each { |p| post api('/projects', user2), name: "foo#{p}" }
User.any_instance.stub(:projects_limit_left).and_return(1)
post api('/projects', user2), name: 'foo'
response.status.should == 201
end
it 'should respond with 201 on success' do
post api('/projects', user), name: 'foo'
response.status.should == 201
end
it 'should respond with 400 if name is not given' do
post api('/projects', user)
it 'should not create new project without name and return 400' do
expect { post api('/projects', user) }.to_not change { Project.count }
response.status.should == 400
end
it 'should return a 403 error if project limit reached' do
(1..user.projects_limit).each do |p|
post api('/projects', user), name: "foo#{p}"
end
post api('/projects', user), name: 'bar'
response.status.should == 403
end
it 'should assign attributes to project' do
it "should assign attributes to project" do
project = attributes_for(:project, {
path: 'camelCasePath',
description: Faker::Lorem.sentence,
......@@ -232,21 +208,15 @@ describe API::API, api: true do
before { project }
before { admin }
it 'should create new project without path' do
it 'should create new project without path and return 201' do
expect { post api("/projects/user/#{user.id}", admin), name: 'foo' }.to change {Project.count}.by(1)
end
it 'should not create new project without name' do
expect { post api("/projects/user/#{user.id}", admin) }.to_not change {Project.count}
end
it 'should respond with 201 on success' do
post api("/projects/user/#{user.id}", admin), name: 'foo'
response.status.should == 201
end
it 'should respond with 400 on failure' do
post api("/projects/user/#{user.id}", admin)
it 'should respond with 400 on failure and not project' do
expect { post api("/projects/user/#{user.id}", admin) }.
to_not change { Project.count }
response.status.should == 400
json_response['message']['name'].should == [
'can\'t be blank',
......@@ -350,26 +320,28 @@ describe API::API, api: true do
describe 'permissions' do
context 'personal project' do
before do
it 'Sets project access and returns 200' do
project.team << [user, :master]
get api("/projects/#{project.id}", user)
end
it { response.status.should == 200 }
it { json_response['permissions']['project_access']['access_level'].should == Gitlab::Access::MASTER }
it { json_response['permissions']['group_access'].should be_nil }
expect(response.status).to eq(200)
expect(json_response['permissions']['project_access']['access_level']).
to eq(Gitlab::Access::MASTER)
expect(json_response['permissions']['group_access']).to be_nil
end
end
context 'group project' do
before do
it 'should set the owner and return 200' do
project2 = create(:project, group: create(:group))
project2.group.add_owner(user)
get api("/projects/#{project2.id}", user)
end
it { response.status.should == 200 }
it { json_response['permissions']['project_access'].should be_nil }
it { json_response['permissions']['group_access']['access_level'].should == Gitlab::Access::OWNER }
expect(response.status).to eq(200)
expect(json_response['permissions']['project_access']).to be_nil
expect(json_response['permissions']['group_access']['access_level']).
to eq(Gitlab::Access::OWNER)
end
end
end
end
......@@ -432,22 +404,9 @@ describe API::API, api: true do
json_response['title'].should == 'api test'
end
it 'should return a 400 error if title is not given' do
post api("/projects/#{project.id}/snippets", user),
file_name: 'sample.rb', code: 'test'
response.status.should == 400
end
it 'should return a 400 error if file_name not given' do
post api("/projects/#{project.id}/snippets", user),
title: 'api test', code: 'test'
response.status.should == 400
end
it 'should return a 400 error if code not given' do
post api("/projects/#{project.id}/snippets", user),
title: 'api test', file_name: 'sample.rb'
response.status.should == 400
it 'should return a 400 error if invalid snippet is given' do
post api("/projects/#{project.id}/snippets", user)
expect(status).to eq(400)
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment