@into-cps-association/libms 0.5.0 → 0.5.2

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.
Files changed (83) hide show
  1. package/DEVELOPER.md +11 -29
  2. package/README.md +64 -35
  3. package/config/http.json +1 -0
  4. package/config/libms.yaml.default +12 -0
  5. package/dist/src/app.module.js +5 -6
  6. package/dist/src/app.module.js.map +1 -1
  7. package/dist/src/bootstrap.js +11 -21
  8. package/dist/src/bootstrap.js.map +1 -1
  9. package/dist/src/config/config.interface.d.ts +14 -0
  10. package/dist/src/config/config.interface.js +2 -0
  11. package/dist/src/config/config.interface.js.map +1 -0
  12. package/dist/src/config/config.model.d.ts +14 -0
  13. package/dist/src/config/config.model.js +2 -0
  14. package/dist/src/config/config.model.js.map +1 -0
  15. package/dist/src/config/config.module.d.ts +2 -0
  16. package/dist/src/config/config.module.js +33 -0
  17. package/dist/src/config/config.module.js.map +1 -0
  18. package/dist/src/config/config.service.d.ts +17 -0
  19. package/dist/src/config/config.service.js +61 -0
  20. package/dist/src/config/config.service.js.map +1 -0
  21. package/dist/src/config/util.d.ts +1 -0
  22. package/dist/src/config/util.js +5 -0
  23. package/dist/src/config/util.js.map +1 -0
  24. package/dist/src/files/files-service.factory.d.ts +2 -2
  25. package/dist/src/files/files-service.factory.js +4 -1
  26. package/dist/src/files/files-service.factory.js.map +1 -1
  27. package/dist/src/files/files.module.js +2 -2
  28. package/dist/src/files/files.module.js.map +1 -1
  29. package/dist/src/files/git/git-files.service.d.ts +4 -2
  30. package/dist/src/files/git/git-files.service.js +31 -20
  31. package/dist/src/files/git/git-files.service.js.map +1 -1
  32. package/dist/src/files/interfaces/files.service.interface.d.ts +1 -0
  33. package/dist/src/files/local/local-files.service.d.ts +3 -2
  34. package/dist/src/files/local/local-files.service.js +12 -4
  35. package/dist/src/files/local/local-files.service.js.map +1 -1
  36. package/dist/src/main.d.ts +4 -1
  37. package/dist/test/cloudcmd/cloudcmd.spec.js +3 -3
  38. package/dist/test/cloudcmd/cloudcmd.spec.js.map +1 -1
  39. package/dist/test/e2e/app.e2e.spec.js +18 -12
  40. package/dist/test/e2e/app.e2e.spec.js.map +1 -1
  41. package/dist/test/integration/files.service.integration.spec.js +6 -6
  42. package/dist/test/integration/files.service.integration.spec.js.map +1 -1
  43. package/dist/test/testUtil.d.ts +7 -1
  44. package/dist/test/testUtil.js +20 -17
  45. package/dist/test/testUtil.js.map +1 -1
  46. package/dist/test/unit/files-service.factory.unit.spec.js +20 -8
  47. package/dist/test/unit/files-service.factory.unit.spec.js.map +1 -1
  48. package/dist/test/unit/files.resolver.unit.spec.js +1 -0
  49. package/dist/test/unit/files.resolver.unit.spec.js.map +1 -1
  50. package/dist/test/unit/git-files.service.unit.spec.js +6 -5
  51. package/dist/test/unit/git-files.service.unit.spec.js.map +1 -1
  52. package/dist/test/unit/local-files.service.unit.spec.js +36 -21
  53. package/dist/test/unit/local-files.service.unit.spec.js.map +1 -1
  54. package/dist/tsconfig.tsbuildinfo +1 -1
  55. package/eslint.config.js +5 -0
  56. package/libms.yaml.sample +12 -0
  57. package/package.json +10 -8
  58. package/src/app.module.ts +6 -7
  59. package/src/bootstrap.ts +14 -21
  60. package/src/config/config.interface.ts +14 -0
  61. package/src/config/config.model.ts +13 -0
  62. package/src/config/config.module.ts +23 -0
  63. package/src/config/config.service.ts +54 -0
  64. package/src/config/util.ts +5 -0
  65. package/src/files/files-service.factory.ts +5 -3
  66. package/src/files/files.module.ts +3 -3
  67. package/src/files/git/git-files.service.ts +28 -21
  68. package/src/files/interfaces/files.service.interface.ts +1 -0
  69. package/src/files/local/local-files.service.ts +13 -4
  70. package/src/main.ts +1 -1
  71. package/test/cloudcmd/cloudcmd.spec.ts +4 -4
  72. package/test/data/user2/tools/large_file.md +1 -0
  73. package/test/e2e/app.e2e.spec.ts +23 -13
  74. package/test/integration/files.service.integration.spec.ts +9 -10
  75. package/test/jest-e2e.json +3 -0
  76. package/test/libms.test.yaml +6 -0
  77. package/test/testUtil.ts +23 -19
  78. package/test/unit/files-service.factory.unit.spec.ts +22 -11
  79. package/test/unit/files.resolver.unit.spec.ts +1 -0
  80. package/test/unit/git-files.service.unit.spec.ts +6 -5
  81. package/test/unit/local-files.service.unit.spec.ts +41 -25
  82. package/test/update-config.js +25 -0
  83. package/config/.env.default +0 -6
@@ -1,10 +1,10 @@
1
1
  import { describe, it, expect, jest } from '@jest/globals';
2
2
  import { Test } from '@nestjs/testing';
3
- import { ConfigService } from '@nestjs/config';
4
3
  import * as fs from 'fs';
5
4
  import { join } from 'path';
6
5
  import LocalFilesService from '../../src/files/local/local-files.service';
7
- import { fstestFileContent, pathToTestDirectory, pathToTestFileContent, testFileArray, MockConfigService, testFileName, } from '../testUtil';
6
+ import { fstestFileContent, pathToTestDirectory, pathToTestFileContent, testFileName, pathToLargeTestFileContent, largeFstestFileContent, largeTestFileName, jestMockConfigService, testFileArray, } from '../testUtil';
7
+ import { CONFIG_SERVICE } from 'src/config/config.interface';
8
8
  jest.mock('fs', () => ({
9
9
  promises: {
10
10
  readdir: jest.fn(),
@@ -14,12 +14,13 @@ jest.mock('fs', () => ({
14
14
  }));
15
15
  describe('LocalFilesService', () => {
16
16
  let service;
17
- const mockConfigService = new MockConfigService();
17
+ let mockConfigService;
18
18
  beforeEach(async () => {
19
+ mockConfigService = jestMockConfigService();
19
20
  const module = await Test.createTestingModule({
20
21
  providers: [
21
22
  LocalFilesService,
22
- { provide: ConfigService, useValue: mockConfigService },
23
+ { provide: CONFIG_SERVICE, useValue: mockConfigService },
23
24
  ],
24
25
  }).compile();
25
26
  service = module.get(LocalFilesService);
@@ -31,7 +32,7 @@ describe('LocalFilesService', () => {
31
32
  expect(service).toBeDefined();
32
33
  });
33
34
  it('should list directory', async () => {
34
- const fullPath = join(mockConfigService.get('LOCAL_PATH'), pathToTestDirectory);
35
+ const fullPath = join(mockConfigService.getLocalPath(), pathToTestDirectory);
35
36
  const statsMock = {
36
37
  isDirectory: () => true,
37
38
  };
@@ -60,24 +61,38 @@ describe('LocalFilesService', () => {
60
61
  expect(fs.promises.readdir).toHaveBeenCalledWith(fullPath);
61
62
  expect(fs.promises.lstat).toHaveBeenCalledTimes(testFileArray.length);
62
63
  });
63
- it('should read file', async () => {
64
- const fullPath = join(mockConfigService.get('LOCAL_PATH'), pathToTestFileContent);
65
- jest.spyOn(fs.promises, 'readFile').mockResolvedValue(fstestFileContent);
66
- const result = await service.readFile(pathToTestFileContent);
67
- expect(result).toEqual({
68
- repository: {
69
- blobs: {
70
- nodes: [
71
- {
72
- name: testFileName,
73
- rawBlob: fstestFileContent,
74
- rawTextBlob: fstestFileContent,
75
- },
76
- ],
64
+ const readTestFile = [
65
+ {
66
+ name: largeTestFileName,
67
+ filePath: pathToLargeTestFileContent,
68
+ expectedContent: largeFstestFileContent,
69
+ },
70
+ {
71
+ name: testFileName,
72
+ filePath: pathToTestFileContent,
73
+ expectedContent: fstestFileContent,
74
+ },
75
+ ];
76
+ readTestFile.forEach(({ name, filePath, expectedContent }) => {
77
+ it(`should read file ${name}`, async () => {
78
+ const fullPath = join(mockConfigService.getLocalPath(), filePath);
79
+ jest.spyOn(fs.promises, 'readFile').mockResolvedValue(expectedContent);
80
+ const result = await service.readFile(filePath);
81
+ expect(result).toEqual({
82
+ repository: {
83
+ blobs: {
84
+ nodes: [
85
+ {
86
+ name: name,
87
+ rawBlob: expectedContent,
88
+ rawTextBlob: expectedContent,
89
+ },
90
+ ],
91
+ },
77
92
  },
78
- },
93
+ });
94
+ expect(fs.promises.readFile).toHaveBeenCalledWith(fullPath, 'utf8');
79
95
  });
80
- expect(fs.promises.readFile).toHaveBeenCalledWith(fullPath, 'utf8');
81
96
  });
82
97
  });
83
98
  //# sourceMappingURL=local-files.service.unit.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-files.service.unit.spec.js","sourceRoot":"","sources":["../../../test/unit/local-files.service.unit.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-files.service.unit.spec.js","sourceRoot":"","sources":["../../../test/unit/local-files.service.unit.spec.ts"],"names":[],"mappings":"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"}