44528f6c44
Gitaly data wasn't available to the team, an this change is a first iteration towards understanding what data we need and how to interpret it. Later more values will be added. For now the most important thing is the filesystem String Array, as that includes data on ext4 exposure and NFS. Part of: https://gitlab.com/gitlab-org/gitlab-ce/issues/60602
66 lines
1.7 KiB
Ruby
66 lines
1.7 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Gitaly::Server do
|
|
let(:server) { described_class.new('default') }
|
|
|
|
describe '.all' do
|
|
let(:storages) { Gitlab.config.repositories.storages }
|
|
|
|
it 'includes all storages' do
|
|
expect(storages.count).to eq(described_class.all.count)
|
|
expect(storages.keys).to eq(described_class.all.map(&:storage))
|
|
end
|
|
end
|
|
|
|
subject { described_class.all.first }
|
|
|
|
it { is_expected.to respond_to(:server_version) }
|
|
it { is_expected.to respond_to(:git_binary_version) }
|
|
it { is_expected.to respond_to(:up_to_date?) }
|
|
it { is_expected.to respond_to(:address) }
|
|
|
|
describe 'readable?' do
|
|
context 'when the storage is readable' do
|
|
it 'returns true' do
|
|
expect(server).to be_readable
|
|
end
|
|
end
|
|
|
|
context 'when the storage is not readable', :broken_storage do
|
|
it 'returns false' do
|
|
expect(server).not_to be_readable
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'writeable?' do
|
|
context 'when the storage is writeable' do
|
|
it 'returns true' do
|
|
expect(server).to be_writeable
|
|
end
|
|
end
|
|
|
|
context 'when the storage is not writeable', :broken_storage do
|
|
it 'returns false' do
|
|
expect(server).not_to be_writeable
|
|
end
|
|
end
|
|
end
|
|
|
|
describe "#filesystem_type" do
|
|
subject { server.filesystem_type }
|
|
|
|
it { is_expected.to be_present }
|
|
end
|
|
|
|
describe 'request memoization' do
|
|
context 'when requesting multiple properties', :request_store do
|
|
it 'uses memoization for the info request' do
|
|
expect do
|
|
subject.server_version
|
|
subject.up_to_date?
|
|
end.to change { Gitlab::GitalyClient.get_request_count }.by(1)
|
|
end
|
|
end
|
|
end
|
|
end
|