summaryrefslogtreecommitdiff
path: root/spec/gitlab_access_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/gitlab_access_spec.rb')
-rw-r--r--spec/gitlab_access_spec.rb43
1 files changed, 28 insertions, 15 deletions
diff --git a/spec/gitlab_access_spec.rb b/spec/gitlab_access_spec.rb
index 73ebf2e..f9717a7 100644
--- a/spec/gitlab_access_spec.rb
+++ b/spec/gitlab_access_spec.rb
@@ -7,27 +7,31 @@ describe GitlabAccess do
let(:repo_path) { File.join(repository_path, repo_name) + ".git" }
let(:api) do
double(GitlabNet).tap do |api|
- allow(api).to receive(:check_access).and_return(
- Action::Gitaly.new(
- 'key-1',
- 'project-1',
- 'testuser',
- 'version=2',
- '/home/git/repositories',
- nil
- )
- )
+ api.stub(check_access: GitAccessStatus.new(true,
+ 'ok',
+ gl_repository: 'project-1',
+ gl_id: 'user-123',
+ gl_username: 'testuser',
+ repository_path: '/home/git/repositories',
+ gitaly: nil,
+ git_protocol: 'version=2'))
end
end
subject do
GitlabAccess.new(nil, repo_path, 'key-123', 'wow', 'ssh').tap do |access|
- allow(access).to receive(:exec_cmd).and_return(:exec_called)
- allow(access).to receive(:api).and_return(api)
+ access.stub(exec_cmd: :exec_called)
+ access.stub(api: api)
end
end
before do
- allow_any_instance_of(GitlabConfig).to receive(:repos_path).and_return(repository_path)
+ GitlabConfig.any_instance.stub(repos_path: repository_path)
+ end
+
+ describe :initialize do
+ it { subject.repo_path.should == repo_path }
+ it { subject.changes.should == ['wow'] }
+ it { subject.protocol.should == 'ssh' }
end
describe "#exec" do
@@ -39,7 +43,16 @@ describe GitlabAccess do
context "access is denied" do
before do
- allow(api).to receive(:check_access).and_raise(AccessDeniedError)
+ api.stub(check_access: GitAccessStatus.new(
+ false,
+ 'denied',
+ gl_repository: nil,
+ gl_id: nil,
+ gl_username: nil,
+ repository_path: nil,
+ gitaly: nil,
+ git_protocol: nil
+ ))
end
it "returns false" do
@@ -49,7 +62,7 @@ describe GitlabAccess do
context "API connection fails" do
before do
- allow(api).to receive(:check_access).and_raise(GitlabNet::ApiUnreachableError)
+ api.stub(:check_access).and_raise(GitlabNet::ApiUnreachableError)
end
it "returns false" do