From d97a5e46978f96126eb5a786bd60df78401872e9 Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Fri, 4 Jan 2019 17:23:30 -0500 Subject: [PATCH] Server start time badge [debug] (#2631) --- services/debug/debug.service.js | 40 +++++++++++++++++++++++++++++++++ services/debug/debug.tester.js | 9 ++++++++ services/time/time.service.js | 28 ----------------------- 3 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 services/debug/debug.service.js create mode 100644 services/debug/debug.tester.js delete mode 100644 services/time/time.service.js diff --git a/services/debug/debug.service.js b/services/debug/debug.service.js new file mode 100644 index 0000000000..a8754b991c --- /dev/null +++ b/services/debug/debug.service.js @@ -0,0 +1,40 @@ +'use strict' + +const NonMemoryCachingBaseService = require('../base-non-memory-caching') + +const serverStartTime = new Date(new Date().toGMTString()) + +module.exports = class Debug extends NonMemoryCachingBaseService { + static get category() { + return 'debug' + } + + static get defaultBadgeData() { + return { + label: 'debug', + color: 'blue', + } + } + + static get route() { + return { + base: 'debug', + pattern: ':which(time|starttime)', + } + } + + async handle({ which }) { + switch (which) { + case 'time': + return { + label: 'time', + message: new Date().toUTCString(), + } + case 'starttime': + return { + label: 'start time', + message: new Date(serverStartTime).toUTCString(), + } + } + } +} diff --git a/services/debug/debug.tester.js b/services/debug/debug.tester.js new file mode 100644 index 0000000000..c4b85a22c6 --- /dev/null +++ b/services/debug/debug.tester.js @@ -0,0 +1,9 @@ +'use strict' + +const Joi = require('joi') + +const t = (module.exports = require('../create-service-tester')()) + +t.create('start time') + .get('/starttime.json') + .expectJSONTypes({ name: 'start time', value: Joi.date().required() }) diff --git a/services/time/time.service.js b/services/time/time.service.js deleted file mode 100644 index 7638b98d37..0000000000 --- a/services/time/time.service.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict' - -const NonMemoryCachingBaseService = require('../base-non-memory-caching') - -module.exports = class Time extends NonMemoryCachingBaseService { - async handle() { - return { message: new Date() } - } - - // Metadata - static get defaultBadgeData() { - return { - label: 'time', - color: 'blue', - } - } - - static get category() { - return 'debug' - } - - static get route() { - return { - base: 'servertime', - pattern: '', - } - } -}