refactor plugin tests to use mocks from mockServices
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
+6
-23
@@ -14,15 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { getVoidLogger } from '@backstage/backend-common';
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { Duration } from 'luxon';
|
||||
@@ -40,12 +32,12 @@ describe('catalogModuleAwsS3EntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -66,16 +58,7 @@ describe('catalogModuleAwsS3EntityProvider', () => {
|
||||
features: [
|
||||
catalogModuleAwsS3EntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
createServiceFactory(() => ({
|
||||
service: coreServices.logger,
|
||||
deps: {},
|
||||
factory: getVoidLogger,
|
||||
}))(),
|
||||
createServiceFactory(() => ({
|
||||
service: coreServices.scheduler,
|
||||
deps: {},
|
||||
factory: () => scheduler,
|
||||
}))(),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { Duration } from 'luxon';
|
||||
@@ -39,12 +32,12 @@ describe('catalogModuleAzureDevOpsEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -69,11 +62,7 @@ describe('catalogModuleAzureDevOpsEntityProvider', () => {
|
||||
catalogModuleAzureDevOpsEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
mockServices.logger.factory(),
|
||||
createServiceFactory(() => ({
|
||||
deps: {},
|
||||
service: coreServices.scheduler,
|
||||
factory: async () => scheduler,
|
||||
})),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { startTestBackend, mockServices } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { eventsExtensionPoint } from '@backstage/plugin-events-node/alpha';
|
||||
@@ -46,12 +39,12 @@ describe('catalogModuleBitbucketCloudEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
await startTestBackend({
|
||||
extensionPoints: [
|
||||
@@ -75,11 +68,7 @@ describe('catalogModuleBitbucketCloudEntityProvider', () => {
|
||||
},
|
||||
},
|
||||
}),
|
||||
createServiceFactory({
|
||||
service: coreServices.scheduler,
|
||||
deps: {},
|
||||
factory: async () => scheduler,
|
||||
}),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { catalogModuleBitbucketServerEntityProvider } from './catalogModuleBitbucketServerEntityProvider';
|
||||
@@ -39,12 +32,12 @@ describe('catalogModuleBitbucketServerEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -73,11 +66,7 @@ describe('catalogModuleBitbucketServerEntityProvider', () => {
|
||||
catalogModuleBitbucketServerEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
mockServices.logger.factory(),
|
||||
createServiceFactory({
|
||||
service: coreServices.scheduler,
|
||||
deps: {},
|
||||
factory: async () => scheduler,
|
||||
}),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { Duration } from 'luxon';
|
||||
@@ -39,12 +32,12 @@ describe('catalogModuleGerritEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -79,11 +72,7 @@ describe('catalogModuleGerritEntityProvider', () => {
|
||||
catalogModuleGerritEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
mockServices.logger.factory(),
|
||||
createServiceFactory({
|
||||
service: coreServices.scheduler,
|
||||
deps: {},
|
||||
factory: async () => scheduler,
|
||||
}),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,19 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { Duration } from 'luxon';
|
||||
import { catalogModuleGithubEntityProvider } from './catalogModuleGithubEntityProvider';
|
||||
import { GithubEntityProvider } from '../providers/GithubEntityProvider';
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
|
||||
describe('catalogModuleGithubEntityProvider', () => {
|
||||
it('should register provider at the catalog extension point', async () => {
|
||||
@@ -39,12 +32,12 @@ describe('catalogModuleGithubEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -65,11 +58,7 @@ describe('catalogModuleGithubEntityProvider', () => {
|
||||
features: [
|
||||
catalogModuleGithubEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
createServiceFactory({
|
||||
service: coreServices.scheduler,
|
||||
deps: {},
|
||||
factory: async () => scheduler,
|
||||
}),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { Duration } from 'luxon';
|
||||
@@ -39,12 +32,12 @@ describe('catalogModuleGitlabDiscoveryEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
integrations: {
|
||||
@@ -78,11 +71,7 @@ describe('catalogModuleGitlabDiscoveryEntityProvider', () => {
|
||||
catalogModuleGitlabDiscoveryEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
mockServices.logger.factory(),
|
||||
createServiceFactory({
|
||||
deps: {},
|
||||
service: coreServices.scheduler,
|
||||
factory: async () => scheduler,
|
||||
}),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-13
@@ -14,12 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createBackendModule,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import { startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { createBackendModule } from '@backstage/backend-plugin-api';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { IncrementalEntityProvider } from '../types';
|
||||
import {
|
||||
@@ -40,18 +36,15 @@ describe('catalogModuleIncrementalIngestionEntityProvider', () => {
|
||||
};
|
||||
|
||||
const addEntityProvider = jest.fn();
|
||||
const httpRouterUse = jest.fn();
|
||||
|
||||
const httpRouterMock = mockServices.httpRouter.mock();
|
||||
|
||||
await startTestBackend({
|
||||
extensionPoints: [
|
||||
[catalogProcessingExtensionPoint, { addEntityProvider }],
|
||||
],
|
||||
features: [
|
||||
createServiceFactory({
|
||||
service: coreServices.httpRouter,
|
||||
deps: {},
|
||||
factory: () => ({ use: httpRouterUse }),
|
||||
}),
|
||||
httpRouterMock.factory,
|
||||
catalogModuleIncrementalIngestionEntityProvider(),
|
||||
createBackendModule({
|
||||
pluginId: 'catalog',
|
||||
@@ -79,6 +72,6 @@ describe('catalogModuleIncrementalIngestionEntityProvider', () => {
|
||||
expect(addEntityProvider.mock.calls[0][0].getProviderName()).toBe(
|
||||
'provider1',
|
||||
);
|
||||
expect(httpRouterUse).toHaveBeenCalledTimes(1);
|
||||
expect(httpRouterMock.use).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { Duration } from 'luxon';
|
||||
@@ -39,12 +32,12 @@ describe('catalogModuleMicrosoftGraphOrgEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -70,11 +63,7 @@ describe('catalogModuleMicrosoftGraphOrgEntityProvider', () => {
|
||||
features: [
|
||||
catalogModuleMicrosoftGraphOrgEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
createServiceFactory(() => ({
|
||||
deps: {},
|
||||
service: coreServices.scheduler,
|
||||
factory: async () => scheduler,
|
||||
})),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+6
-17
@@ -14,14 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import {
|
||||
PluginTaskScheduler,
|
||||
TaskScheduleDefinition,
|
||||
} from '@backstage/backend-tasks';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
|
||||
import { catalogModulePuppetDbEntityProvider } from './catalogModulePuppetDbEntityProvider';
|
||||
@@ -38,12 +31,12 @@ describe('catalogModulePuppetDbEntityProvider', () => {
|
||||
},
|
||||
};
|
||||
const runner = jest.fn();
|
||||
const scheduler = {
|
||||
createScheduledTaskRunner: (schedule: TaskScheduleDefinition) => {
|
||||
const scheduler = mockServices.scheduler.mock({
|
||||
createScheduledTaskRunner(schedule) {
|
||||
usedSchedule = schedule;
|
||||
return runner;
|
||||
return { run: runner };
|
||||
},
|
||||
} as unknown as PluginTaskScheduler;
|
||||
});
|
||||
|
||||
const config = {
|
||||
catalog: {
|
||||
@@ -64,11 +57,7 @@ describe('catalogModulePuppetDbEntityProvider', () => {
|
||||
features: [
|
||||
catalogModulePuppetDbEntityProvider(),
|
||||
mockServices.rootConfig.factory({ data: config }),
|
||||
createServiceFactory(() => ({
|
||||
deps: {},
|
||||
service: coreServices.scheduler,
|
||||
factory: async () => scheduler,
|
||||
})),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
+2
-13
@@ -14,11 +14,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
coreServices,
|
||||
createServiceFactory,
|
||||
SchedulerService,
|
||||
} from '@backstage/backend-plugin-api';
|
||||
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
|
||||
import { eventsExtensionPoint } from '@backstage/plugin-events-node/alpha';
|
||||
import { TestEventBroker } from '@backstage/plugin-events-backend-test-utils';
|
||||
@@ -34,9 +29,7 @@ describe('eventsModuleAwsSqsConsumingEventPublisher', () => {
|
||||
},
|
||||
};
|
||||
|
||||
const scheduler = {
|
||||
scheduleTask: jest.fn(),
|
||||
} as unknown as SchedulerService;
|
||||
const scheduler = mockServices.scheduler.mock();
|
||||
|
||||
await startTestBackend({
|
||||
extensionPoints: [[eventsExtensionPoint, extensionPoint]],
|
||||
@@ -68,11 +61,7 @@ describe('eventsModuleAwsSqsConsumingEventPublisher', () => {
|
||||
},
|
||||
},
|
||||
}),
|
||||
createServiceFactory({
|
||||
service: coreServices.scheduler,
|
||||
deps: {},
|
||||
factory: () => scheduler,
|
||||
}),
|
||||
scheduler.factory,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user