|
|
@@ -1,221 +1,221 @@
|
|
|
-// import {
|
|
|
-// vi,
|
|
|
-// beforeAll, beforeEach, afterEach,
|
|
|
-// describe, test, expect,
|
|
|
-// } from 'vitest';
|
|
|
+import {
|
|
|
+ vi,
|
|
|
+ beforeAll, beforeEach, afterEach,
|
|
|
+ describe, test, expect,
|
|
|
+} from 'vitest';
|
|
|
|
|
|
-// import { AclService } from './acl';
|
|
|
-// import { configManager } from './config-manager';
|
|
|
+import { AclService } from './acl';
|
|
|
+import { configManager } from './config-manager';
|
|
|
|
|
|
|
|
|
-// describe('AclService', () => {
|
|
|
-// test("has consts 'isLabeledStatement'", () => {
|
|
|
-// expect(AclService.labels.SECURITY_RESTRICT_GUEST_MODE_DENY).toBe('Deny');
|
|
|
-// expect(AclService.labels.SECURITY_RESTRICT_GUEST_MODE_READONLY).toBe('Readonly');
|
|
|
-// expect(AclService.labels.SECURITY_REGISTRATION_MODE_OPEN).toBe('Open');
|
|
|
-// expect(AclService.labels.SECURITY_REGISTRATION_MODE_RESTRICTED).toBe('Restricted');
|
|
|
-// expect(AclService.labels.SECURITY_REGISTRATION_MODE_CLOSED).toBe('Closed');
|
|
|
-// });
|
|
|
-// });
|
|
|
+describe('AclService', () => {
|
|
|
+ test("has consts 'isLabeledStatement'", () => {
|
|
|
+ expect(AclService.labels.SECURITY_RESTRICT_GUEST_MODE_DENY).toBe('Deny');
|
|
|
+ expect(AclService.labels.SECURITY_RESTRICT_GUEST_MODE_READONLY).toBe('Readonly');
|
|
|
+ expect(AclService.labels.SECURITY_REGISTRATION_MODE_OPEN).toBe('Open');
|
|
|
+ expect(AclService.labels.SECURITY_REGISTRATION_MODE_RESTRICTED).toBe('Restricted');
|
|
|
+ expect(AclService.labels.SECURITY_REGISTRATION_MODE_CLOSED).toBe('Closed');
|
|
|
+ });
|
|
|
+});
|
|
|
|
|
|
-// describe('AclService test', () => {
|
|
|
+describe('AclService test', () => {
|
|
|
|
|
|
-// const initialEnv = process.env;
|
|
|
+ const initialEnv = process.env;
|
|
|
|
|
|
-// beforeAll(async() => {
|
|
|
-// await configManager.loadConfigs();
|
|
|
-// });
|
|
|
+ beforeAll(async() => {
|
|
|
+ await configManager.loadConfigs();
|
|
|
+ });
|
|
|
|
|
|
-// afterEach(() => {
|
|
|
-// process.env = initialEnv;
|
|
|
-// });
|
|
|
+ afterEach(() => {
|
|
|
+ process.env = initialEnv;
|
|
|
+ });
|
|
|
|
|
|
-// describe('isAclEnabled()', () => {
|
|
|
+ describe('isAclEnabled()', () => {
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE is undefined', async() => {
|
|
|
-// delete process.env.FORCE_WIKI_MODE;
|
|
|
+ test('to be false when FORCE_WIKI_MODE is undefined', async() => {
|
|
|
+ delete process.env.FORCE_WIKI_MODE;
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isAclEnabled();
|
|
|
+ const result = AclService.isAclEnabled();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe(undefined);
|
|
|
-// expect(result).toBe(true);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe(undefined);
|
|
|
+ expect(result).toBe(true);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE is dummy string', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'dummy string';
|
|
|
+ test('to be false when FORCE_WIKI_MODE is dummy string', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'dummy string';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isAclEnabled();
|
|
|
+ const result = AclService.isAclEnabled();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('dummy string');
|
|
|
-// expect(result).toBe(true);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('dummy string');
|
|
|
+ expect(result).toBe(true);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be true when FORCE_WIKI_MODE=private', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'private';
|
|
|
+ test('to be true when FORCE_WIKI_MODE=private', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'private';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isAclEnabled();
|
|
|
+ const result = AclService.isAclEnabled();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('private');
|
|
|
-// expect(result).toBe(true);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('private');
|
|
|
+ expect(result).toBe(true);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE=public', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'public';
|
|
|
+ test('to be false when FORCE_WIKI_MODE=public', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'public';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isAclEnabled();
|
|
|
+ const result = AclService.isAclEnabled();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('public');
|
|
|
-// expect(result).toBe(false);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('public');
|
|
|
+ expect(result).toBe(false);
|
|
|
+ });
|
|
|
|
|
|
-// });
|
|
|
+ });
|
|
|
|
|
|
|
|
|
-// describe('isWikiModeForced()', () => {
|
|
|
+ describe('isWikiModeForced()', () => {
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE is undefined', async() => {
|
|
|
-// delete process.env.FORCE_WIKI_MODE;
|
|
|
+ test('to be false when FORCE_WIKI_MODE is undefined', async() => {
|
|
|
+ delete process.env.FORCE_WIKI_MODE;
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isWikiModeForced();
|
|
|
+ const result = AclService.isWikiModeForced();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe(undefined);
|
|
|
-// expect(result).toBe(false);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe(undefined);
|
|
|
+ expect(result).toBe(false);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE is dummy string', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'dummy string';
|
|
|
+ test('to be false when FORCE_WIKI_MODE is dummy string', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'dummy string';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isWikiModeForced();
|
|
|
+ const result = AclService.isWikiModeForced();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('dummy string');
|
|
|
-// expect(result).toBe(false);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('dummy string');
|
|
|
+ expect(result).toBe(false);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be true when FORCE_WIKI_MODE=private', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'private';
|
|
|
+ test('to be true when FORCE_WIKI_MODE=private', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'private';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isWikiModeForced();
|
|
|
+ const result = AclService.isWikiModeForced();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('private');
|
|
|
-// expect(result).toBe(true);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('private');
|
|
|
+ expect(result).toBe(true);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE=public', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'public';
|
|
|
+ test('to be false when FORCE_WIKI_MODE=public', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'public';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isWikiModeForced();
|
|
|
+ const result = AclService.isWikiModeForced();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('public');
|
|
|
-// expect(result).toBe(true);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('public');
|
|
|
+ expect(result).toBe(true);
|
|
|
+ });
|
|
|
|
|
|
-// });
|
|
|
+ });
|
|
|
|
|
|
|
|
|
-// describe('isGuestAllowedToRead()', () => {
|
|
|
-// let getConfigSpy;
|
|
|
+ describe('isGuestAllowedToRead()', () => {
|
|
|
+ let getConfigSpy;
|
|
|
|
|
|
-// beforeEach(async() => {
|
|
|
-// // prepare spy for ConfigManager.getConfig
|
|
|
-// getConfigSpy = vi.spyOn(configManager, 'getConfig');
|
|
|
-// });
|
|
|
+ beforeEach(async() => {
|
|
|
+ // prepare spy for ConfigManager.getConfig
|
|
|
+ getConfigSpy = vi.spyOn(configManager, 'getConfig');
|
|
|
+ });
|
|
|
|
|
|
-// test('to be false when FORCE_WIKI_MODE=private', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'private';
|
|
|
+ test('to be false when FORCE_WIKI_MODE=private', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'private';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isGuestAllowedToRead();
|
|
|
+ const result = AclService.isGuestAllowedToRead();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('private');
|
|
|
-// expect(getConfigSpy).not.toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
|
|
|
-// expect(result).toBe(false);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('private');
|
|
|
+ expect(getConfigSpy).not.toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
|
|
|
+ expect(result).toBe(false);
|
|
|
+ });
|
|
|
|
|
|
-// test('to be true when FORCE_WIKI_MODE=public', async() => {
|
|
|
-// process.env.FORCE_WIKI_MODE = 'public';
|
|
|
+ test('to be true when FORCE_WIKI_MODE=public', async() => {
|
|
|
+ process.env.FORCE_WIKI_MODE = 'public';
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// const result = AclService.isGuestAllowedToRead();
|
|
|
+ const result = AclService.isGuestAllowedToRead();
|
|
|
|
|
|
-// const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
-// expect(wikiMode).toBe('public');
|
|
|
-// expect(getConfigSpy).not.toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
|
|
|
-// expect(result).toBe(true);
|
|
|
-// });
|
|
|
+ const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
+ expect(wikiMode).toBe('public');
|
|
|
+ expect(getConfigSpy).not.toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
|
|
|
+ expect(result).toBe(true);
|
|
|
+ });
|
|
|
|
|
|
-// /* eslint-disable indent */
|
|
|
-// describe.each`
|
|
|
-// restrictGuestMode | expected
|
|
|
-// ${undefined} | ${false}
|
|
|
-// ${'Deny'} | ${false}
|
|
|
-// ${'Readonly'} | ${true}
|
|
|
-// ${'Open'} | ${false}
|
|
|
-// ${'Restricted'} | ${false}
|
|
|
-// ${'closed'} | ${false}
|
|
|
-// `('to be $expected', ({ restrictGuestMode, expected }) => {
|
|
|
-// test(`when FORCE_WIKI_MODE is undefined and 'security:restrictGuestMode' is '${restrictGuestMode}`, async() => {
|
|
|
+ /* eslint-disable indent */
|
|
|
+ describe.each`
|
|
|
+ restrictGuestMode | expected
|
|
|
+ ${undefined} | ${false}
|
|
|
+ ${'Deny'} | ${false}
|
|
|
+ ${'Readonly'} | ${true}
|
|
|
+ ${'Open'} | ${false}
|
|
|
+ ${'Restricted'} | ${false}
|
|
|
+ ${'closed'} | ${false}
|
|
|
+ `('to be $expected', ({ restrictGuestMode, expected }) => {
|
|
|
+ test(`when FORCE_WIKI_MODE is undefined and 'security:restrictGuestMode' is '${restrictGuestMode}`, async() => {
|
|
|
|
|
|
-// // reload
|
|
|
-// await configManager.loadConfigs();
|
|
|
+ // reload
|
|
|
+ await configManager.loadConfigs();
|
|
|
|
|
|
-// // setup mock implementation
|
|
|
-// getConfigSpy.mockImplementation((ns, key) => {
|
|
|
-// if (ns === 'crowi' && key === 'security:restrictGuestMode') {
|
|
|
-// return restrictGuestMode;
|
|
|
-// }
|
|
|
-// if (ns === 'crowi' && key === 'security:wikiMode') {
|
|
|
-// return undefined;
|
|
|
-// }
|
|
|
-// throw new Error('Unexpected behavior.');
|
|
|
-// });
|
|
|
+ // setup mock implementation
|
|
|
+ getConfigSpy.mockImplementation((ns, key) => {
|
|
|
+ if (ns === 'crowi' && key === 'security:restrictGuestMode') {
|
|
|
+ return restrictGuestMode;
|
|
|
+ }
|
|
|
+ if (ns === 'crowi' && key === 'security:wikiMode') {
|
|
|
+ return undefined;
|
|
|
+ }
|
|
|
+ throw new Error('Unexpected behavior.');
|
|
|
+ });
|
|
|
|
|
|
-// const result = AclService.isGuestAllowedToRead();
|
|
|
+ const result = AclService.isGuestAllowedToRead();
|
|
|
|
|
|
-// expect(getConfigSpy).toHaveBeenCalledTimes(2);
|
|
|
-// expect(getConfigSpy).toHaveBeenCalledWith('crowi', 'security:wikiMode');
|
|
|
-// expect(getConfigSpy).toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
|
|
|
-// expect(result).toBe(expected);
|
|
|
-// });
|
|
|
-// });
|
|
|
+ expect(getConfigSpy).toHaveBeenCalledTimes(2);
|
|
|
+ expect(getConfigSpy).toHaveBeenCalledWith('crowi', 'security:wikiMode');
|
|
|
+ expect(getConfigSpy).toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
|
|
|
+ expect(result).toBe(expected);
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
-// });
|
|
|
+ });
|
|
|
|
|
|
|
|
|
-// });
|
|
|
+});
|