diff options
author | Patrick Bajao <ebajao@gitlab.com> | 2019-08-29 07:21:59 +0300 |
---|---|---|
committer | Patrick Bajao <ebajao@gitlab.com> | 2019-08-29 11:33:04 +0300 |
commit | b047359de5b365022d63b8da10a3a87f3ad92397 (patch) | |
tree | 0428f8da4886618c94e25671299e7f7319b35738 /spec/lib | |
parent | 0e33f16b5f93382214f806737d3fcf5e065c5447 (diff) |
Refactor specs to use one-liner expectation
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/gitlab/authorized_keys_spec.rb | 81 | ||||
-rw-r--r-- | spec/lib/system_check/app/authorized_keys_permission_check_spec.rb | 27 |
2 files changed, 54 insertions, 54 deletions
diff --git a/spec/lib/gitlab/authorized_keys_spec.rb b/spec/lib/gitlab/authorized_keys_spec.rb index 85d1cc3aaa3..0aeccc256ca 100644 --- a/spec/lib/gitlab/authorized_keys_spec.rb +++ b/spec/lib/gitlab/authorized_keys_spec.rb @@ -5,9 +5,11 @@ require 'spec_helper' describe Gitlab::AuthorizedKeys do let(:logger) { double('logger').as_null_object } - subject { described_class.new(logger) } + subject(:authorized_keys) { described_class.new(logger) } describe '#accessible?' do + subject { authorized_keys.accessible? } + context 'authorized_keys file exists' do before do create_authorized_keys_fixture @@ -18,9 +20,7 @@ describe Gitlab::AuthorizedKeys do end context 'can open file' do - it 'returns true' do - expect(subject.accessible?).to eq(true) - end + it { is_expected.to be_truthy } end context 'cannot open file' do @@ -28,21 +28,23 @@ describe Gitlab::AuthorizedKeys do allow(File).to receive(:open).and_raise(Errno::EACCES) end - it 'returns false' do - expect(subject.accessible?).to eq(false) - end + it { is_expected.to be_falsey } end end context 'authorized_keys file does not exist' do - it 'returns false' do - expect(subject.accessible?).to eq(false) - end + it { is_expected.to be_falsey } end end describe '#add_key' do + let(:id) { 'key-741' } + + subject { authorized_keys.add_key(id, key) } + context 'authorized_keys file exists' do + let(:key) { 'ssh-rsa AAAAB3NzaDAxx2E trailing garbage' } + before do create_authorized_keys_fixture end @@ -55,19 +57,20 @@ describe Gitlab::AuthorizedKeys do auth_line = "command=\"#{Gitlab.config.gitlab_shell.path}/bin/gitlab-shell key-741\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaDAxx2E" expect(logger).to receive(:info).with('Adding key (key-741): ssh-rsa AAAAB3NzaDAxx2E') - expect(subject.add_key('key-741', 'ssh-rsa AAAAB3NzaDAxx2E trailing garbage')) - .to be_truthy + expect(subject).to be_truthy expect(File.read(tmp_authorized_keys_path)).to eq("existing content\n#{auth_line}\n") end end context 'authorized_keys file does not exist' do + let(:key) { 'ssh-rsa AAAAB3NzaDAxx2E' } + before do delete_authorized_keys_file end it 'creates the file' do - expect(subject.add_key('key-741', 'ssh-rsa AAAAB3NzaDAxx2E')).to be_truthy + expect(subject).to be_truthy expect(File.exist?(tmp_authorized_keys_path)).to be_truthy end end @@ -81,6 +84,8 @@ describe Gitlab::AuthorizedKeys do ] end + subject { authorized_keys.batch_add_keys(keys) } + context 'authorized_keys file exists' do before do create_authorized_keys_fixture @@ -96,7 +101,7 @@ describe Gitlab::AuthorizedKeys do expect(logger).to receive(:info).with('Adding key (key-12): ssh-dsa ASDFASGADG') expect(logger).to receive(:info).with('Adding key (key-123): ssh-rsa GFDGDFSGSDFG') - expect(subject.batch_add_keys(keys)).to be_truthy + expect(subject).to be_truthy expect(File.read(tmp_authorized_keys_path)).to eq("existing content\n#{auth_line1}\n#{auth_line2}\n") end @@ -104,7 +109,7 @@ describe Gitlab::AuthorizedKeys do let(:keys) { [double(shell_id: 'key-123', key: "ssh-rsa A\tSDFA\nSGADG")] } it "doesn't add keys" do - expect(subject.batch_add_keys(keys)).to be_falsey + expect(subject).to be_falsey expect(File.read(tmp_authorized_keys_path)).to eq("existing content\n") end end @@ -116,16 +121,28 @@ describe Gitlab::AuthorizedKeys do end it 'creates the file' do - expect(subject.batch_add_keys(keys)).to be_truthy + expect(subject).to be_truthy expect(File.exist?(tmp_authorized_keys_path)).to be_truthy end end end describe '#rm_key' do + let(:key) { 'key-741' } + + subject { authorized_keys.rm_key(key) } + context 'authorized_keys file exists' do + let(:other_line) { "command=\"#{Gitlab.config.gitlab_shell.path}/bin/gitlab-shell key-742\",options ssh-rsa AAAAB3NzaDAxx2E" } + let(:delete_line) { "command=\"#{Gitlab.config.gitlab_shell.path}/bin/gitlab-shell key-741\",options ssh-rsa AAAAB3NzaDAxx2E" } + before do create_authorized_keys_fixture + + File.open(tmp_authorized_keys_path, 'a') do |auth_file| + auth_file.puts delete_line + auth_file.puts other_line + end end after do @@ -133,16 +150,10 @@ describe Gitlab::AuthorizedKeys do end it "removes the right line" do - other_line = "command=\"#{Gitlab.config.gitlab_shell.path}/bin/gitlab-shell key-742\",options ssh-rsa AAAAB3NzaDAxx2E" - delete_line = "command=\"#{Gitlab.config.gitlab_shell.path}/bin/gitlab-shell key-741\",options ssh-rsa AAAAB3NzaDAxx2E" erased_line = delete_line.gsub(/./, '#') - File.open(tmp_authorized_keys_path, 'a') do |auth_file| - auth_file.puts delete_line - auth_file.puts other_line - end expect(logger).to receive(:info).with('Removing key (key-741)') - expect(subject.rm_key('key-741')).to be_truthy + expect(subject).to be_truthy expect(File.read(tmp_authorized_keys_path)).to eq("existing content\n#{erased_line}\n#{other_line}\n") end end @@ -152,13 +163,13 @@ describe Gitlab::AuthorizedKeys do delete_authorized_keys_file end - it 'returns false' do - expect(subject.rm_key('key-741')).to be_falsey - end + it { is_expected.to be_falsey } end end describe '#clear' do + subject { authorized_keys.clear } + context 'authorized_keys file exists' do before do create_authorized_keys_fixture @@ -168,9 +179,7 @@ describe Gitlab::AuthorizedKeys do delete_authorized_keys_file end - it "returns true" do - expect(subject.clear).to be_truthy - end + it { is_expected.to be_truthy } end context 'authorized_keys file does not exist' do @@ -178,13 +187,13 @@ describe Gitlab::AuthorizedKeys do delete_authorized_keys_file end - it "still returns true" do - expect(subject.clear).to be_truthy - end + it { is_expected.to be_truthy } end end describe '#list_key_ids' do + subject { authorized_keys.list_key_ids } + context 'authorized_keys file exists' do before do create_authorized_keys_fixture( @@ -197,9 +206,7 @@ describe Gitlab::AuthorizedKeys do delete_authorized_keys_file end - it 'returns array of key IDs' do - expect(subject.list_key_ids).to eq([1, 2, 3, 9000]) - end + it { is_expected.to eq([1, 2, 3, 9000]) } end context 'authorized_keys file does not exist' do @@ -207,9 +214,7 @@ describe Gitlab::AuthorizedKeys do delete_authorized_keys_file end - it 'returns an empty array' do - expect(subject.list_key_ids).to be_empty - end + it { is_expected.to be_empty } end end diff --git a/spec/lib/system_check/app/authorized_keys_permission_check_spec.rb b/spec/lib/system_check/app/authorized_keys_permission_check_spec.rb index 0aa3539e2bd..ac216c1860c 100644 --- a/spec/lib/system_check/app/authorized_keys_permission_check_spec.rb +++ b/spec/lib/system_check/app/authorized_keys_permission_check_spec.rb @@ -3,13 +3,13 @@ require 'spec_helper' describe SystemCheck::App::AuthorizedKeysPermissionCheck do - subject { described_class.new } + subject(:system_check) { described_class.new } describe '#skip?' do + subject { system_check.skip? } + context 'authorized keys enabled' do - it 'returns false' do - expect(subject.skip?).to eq(false) - end + it { is_expected.to eq(false) } end context 'authorized keys not enabled' do @@ -17,34 +17,29 @@ describe SystemCheck::App::AuthorizedKeysPermissionCheck do stub_application_setting(authorized_keys_enabled: false) end - it 'returns true' do - expect(subject.skip?).to eq(true) - end + it { is_expected.to eq(true) } end end describe '#check?' do - let(:authorized_keys) { double } + subject { system_check.check? } before do - allow(Gitlab::AuthorizedKeys).to receive(:new).and_return(authorized_keys) - allow(authorized_keys).to receive(:accessible?).and_return(accessible?) + expect_next_instance_of(Gitlab::AuthorizedKeys) do |instance| + allow(instance).to receive(:accessible?) { accessible? } + end end context 'authorized keys is accessible' do let(:accessible?) { true } - it 'returns true' do - expect(subject.check?).to eq(true) - end + it { is_expected.to eq(true) } end context 'authorized keys is not accessible' do let(:accessible?) { false } - it 'returns false' do - expect(subject.check?).to eq(false) - end + it { is_expected.to eq(false) } end end end |