Do not use absolute URLS in entities use relative
This commit is contained in:
parent
73a5f331b2
commit
54ee0df78a
9 changed files with 24 additions and 24 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue