@backstage/backend-test-utils 0.4.0-next.3 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # @backstage/backend-test-utils
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/backend-defaults@0.3.1
9
+ - @backstage/backend-app-api@0.7.7
10
+ - @backstage/plugin-auth-node@0.4.15
11
+ - @backstage/plugin-events-node@0.3.6
12
+ - @backstage/backend-plugin-api@0.6.20
13
+ - @backstage/config@1.2.0
14
+ - @backstage/errors@1.2.4
15
+ - @backstage/types@1.1.1
16
+
17
+ ## 0.4.0
18
+
19
+ ### Minor Changes
20
+
21
+ - 805cbe7: Added `TestCaches` that functions just like `TestDatabases`
22
+
23
+ ### Patch Changes
24
+
25
+ - 78a0b08: Internal refactor to handle `BackendFeature` contract change.
26
+ - 9e63318: Made it possible to give access restrictions to `mockCredentials.service`
27
+ - 006b3e8: The type `MockDirectoryOptions` was renamed to `CreateMockDirectoryOptions` so that it's clear these options are exclusive to the mock directory factory.
28
+ - 0634fdc: Refactored `TestDatabases` to no longer depend on `backend-common`
29
+ - 6a576dc: Fix the logger service mock to prevent returning `undefined` from the `child` method.
30
+ - 6c11f6e: Use imports from backend-defaults instead of the deprecated ones from backend-app-api
31
+ - Updated dependencies
32
+ - @backstage/backend-app-api@0.7.6
33
+ - @backstage/backend-plugin-api@0.6.19
34
+ - @backstage/plugin-auth-node@0.4.14
35
+ - @backstage/backend-defaults@0.3.0
36
+ - @backstage/plugin-events-node@0.3.5
37
+ - @backstage/config@1.2.0
38
+ - @backstage/errors@1.2.4
39
+ - @backstage/types@1.1.1
40
+
3
41
  ## 0.4.0-next.3
4
42
 
5
43
  ### Patch Changes
package/dist/index.cjs.js CHANGED
@@ -15,9 +15,20 @@ var fs = require('fs-extra');
15
15
  var textextensions = require('textextensions');
16
16
  var path = require('path');
17
17
  var backendAppApi = require('@backstage/backend-app-api');
18
+ var cache = require('@backstage/backend-defaults/cache');
19
+ var database = require('@backstage/backend-defaults/database');
20
+ var discovery = require('@backstage/backend-defaults/discovery');
21
+ var httpRouter = require('@backstage/backend-defaults/httpRouter');
22
+ var lifecycle = require('@backstage/backend-defaults/lifecycle');
23
+ var logger = require('@backstage/backend-defaults/logger');
24
+ var permissions = require('@backstage/backend-defaults/permissions');
25
+ var rootHttpRouter = require('@backstage/backend-defaults/rootHttpRouter');
26
+ var rootLifecycle = require('@backstage/backend-defaults/rootLifecycle');
27
+ var scheduler = require('@backstage/backend-defaults/scheduler');
28
+ var urlReader = require('@backstage/backend-defaults/urlReader');
18
29
  var config = require('@backstage/config');
19
- var cookie = require('cookie');
20
30
  var pluginEventsNode = require('@backstage/plugin-events-node');
31
+ var cookie = require('cookie');
21
32
  var express = require('express');
22
33
 
23
34
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -944,64 +955,6 @@ function createMockDirectory(options) {
944
955
  return mocker;
945
956
  }
946
957
 
947
- class MockIdentityService {
948
- getIdentity(_options) {
949
- return Promise.resolve({
950
- token: "mock-token",
951
- identity: {
952
- type: "user",
953
- userEntityRef: "user:default/mock-user",
954
- ownershipEntityRefs: []
955
- }
956
- });
957
- }
958
- }
959
-
960
- const levels = {
961
- none: 0,
962
- error: 1,
963
- warn: 2,
964
- info: 3,
965
- debug: 4
966
- };
967
- class MockRootLoggerService {
968
- #level;
969
- #meta;
970
- static create(options) {
971
- const level = options?.level ?? "none";
972
- if (!(level in levels)) {
973
- throw new Error(`Invalid log level '${level}'`);
974
- }
975
- return new MockRootLoggerService(levels[level], {});
976
- }
977
- error(message, meta) {
978
- this.#log("error", message, meta);
979
- }
980
- warn(message, meta) {
981
- this.#log("warn", message, meta);
982
- }
983
- info(message, meta) {
984
- this.#log("info", message, meta);
985
- }
986
- debug(message, meta) {
987
- this.#log("debug", message, meta);
988
- }
989
- child(meta) {
990
- return new MockRootLoggerService(this.#level, { ...this.#meta, ...meta });
991
- }
992
- constructor(level, meta) {
993
- this.#level = level;
994
- this.#meta = meta;
995
- }
996
- #log(level, message, meta) {
997
- const levelValue = levels[level] ?? 0;
998
- if (levelValue <= this.#level) {
999
- const labels = Object.entries(this.#meta).map(([key, value]) => `${key}=${value}`).join(",");
1000
- console[level](`${labels} ${message}`, meta);
1001
- }
1002
- }
1003
- }
1004
-
1005
958
  const DEFAULT_MOCK_USER_ENTITY_REF = "user:default/mock";
1006
959
  const DEFAULT_MOCK_SERVICE_SUBJECT = "external:test-service";
1007
960
  const MOCK_AUTH_COOKIE = "backstage-auth";
@@ -1317,6 +1270,64 @@ class MockHttpAuthService {
1317
1270
  }
1318
1271
  }
1319
1272
 
1273
+ class MockIdentityService {
1274
+ getIdentity(_options) {
1275
+ return Promise.resolve({
1276
+ token: "mock-token",
1277
+ identity: {
1278
+ type: "user",
1279
+ userEntityRef: "user:default/mock-user",
1280
+ ownershipEntityRefs: []
1281
+ }
1282
+ });
1283
+ }
1284
+ }
1285
+
1286
+ const levels = {
1287
+ none: 0,
1288
+ error: 1,
1289
+ warn: 2,
1290
+ info: 3,
1291
+ debug: 4
1292
+ };
1293
+ class MockRootLoggerService {
1294
+ #level;
1295
+ #meta;
1296
+ static create(options) {
1297
+ const level = options?.level ?? "none";
1298
+ if (!(level in levels)) {
1299
+ throw new Error(`Invalid log level '${level}'`);
1300
+ }
1301
+ return new MockRootLoggerService(levels[level], {});
1302
+ }
1303
+ error(message, meta) {
1304
+ this.#log("error", message, meta);
1305
+ }
1306
+ warn(message, meta) {
1307
+ this.#log("warn", message, meta);
1308
+ }
1309
+ info(message, meta) {
1310
+ this.#log("info", message, meta);
1311
+ }
1312
+ debug(message, meta) {
1313
+ this.#log("debug", message, meta);
1314
+ }
1315
+ child(meta) {
1316
+ return new MockRootLoggerService(this.#level, { ...this.#meta, ...meta });
1317
+ }
1318
+ constructor(level, meta) {
1319
+ this.#level = level;
1320
+ this.#meta = meta;
1321
+ }
1322
+ #log(level, message, meta) {
1323
+ const levelValue = levels[level] ?? 0;
1324
+ if (levelValue <= this.#level) {
1325
+ const labels = Object.entries(this.#meta).map(([key, value]) => `${key}=${value}`).join(",");
1326
+ console[level](`${labels} ${message}`, meta);
1327
+ }
1328
+ }
1329
+ }
1330
+
1320
1331
  class MockUserInfoService {
1321
1332
  customInfo;
1322
1333
  constructor(customInfo) {
@@ -1468,8 +1479,8 @@ exports.mockServices = void 0;
1468
1479
  listPublicServiceKeys: jest.fn()
1469
1480
  }));
1470
1481
  })(auth = mockServices2.auth || (mockServices2.auth = {}));
1471
- function discovery() {
1472
- return backendAppApi.HostDiscovery.fromConfig(
1482
+ function discovery$1() {
1483
+ return discovery.HostDiscovery.fromConfig(
1473
1484
  new config.ConfigReader({
1474
1485
  backend: {
1475
1486
  // Invalid port to make sure that requests are always mocked
@@ -1479,14 +1490,14 @@ exports.mockServices = void 0;
1479
1490
  })
1480
1491
  );
1481
1492
  }
1482
- mockServices2.discovery = discovery;
1493
+ mockServices2.discovery = discovery$1;
1483
1494
  ((discovery2) => {
1484
- discovery2.factory = backendAppApi.discoveryServiceFactory;
1495
+ discovery2.factory = discovery.discoveryServiceFactory;
1485
1496
  discovery2.mock = simpleMock(backendPluginApi.coreServices.discovery, () => ({
1486
1497
  getBaseUrl: jest.fn(),
1487
1498
  getExternalBaseUrl: jest.fn()
1488
1499
  }));
1489
- })(discovery = mockServices2.discovery || (mockServices2.discovery = {}));
1500
+ })(discovery$1 = mockServices2.discovery || (mockServices2.discovery = {}));
1490
1501
  function httpAuth(options) {
1491
1502
  return new MockHttpAuthService(
1492
1503
  options?.pluginId ?? "test",
@@ -1527,7 +1538,7 @@ exports.mockServices = void 0;
1527
1538
  }));
1528
1539
  })(userInfo = mockServices2.userInfo || (mockServices2.userInfo = {}));
1529
1540
  ((cache2) => {
1530
- cache2.factory = backendAppApi.cacheServiceFactory;
1541
+ cache2.factory = cache.cacheServiceFactory;
1531
1542
  cache2.mock = simpleMock(backendPluginApi.coreServices.cache, () => ({
1532
1543
  delete: jest.fn(),
1533
1544
  get: jest.fn(),
@@ -1536,54 +1547,54 @@ exports.mockServices = void 0;
1536
1547
  }));
1537
1548
  })(mockServices2.cache || (mockServices2.cache = {}));
1538
1549
  ((database2) => {
1539
- database2.factory = backendAppApi.databaseServiceFactory;
1550
+ database2.factory = database.databaseServiceFactory;
1540
1551
  database2.mock = simpleMock(backendPluginApi.coreServices.database, () => ({
1541
1552
  getClient: jest.fn()
1542
1553
  }));
1543
1554
  })(mockServices2.database || (mockServices2.database = {}));
1544
1555
  ((httpRouter2) => {
1545
- httpRouter2.factory = backendAppApi.httpRouterServiceFactory;
1556
+ httpRouter2.factory = httpRouter.httpRouterServiceFactory;
1546
1557
  httpRouter2.mock = simpleMock(backendPluginApi.coreServices.httpRouter, () => ({
1547
1558
  use: jest.fn(),
1548
1559
  addAuthPolicy: jest.fn()
1549
1560
  }));
1550
1561
  })(mockServices2.httpRouter || (mockServices2.httpRouter = {}));
1551
1562
  ((rootHttpRouter2) => {
1552
- rootHttpRouter2.factory = backendAppApi.rootHttpRouterServiceFactory;
1563
+ rootHttpRouter2.factory = rootHttpRouter.rootHttpRouterServiceFactory;
1553
1564
  rootHttpRouter2.mock = simpleMock(backendPluginApi.coreServices.rootHttpRouter, () => ({
1554
1565
  use: jest.fn()
1555
1566
  }));
1556
1567
  })(mockServices2.rootHttpRouter || (mockServices2.rootHttpRouter = {}));
1557
1568
  ((lifecycle2) => {
1558
- lifecycle2.factory = backendAppApi.lifecycleServiceFactory;
1569
+ lifecycle2.factory = lifecycle.lifecycleServiceFactory;
1559
1570
  lifecycle2.mock = simpleMock(backendPluginApi.coreServices.lifecycle, () => ({
1560
1571
  addShutdownHook: jest.fn(),
1561
1572
  addStartupHook: jest.fn()
1562
1573
  }));
1563
1574
  })(mockServices2.lifecycle || (mockServices2.lifecycle = {}));
1564
1575
  ((logger2) => {
1565
- logger2.factory = backendAppApi.loggerServiceFactory;
1576
+ logger2.factory = logger.loggerServiceFactory;
1566
1577
  logger2.mock = simpleMock(
1567
1578
  backendPluginApi.coreServices.logger,
1568
1579
  () => createLoggerMock()
1569
1580
  );
1570
1581
  })(mockServices2.logger || (mockServices2.logger = {}));
1571
1582
  ((permissions2) => {
1572
- permissions2.factory = backendAppApi.permissionsServiceFactory;
1583
+ permissions2.factory = permissions.permissionsServiceFactory;
1573
1584
  permissions2.mock = simpleMock(backendPluginApi.coreServices.permissions, () => ({
1574
1585
  authorize: jest.fn(),
1575
1586
  authorizeConditional: jest.fn()
1576
1587
  }));
1577
1588
  })(mockServices2.permissions || (mockServices2.permissions = {}));
1578
1589
  ((rootLifecycle2) => {
1579
- rootLifecycle2.factory = backendAppApi.rootLifecycleServiceFactory;
1590
+ rootLifecycle2.factory = rootLifecycle.rootLifecycleServiceFactory;
1580
1591
  rootLifecycle2.mock = simpleMock(backendPluginApi.coreServices.rootLifecycle, () => ({
1581
1592
  addShutdownHook: jest.fn(),
1582
1593
  addStartupHook: jest.fn()
1583
1594
  }));
1584
1595
  })(mockServices2.rootLifecycle || (mockServices2.rootLifecycle = {}));
1585
1596
  ((scheduler2) => {
1586
- scheduler2.factory = backendAppApi.schedulerServiceFactory;
1597
+ scheduler2.factory = scheduler.schedulerServiceFactory;
1587
1598
  scheduler2.mock = simpleMock(backendPluginApi.coreServices.scheduler, () => ({
1588
1599
  createScheduledTaskRunner: jest.fn(),
1589
1600
  getScheduledTasks: jest.fn(),
@@ -1592,7 +1603,7 @@ exports.mockServices = void 0;
1592
1603
  }));
1593
1604
  })(mockServices2.scheduler || (mockServices2.scheduler = {}));
1594
1605
  ((urlReader2) => {
1595
- urlReader2.factory = backendAppApi.urlReaderServiceFactory;
1606
+ urlReader2.factory = urlReader.urlReaderServiceFactory;
1596
1607
  urlReader2.mock = simpleMock(backendPluginApi.coreServices.urlReader, () => ({
1597
1608
  readTree: jest.fn(),
1598
1609
  readUrl: jest.fn(),