Expose app version to frontend

This commit is contained in:
Thong Kuah 2019-01-30 22:26:52 +13:00
parent e4dc22e330
commit be386cb2cf
4 changed files with 12 additions and 1 deletions

View file

@ -4,6 +4,7 @@ class ClusterApplicationEntity < Grape::Entity
expose :name
expose :status_name, as: :status
expose :status_reason
expose :version
expose :external_ip, if: -> (e, _) { e.respond_to?(:external_ip) }
expose :hostname, if: -> (e, _) { e.respond_to?(:hostname) }
expose :email, if: -> (e, _) { e.respond_to?(:email) }

View file

@ -0,0 +1,5 @@
---
title: Expose version for each application in cluster_status JSON endpoint
merge_request: 24791
author:
type: other

View file

@ -30,6 +30,7 @@
]
}
},
"version": { "type": "string" },
"status_reason": { "type": ["string", "null"] },
"external_ip": { "type": ["string", "null"] },
"hostname": { "type": ["string", "null"] },

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe ClusterApplicationEntity do
describe '#as_json' do
let(:application) { build(:clusters_applications_helm) }
let(:application) { build(:clusters_applications_helm, version: '0.1.1') }
subject { described_class.new(application).as_json }
it 'has name' do
@ -13,6 +13,10 @@ describe ClusterApplicationEntity do
expect(subject[:status]).to eq(:not_installable)
end
it 'has version' do
expect(subject[:version]).to eq('0.1.1')
end
it 'has no status_reason' do
expect(subject[:status_reason]).to be_nil
end