1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
# frozen_string_literal: true
# This api is for internal use only for the purpose of source code paths mapping to E2E specs.
module API
module Internal
class Coverage < ::API::Base
feature_category :code_testing
urgency :low
before do
authenticated_as_admin!
end
namespace 'internal' do
namespace 'coverage' do
desc 'Source code paths coverage mapping' do
success code: 200, message: 'Success'
failure [
{ code: 401, message: 'Unauthorized' }
]
end
get do
# Fetch only runtime coverage data which is tracked during E2E spec execution
# skip hash check due to hash mismatch on some environments which results in empty coverage data
::Coverband.configuration.store.coverage(::Coverband::RUNTIME_TYPE, skip_hash_check: true).keys
end
delete do
::Coverband.configuration.store.clear!
status 200
{
message: "Cleared source code paths coverage mapping"
}
end
end
end
end
end
end
|