diff options
Diffstat (limited to 'spec/gitlab_access_spec.rb')
-rw-r--r-- | spec/gitlab_access_spec.rb | 43 |
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 |