Skip to content
Snippets Groups Projects
Commit cd3b8bbd authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Add method that checks if path exists in `StringPath`

parent a5e1905d
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -17,7 +17,7 @@ class Projects::ArtifactsController < Projects::ApplicationController
def browse
return render_404 unless build.artifacts?
@path = build.artifacts_metadata_string_path(params[:path] || './')
return render_404 if @path.universe.empty?
return render_404 unless @path.exists?
end
 
private
Loading
Loading
Loading
Loading
@@ -19,6 +19,10 @@ module Gitlab
@path
end
 
def exists?
@path == './' || @universe.include?(@path)
end
def absolute?
@path.start_with?('/')
end
Loading
Loading
Loading
Loading
@@ -32,6 +32,7 @@ describe Gitlab::StringPath do
it { is_expected.to be_file }
it { is_expected.to have_parent }
it { is_expected.to_not have_descendants }
it { is_expected.to exist }
 
describe '#basename' do
subject { |example| path(example).basename }
Loading
Loading
@@ -170,4 +171,16 @@ describe Gitlab::StringPath do
 
it { is_expected.to eq '/path/file1' }
end
describe '#exists?', path: 'another_file' do
subject { |example| path(example).exists? }
it { is_expected.to be true }
end
describe '#exists?', path: './non_existent/' do
let(:universe) { ['./something'] }
subject { |example| path(example).exists? }
it { is_expected.to be false }
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment