Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-11 15:33:31 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-11 15:33:31 +0300
commit3e259ea8bc198b7a5c67bd1e03dc9d44c7dd5854 (patch)
treef726369d15ae21d54272c586a30db4102817af6e /spec/lib
parentc0bf026ed8253e9bf749546e40f968dbc20aaac1 (diff)
Revert "Merge branch 'revert-satellites' into 'master' "
This reverts commit 5daf44b7c86e0e2641a902b1da8b01d91fa3dbfa, reversing changes made to 2f706fbd231cabe7a76a5d17ac44285aaaf8592c.
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/gitlab/reference_extractor_spec.rb8
-rw-r--r--spec/lib/gitlab/satellite/action_spec.rb116
-rw-r--r--spec/lib/gitlab/satellite/merge_action_spec.rb104
3 files changed, 4 insertions, 224 deletions
diff --git a/spec/lib/gitlab/reference_extractor_spec.rb b/spec/lib/gitlab/reference_extractor_spec.rb
index f921dd9cc09..088e34f050c 100644
--- a/spec/lib/gitlab/reference_extractor_spec.rb
+++ b/spec/lib/gitlab/reference_extractor_spec.rb
@@ -25,7 +25,7 @@ describe Gitlab::ReferenceExtractor do
project.team << [@u_bar, :guest]
subject.analyze(%Q{
- Inline code: `@foo`
+ Inline code: `@foo`
Code block:
@@ -33,7 +33,7 @@ describe Gitlab::ReferenceExtractor do
@bar
```
- Quote:
+ Quote:
> @offteam
})
@@ -49,8 +49,8 @@ describe Gitlab::ReferenceExtractor do
end
it 'accesses valid merge requests' do
- @m0 = create(:merge_request, source_project: project, target_project: project, source_branch: 'aaa')
- @m1 = create(:merge_request, source_project: project, target_project: project, source_branch: 'bbb')
+ @m0 = create(:merge_request, source_project: project, target_project: project, source_branch: 'markdown')
+ @m1 = create(:merge_request, source_project: project, target_project: project, source_branch: 'feature_conflict')
subject.analyze("!999, !#{@m1.iid}, and !#{@m0.iid}.")
expect(subject.merge_requests).to eq([@m1, @m0])
diff --git a/spec/lib/gitlab/satellite/action_spec.rb b/spec/lib/gitlab/satellite/action_spec.rb
deleted file mode 100644
index 0a93676edc3..00000000000
--- a/spec/lib/gitlab/satellite/action_spec.rb
+++ /dev/null
@@ -1,116 +0,0 @@
-require 'spec_helper'
-
-describe 'Gitlab::Satellite::Action' do
- let(:project) { create(:project) }
- let(:user) { create(:user) }
-
- describe '#prepare_satellite!' do
- it 'should be able to fetch timeout from conf' do
- expect(Gitlab::Satellite::Action::DEFAULT_OPTIONS[:git_timeout]).to eq(30.seconds)
- end
-
- it 'create a repository with a parking branch and one remote: origin' do
- repo = project.satellite.repo
-
- #now lets dirty it up
-
- starting_remote_count = repo.git.list_remotes.size
- expect(starting_remote_count).to be >= 1
- #kind of hookey way to add a second remote
- origin_uri = repo.git.remote({ v: true }).split(" ")[1]
-
- repo.git.remote({ raise: true }, 'add', 'another-remote', origin_uri)
- repo.git.branch({ raise: true }, 'a-new-branch')
-
- expect(repo.heads.size).to be > (starting_remote_count)
- expect(repo.git.remote().split(" ").size).to be > (starting_remote_count)
-
- repo.git.config({}, "user.name", "#{user.name} -- foo")
- repo.git.config({}, "user.email", "#{user.email} -- foo")
- expect(repo.config['user.name']).to eq("#{user.name} -- foo")
- expect(repo.config['user.email']).to eq("#{user.email} -- foo")
-
-
- #These must happen in the context of the satellite directory...
- satellite_action = Gitlab::Satellite::Action.new(user, project)
- project.satellite.lock do
- #Now clean it up, use send to get around prepare_satellite! being protected
- satellite_action.send(:prepare_satellite!, repo)
- end
-
- #verify it's clean
- heads = repo.heads.map(&:name)
- expect(heads.size).to eq(1)
- expect(heads.include?(Gitlab::Satellite::Satellite::PARKING_BRANCH)).to eq(true)
- remotes = repo.git.remote().split(' ')
- expect(remotes.size).to eq(1)
- expect(remotes.include?('origin')).to eq(true)
- expect(repo.config['user.name']).to eq(user.name)
- expect(repo.config['user.email']).to eq(user.email)
- end
- end
-
- describe '#in_locked_and_timed_satellite' do
-
- it 'should make use of a lockfile' do
- repo = project.satellite.repo
- called = false
-
- #set assumptions
- FileUtils.rm_f(project.satellite.lock_file)
-
- expect(File.exists?(project.satellite.lock_file)).to be_falsey
-
- satellite_action = Gitlab::Satellite::Action.new(user, project)
- satellite_action.send(:in_locked_and_timed_satellite) do |sat_repo|
- expect(repo).to eq(sat_repo)
- expect(File.exists? project.satellite.lock_file).to be_truthy
- called = true
- end
-
- expect(called).to be_truthy
-
- end
-
- it 'should be able to use the satellite after locking' do
- repo = project.satellite.repo
- called = false
-
- # Set base assumptions
- if File.exists? project.satellite.lock_file
- expect(FileLockStatusChecker.new(project.satellite.lock_file).flocked?).to be_falsey
- end
-
- satellite_action = Gitlab::Satellite::Action.new(user, project)
- satellite_action.send(:in_locked_and_timed_satellite) do |sat_repo|
- called = true
- expect(repo).to eq(sat_repo)
- expect(File.exists? project.satellite.lock_file).to be_truthy
- expect(FileLockStatusChecker.new(project.satellite.lock_file).flocked?).to be_truthy
- end
-
- expect(called).to be_truthy
- expect(FileLockStatusChecker.new(project.satellite.lock_file).flocked?).to be_falsey
-
- end
-
- class FileLockStatusChecker < File
- def flocked?(&block)
- status = flock LOCK_EX|LOCK_NB
- case status
- when false
- return true
- when 0
- begin
- block ? block.call : false
- ensure
- flock LOCK_UN
- end
- else
- raise SystemCallError, status
- end
- end
- end
-
- end
-end
diff --git a/spec/lib/gitlab/satellite/merge_action_spec.rb b/spec/lib/gitlab/satellite/merge_action_spec.rb
deleted file mode 100644
index 9b1c9a34e29..00000000000
--- a/spec/lib/gitlab/satellite/merge_action_spec.rb
+++ /dev/null
@@ -1,104 +0,0 @@
-require 'spec_helper'
-
-describe 'Gitlab::Satellite::MergeAction' do
- include RepoHelpers
-
- let(:project) { create(:project, namespace: create(:group)) }
- let(:fork_project) { create(:project, namespace: create(:group), forked_from_project: project) }
- let(:merge_request) { create(:merge_request, source_project: project, target_project: project) }
- let(:merge_request_fork) { create(:merge_request, source_project: fork_project, target_project: project) }
-
- let(:merge_request_with_conflict) { create(:merge_request, :conflict, source_project: project, target_project: project) }
- let(:merge_request_fork_with_conflict) { create(:merge_request, :conflict, source_project: project, target_project: project) }
-
- describe '#commits_between' do
- def verify_commits(commits, first_commit_sha, last_commit_sha)
- commits.each { |commit| expect(commit.class).to eq(Gitlab::Git::Commit) }
- expect(commits.first.id).to eq(first_commit_sha)
- expect(commits.last.id).to eq(last_commit_sha)
- end
-
- context 'on fork' do
- it 'should get proper commits between' do
- commits = Gitlab::Satellite::MergeAction.new(merge_request_fork.author, merge_request_fork).commits_between
- verify_commits(commits, sample_compare.commits.first, sample_compare.commits.last)
- end
- end
-
- context 'between branches' do
- it 'should raise exception -- not expected to be used by non forks' do
- expect { Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).commits_between }.to raise_error(RuntimeError)
- end
- end
- end
-
- describe '#format_patch' do
- def verify_content(patch)
- sample_compare.commits.each do |commit|
- expect(patch.include?(commit)).to be_truthy
- end
- end
-
- context 'on fork' do
- it 'should build a format patch' do
- patch = Gitlab::Satellite::MergeAction.new(merge_request_fork.author, merge_request_fork).format_patch
- verify_content(patch)
- end
- end
-
- context 'between branches' do
- it 'should build a format patch' do
- patch = Gitlab::Satellite::MergeAction.new(merge_request_fork.author, merge_request).format_patch
- verify_content(patch)
- end
- end
- end
-
- describe '#diffs_between_satellite tested against diff_in_satellite' do
- def is_a_matching_diff(diff, diffs)
- diff_count = diff.scan('diff --git').size
- expect(diff_count).to be >= 1
- expect(diffs.size).to eq(diff_count)
- diffs.each do |a_diff|
- expect(a_diff.class).to eq(Gitlab::Git::Diff)
- expect(diff.include? a_diff.diff).to be_truthy
- end
- end
-
- context 'on fork' do
- it 'should get proper diffs' do
- diffs = Gitlab::Satellite::MergeAction.new(merge_request_fork.author, merge_request_fork).diffs_between_satellite
- diff = Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request_fork).diff_in_satellite
- is_a_matching_diff(diff, diffs)
- end
- end
-
- context 'between branches' do
- it 'should get proper diffs' do
- expect{ Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).diffs_between_satellite }.to raise_error(RuntimeError)
- end
- end
- end
-
- describe '#can_be_merged?' do
- context 'on fork' do
- it do
- expect(Gitlab::Satellite::MergeAction.new(merge_request_fork.author, merge_request_fork).can_be_merged?).to be_truthy
- end
-
- it do
- expect(Gitlab::Satellite::MergeAction.new(merge_request_fork_with_conflict.author, merge_request_fork_with_conflict).can_be_merged?).to be_falsey
- end
- end
-
- context 'between branches' do
- it do
- expect(Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).can_be_merged?).to be_truthy
- end
-
- it do
- expect(Gitlab::Satellite::MergeAction.new(merge_request_with_conflict.author, merge_request_with_conflict).can_be_merged?).to be_falsey
- end
- end
- end
-end