Commit 54ee0df7 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Do not use absolute URLS in entities use relative

parent 73a5f331
......@@ -4,21 +4,21 @@ class BuildEntity < Grape::Entity
expose :id
expose :name
expose :build_url do |build|
url_to(:namespace_project_build, build)
expose :build_path do |build|
path_to(:namespace_project_build, build)
end
expose :retry_url do |build|
url_to(:retry_namespace_project_build, build)
expose :retry_path do |build|
path_to(:retry_namespace_project_build, build)
end
expose :play_url, if: ->(build, _) { build.manual? } do |build|
url_to(:play_namespace_project_build, build)
expose :play_path, if: ->(build, _) { build.manual? } do |build|
path_to(:play_namespace_project_build, build)
end
private
def url_to(route, build)
send("#{route}_url", build.project.namespace, build.project, build)
def path_to(route, build)
send("#{route}_path", build.project.namespace, build.project, build)
end
end
......@@ -3,8 +3,8 @@ class CommitEntity < API::Entities::RepoCommit
expose :author, using: UserEntity
expose :commit_url do |commit|
namespace_project_tree_url(
expose :commit_path do |commit|
namespace_project_tree_path(
request.project.namespace,
request.project,
id: commit.id)
......
......@@ -10,8 +10,8 @@ class DeploymentEntity < Grape::Entity
deployment.ref
end
expose :ref_url do |deployment|
namespace_project_tree_url(
expose :ref_path do |deployment|
namespace_project_tree_path(
deployment.project.namespace,
deployment.project,
id: deployment.ref)
......
......@@ -9,8 +9,8 @@ class EnvironmentEntity < Grape::Entity
expose :last_deployment, using: DeploymentEntity
expose :stoppable?
expose :environment_url do |environment|
namespace_project_environment_url(
expose :environment_path do |environment|
namespace_project_environment_path(
environment.project.namespace,
environment.project,
environment)
......
......@@ -10,9 +10,9 @@ describe BuildEntity do
context 'when build is a regular job' do
let(:build) { create(:ci_build) }
it 'contains url to build page and retry action' do
expect(subject).to include(:build_url, :retry_url)
expect(subject).not_to include(:play_url)
it 'contains paths to build page and retry action' do
expect(subject).to include(:build_path, :retry_path)
expect(subject).not_to include(:play_path)
end
it 'does not contain sensitive information' do
......@@ -24,8 +24,8 @@ describe BuildEntity do
context 'when build is a manual action' do
let(:build) { create(:ci_build, :manual) }
it 'contains url to play action' do
expect(subject).to include(:play_url)
it 'contains path to play action' do
expect(subject).to include(:play_path)
end
end
end
......@@ -31,8 +31,8 @@ describe CommitEntity do
end
end
it 'contains commit URL' do
expect(subject).to include(:commit_url)
it 'contains path to commit' do
expect(subject).to include(:commit_path)
end
it 'needs to receive project in the request' do
......
......@@ -15,6 +15,6 @@ describe DeploymentEntity do
it 'exposes nested information about branch' do
expect(subject[:ref][:name]).to eq 'master'
expect(subject[:ref][:ref_url]).not_to be_empty
expect(subject[:ref][:ref_path]).not_to be_empty
end
end
......@@ -13,6 +13,6 @@ describe EnvironmentEntity do
end
it 'exposes core elements of environment' do
expect(subject).to include(:id, :name, :state, :environment_url)
expect(subject).to include(:id, :name, :state, :environment_path)
end
end
......@@ -33,7 +33,7 @@ describe EnvironmentSerializer do
it 'contains important elements of environment' do
expect(json)
.to include(:name, :external_url, :environment_url, :last_deployment)
.to include(:name, :external_url, :environment_path, :last_deployment)
end
it 'contains relevant information about last deployment' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment