Reorganize BaseService-related modules (#2831)

Ref #2698
This commit is contained in:
Paul Melnikow
2019-01-22 23:52:13 -05:00
committed by GitHub
parent bbc10c5a68
commit fc12b591db
50 changed files with 71 additions and 71 deletions

View File

@@ -1,9 +1,9 @@
'use strict'
const makeBadge = require('../gh-badges/lib/make-badge')
const { makeSend } = require('../core/base-service/legacy-result-sender')
const makeBadge = require('../../gh-badges/lib/make-badge')
const BaseService = require('./base')
const { setCacheHeaders } = require('./cache-headers')
const { makeSend } = require('./legacy-result-sender')
// Badges are subject to two independent types of caching: in-memory and
// downstream.

View File

@@ -1,13 +1,13 @@
'use strict'
const makeBadge = require('../gh-badges/lib/make-badge')
const { makeSend } = require('../core/base-service/legacy-result-sender')
const analytics = require('../core/server/analytics')
const makeBadge = require('../../gh-badges/lib/make-badge')
const analytics = require('../server/analytics')
const BaseService = require('./base')
const {
serverHasBeenUpSinceResourceCached,
setCacheHeadersForStaticResource,
} = require('./cache-headers')
const { makeSend } = require('./legacy-result-sender')
module.exports = class BaseStaticService extends BaseService {
static register({ camp }, serviceConfig) {

View File

@@ -3,8 +3,8 @@
const { expect } = require('chai')
const sinon = require('sinon')
const Joi = require('joi')
const { makeBadgeData } = require('../lib/badge-data')
const makeBadge = require('../gh-badges/lib/make-badge')
const { makeBadgeData } = require('../../lib/badge-data')
const makeBadge = require('../../gh-badges/lib/make-badge')
const BaseSvgScrapingService = require('./base-svg-scraping')
function makeExampleSvg({ label, message }) {

View File

@@ -4,6 +4,15 @@
const emojic = require('emojic')
const pathToRegexp = require('path-to-regexp')
const Joi = require('joi')
const { checkErrorResponse } = require('../../lib/error-helper')
const { toArray } = require('../../lib/badge-data')
const { svg2base64 } = require('../../lib/svg-helpers')
const {
decodeDataUrlFromQueryParam,
prepareNamedLogo,
} = require('../../lib/logos')
const { assertValidCategory } = require('../../services/categories')
const coalesce = require('./coalesce')
const {
NotFound,
InvalidResponse,
@@ -11,19 +20,10 @@ const {
InvalidParameter,
Deprecated,
} = require('./errors')
const coalesce = require('../core/base-service/coalesce')
const validate = require('../core/base-service/validate')
const { checkErrorResponse } = require('../lib/error-helper')
const { toArray } = require('../lib/badge-data')
const { svg2base64 } = require('../lib/svg-helpers')
const {
decodeDataUrlFromQueryParam,
prepareNamedLogo,
} = require('../lib/logos')
const { assertValidServiceDefinition } = require('./service-definitions')
const trace = require('./trace')
const { validateExample, transformExample } = require('./transform-example')
const { assertValidCategory } = require('./categories')
const { assertValidServiceDefinition } = require('./service-definitions')
const validate = require('./validate')
const defaultBadgeDataSchema = Joi.object({
label: Joi.string(),

View File

@@ -4,7 +4,7 @@ const Joi = require('joi')
const { expect } = require('chai')
const { test, given, forCases } = require('sazerac')
const sinon = require('sinon')
const { getShieldsIcon } = require('../lib/logos')
const { getShieldsIcon } = require('../../lib/logos')
const trace = require('./trace')
const {
@@ -16,7 +16,7 @@ const {
} = require('./errors')
const BaseService = require('./base')
require('../lib/register-chai-plugins.spec')
require('../register-chai-plugins.spec')
class DummyService extends BaseService {
static render({ namedParamA, queryParamA }) {

View File

@@ -2,7 +2,7 @@
const assert = require('assert')
const Joi = require('joi')
const coalesce = require('../core/base-service/coalesce')
const coalesce = require('./coalesce')
const serverStartTimeGMTString = new Date().toGMTString()
const serverStartTimestamp = Date.now()

View File

@@ -1,14 +1,14 @@
'use strict'
const BaseService = require('../../services/base')
const BaseJsonService = require('../../services/base-json')
const NonMemoryCachingBaseService = require('../../services/base-non-memory-caching')
const BaseStaticService = require('../../services/base-static')
const BaseSvgScrapingService = require('../../services/base-svg-scraping')
const BaseXmlService = require('../../services/base-xml')
const BaseYamlService = require('../../services/base-yaml')
const BaseService = require('./base')
const BaseJsonService = require('./base-json')
const NonMemoryCachingBaseService = require('./base-non-memory-caching')
const BaseStaticService = require('./base-static')
const BaseSvgScrapingService = require('./base-svg-scraping')
const BaseXmlService = require('./base-xml')
const BaseYamlService = require('./base-yaml')
const deprecatedService = require('../../services/deprecated-service')
const deprecatedService = require('./deprecated-service')
const {
NotFound,
@@ -16,7 +16,7 @@ const {
Inaccessible,
InvalidParameter,
Deprecated,
} = require('../../services/errors')
} = require('./errors')
module.exports = {
BaseService,

View File

@@ -4,17 +4,17 @@
const domain = require('domain')
const request = require('request')
const queryString = require('query-string')
const log = require('../server/log')
const analytics = require('../server/analytics')
const LruCache = require('../../gh-badges/lib/lru-cache')
const makeBadge = require('../../gh-badges/lib/make-badge')
const { makeBadgeData: getBadgeData } = require('../../lib/badge-data')
const analytics = require('../server/analytics')
const log = require('../server/log')
const { setCacheHeaders } = require('./cache-headers')
const {
Inaccessible,
InvalidResponse,
ShieldsRuntimeError,
} = require('../../services/errors')
const { setCacheHeaders } = require('../../services/cache-headers')
const { makeBadgeData: getBadgeData } = require('../../lib/badge-data')
} = require('./errors')
const { makeSend } = require('./legacy-result-sender')
// We avoid calling the vendor's server for computation of the information in a

View File

@@ -2,7 +2,7 @@
const emojic = require('emojic')
const Joi = require('joi')
const trace = require('../../services/trace')
const trace = require('./trace')
function validate(
{

View File

@@ -3,8 +3,8 @@
const Joi = require('joi')
const { expect } = require('chai')
const sinon = require('sinon')
const trace = require('../../services/trace')
const { InvalidParameter } = require('../../services/errors')
const trace = require('./trace')
const { InvalidParameter } = require('./errors')
const validate = require('./validate')
describe('validate', function() {

View File

@@ -1,8 +1,8 @@
'use strict'
const caller = require('caller')
const BaseService = require('../base-service/base')
const ServiceTester = require('./service-tester')
const BaseService = require('./base')
// Automatically create a ServiceTester.
//

View File

@@ -4,7 +4,7 @@ const emojic = require('emojic')
const frisby = require('./icedfrisby-no-nock')(
require('icedfrisby-nock')(require('icedfrisby'))
)
const trace = require('./trace')
const trace = require('../base-service/trace')
/**
* Encapsulate a suite of tests. Create new tests using create() and register

View File

@@ -18,12 +18,12 @@ Add a key for the service with the corresponding date for deprecation, for examp
Locate the source file(s) for the service, which can be found in `*.service.js` files located within the directory for the service (`./services/:service-name/`) such as `./services/imagelayers/imagelayers.service.js`.
Replace the existing service class implementation with the `DeprecatedService` class from `./services/deprecated-service.js` using the respective `category`, `url`, and `label` values for that service. For example:
Replace the existing service class implementation with the `DeprecatedService` class from `./core/base-service/deprecated-service.js` using the respective `category`, `url`, and `label` values for that service. For example:
```js
'use strict'
const deprecatedService = require('../deprecated-service')
const { deprecatedService } = require('..')
// image layers integration - deprecated as of November 2018.
module.exports = deprecatedService({

View File

@@ -1,6 +1,6 @@
'use strict'
const { Deprecated } = require('../services/errors')
const { Deprecated } = require('../core/base-service/errors')
function enforceDeprecation(effectiveDate) {
if (Date.now() >= effectiveDate.getTime()) {

View File

@@ -1,7 +1,7 @@
'use strict'
const { expect } = require('chai')
const { Deprecated } = require('../services/errors')
const { Deprecated } = require('../core/base-service/errors')
const { enforceDeprecation } = require('./deprecation-helpers')
describe('enforceDeprecation', function() {

View File

@@ -4,7 +4,7 @@ const {
NotFound,
InvalidResponse,
Inaccessible,
} = require('../services/errors')
} = require('../core/base-service/errors')
const defaultErrorMessages = {
404: 'not found',
}

View File

@@ -1,12 +1,12 @@
'use strict'
const { expect } = require('chai')
const { checkErrorResponse } = require('./error-helper')
const {
NotFound,
InvalidResponse,
Inaccessible,
} = require('../services/errors')
} = require('../core/base-service/errors')
const { checkErrorResponse } = require('./error-helper')
describe('Standard Error Handler', function() {
it('makes inaccessible badge', function() {

View File

@@ -1,6 +1,6 @@
'use strict'
const { Inaccessible, InvalidResponse } = require('../services/errors')
const { Inaccessible, InvalidResponse } = require('../core/base-service/errors')
// Map from URL to { timestamp: last fetch time, data: data }.
let regularUpdateCache = Object.create(null)

View File

@@ -1,9 +1,8 @@
'use strict'
const BaseSvgService = require('../base-svg-scraping')
const { NotFound } = require('..')
const { keywords, fetch } = require('./azure-devops-helpers')
const { renderBuildStatusBadge } = require('../../lib/build-status')
const { BaseSvgScrapingService, NotFound } = require('..')
const { keywords, fetch } = require('./azure-devops-helpers')
const documentation = `
<p>
@@ -28,7 +27,7 @@ const documentation = `
alt="PROJECT_ID is in the id property of the API response." />
`
module.exports = class AzureDevOpsBuild extends BaseSvgService {
module.exports = class AzureDevOpsBuild extends BaseSvgScrapingService {
static get category() {
return 'build'
}

View File

@@ -1,8 +1,8 @@
'use strict'
const BaseSvgService = require('../base-svg-scraping')
const { keywords, fetch } = require('./azure-devops-helpers')
const { renderBuildStatusBadge } = require('../../lib/build-status')
const { BaseSvgScrapingService } = require('..')
const { keywords, fetch } = require('./azure-devops-helpers')
const documentation = `
<p>
@@ -22,7 +22,7 @@ const documentation = `
</p>
`
module.exports = class AzureDevOpsRelease extends BaseSvgService {
module.exports = class AzureDevOpsRelease extends BaseSvgScrapingService {
static get category() {
return 'build'
}

View File

@@ -3,7 +3,7 @@
const Joi = require('joi')
const validate = require('../core/base-service/validate')
const { toArray } = require('../lib/badge-data')
const { InvalidResponse } = require('./errors')
const { InvalidResponse } = require('.')
const individualValueSchema = Joi.alternatives()
.try(Joi.string(), Joi.number())

View File

@@ -3,8 +3,7 @@
const { URL } = require('url')
const Joi = require('joi')
const { errorMessages } = require('../dynamic/dynamic-helpers')
const BaseJsonService = require('../base-json')
const { InvalidParameter } = require('../errors')
const { BaseJsonService, InvalidParameter } = require('..')
const { optionalUrl } = require('../validators')
const blockedDomains = ['github.com', 'shields.io']

View File

@@ -3,7 +3,7 @@
const { expect } = require('chai')
const { getShieldsIcon } = require('../../lib/logos')
const t = (module.exports = require('../create-service-tester')())
const t = (module.exports = require('..').createServiceTester())
t.create('Valid schema (mocked)')
.get('.json?url=https://example.com/badge')

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseStaticService = require('../base-static')
const { BaseStaticService } = require('..')
module.exports = class Gitter extends BaseStaticService {
static get category() {

View File

@@ -2,10 +2,12 @@
const glob = require('glob')
const base = require('../core/base-service')
const createServiceTester = require('./create-service-tester')
const ServiceTester = require('./service-tester')
const createServiceTester = require('../core/service-test-runner/create-service-tester')
const ServiceTester = require('../core/service-test-runner/service-tester')
const {
assertValidServiceDefinitionExport,
} = require('../core/base-service/service-definitions')
const { categories } = require('./categories')
const { assertValidServiceDefinitionExport } = require('./service-definitions')
const { BaseService } = base

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseService = require('./base')
const { BaseService } = require('.')
// This adapter allows running legacy badges in the new file layout and
// service architecture.

View File

@@ -1,7 +1,7 @@
'use strict'
const Joi = require('joi')
const { InvalidParameter } = require('./errors')
const { InvalidParameter } = require('.')
const isDependencyMap = Joi.object()
.pattern(

View File

@@ -1,9 +1,9 @@
'use strict'
const Joi = require('joi')
const BaseJsonService = require('../base-json')
const { metric } = require('../../lib/text-formatters')
const { downloadCount } = require('../../lib/color-formatters')
const { BaseJsonService } = require('..')
const { nonNegativeInteger } = require('../validators')
const keywords = ['sublime', 'sublimetext', 'packagecontrol']

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseStaticService = require('../base-static')
const { BaseStaticService } = require('..')
const { escapeFormat } = require('../../core/badge-urls/path-helpers')
module.exports = class StaticBadge extends BaseStaticService {

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseJsonService = require('../services/base-json')
const BaseJsonService = require('../core/base-service/base-json')
class BadBaseService {}
class GoodService extends BaseJsonService {}

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseJsonService = require('../services/base-json')
const BaseJsonService = require('../core/base-service/base-json')
const LegacyService = require('../services/legacy-service')
class GoodServiceOne extends BaseJsonService {

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseJsonService = require('../services/base-json')
const BaseJsonService = require('../core/base-service/base-json')
class GoodService extends BaseJsonService {
static get category() {

View File

@@ -1,6 +1,6 @@
'use strict'
const BaseJsonService = require('../services/base-json')
const BaseJsonService = require('../core/base-service/base-json')
const LegacyService = require('../services/legacy-service')
class GoodServiceOne extends BaseJsonService {