jenkins-backend: depend on interface rather than implementation
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-jenkins-backend': patch
|
||||
---
|
||||
|
||||
The `DefaultJenkinsInfoProvider.fromConfig` now requires an implementation of the `CatalogApi` rather than a `CatalogClient` instance.
|
||||
@@ -3,7 +3,7 @@
|
||||
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
||||
|
||||
```ts
|
||||
import { CatalogClient } from '@backstage/catalog-client';
|
||||
import { CatalogApi } from '@backstage/catalog-client';
|
||||
import { Config } from '@backstage/config';
|
||||
import { EntityName } from '@backstage/catalog-model';
|
||||
import express from 'express';
|
||||
@@ -21,7 +21,7 @@ export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider {
|
||||
// (undocumented)
|
||||
static fromConfig(options: {
|
||||
config: Config;
|
||||
catalog: CatalogClient;
|
||||
catalog: CatalogApi;
|
||||
}): DefaultJenkinsInfoProvider;
|
||||
// (undocumented)
|
||||
getInstance(opt: {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { CatalogClient } from '@backstage/catalog-client';
|
||||
import { CatalogApi } from '@backstage/catalog-client';
|
||||
import { Entity, EntityName } from '@backstage/catalog-model';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
import {
|
||||
@@ -159,9 +159,9 @@ describe('JenkinsConfig', () => {
|
||||
});
|
||||
|
||||
describe('DefaultJenkinsInfoProvider', () => {
|
||||
const mockCatalog: jest.Mocked<CatalogClient> = {
|
||||
const mockCatalog: jest.Mocked<CatalogApi> = {
|
||||
getEntityByName: jest.fn(),
|
||||
} as any as jest.Mocked<CatalogClient>;
|
||||
} as any as jest.Mocked<CatalogApi>;
|
||||
|
||||
const entityRef: EntityName = {
|
||||
kind: 'Component',
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { CatalogClient } from '@backstage/catalog-client';
|
||||
import { CatalogApi } from '@backstage/catalog-client';
|
||||
import {
|
||||
Entity,
|
||||
EntityName,
|
||||
@@ -168,12 +168,12 @@ export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider {
|
||||
|
||||
private constructor(
|
||||
private readonly config: JenkinsConfig,
|
||||
private readonly catalog: CatalogClient,
|
||||
private readonly catalog: CatalogApi,
|
||||
) {}
|
||||
|
||||
static fromConfig(options: {
|
||||
config: Config;
|
||||
catalog: CatalogClient;
|
||||
catalog: CatalogApi;
|
||||
}): DefaultJenkinsInfoProvider {
|
||||
return new DefaultJenkinsInfoProvider(
|
||||
JenkinsConfig.fromConfig(options.config),
|
||||
|
||||
Reference in New Issue
Block a user