| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- // import {
- // vi,
- // beforeAll, beforeEach, afterEach,
- // describe, test, expect,
- // } from 'vitest';
- // 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', () => {
- // const initialEnv = process.env;
- // beforeAll(async() => {
- // await configManager.loadConfigs();
- // });
- // afterEach(() => {
- // process.env = initialEnv;
- // });
- // describe('isAclEnabled()', () => {
- // test('to be false when FORCE_WIKI_MODE is undefined', async() => {
- // delete process.env.FORCE_WIKI_MODE;
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isAclEnabled();
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isAclEnabled();
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isAclEnabled();
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isAclEnabled();
- // const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
- // expect(wikiMode).toBe('public');
- // expect(result).toBe(false);
- // });
- // });
- // describe('isWikiModeForced()', () => {
- // test('to be false when FORCE_WIKI_MODE is undefined', async() => {
- // delete process.env.FORCE_WIKI_MODE;
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isWikiModeForced();
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isWikiModeForced();
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isWikiModeForced();
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // const result = aclService.isWikiModeForced();
- // const wikiMode = configManager.getConfig('crowi', 'security:wikiMode');
- // expect(wikiMode).toBe('public');
- // expect(result).toBe(true);
- // });
- // });
- // describe('isGuestAllowedToRead()', () => {
- // let getConfigSpy;
- // 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';
- // // reload
- // await configManager.loadConfigs();
- // 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);
- // });
- // test('to be true when FORCE_WIKI_MODE=public', async() => {
- // process.env.FORCE_WIKI_MODE = 'public';
- // // reload
- // await configManager.loadConfigs();
- // 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);
- // });
- // /* 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();
- // // 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();
- // expect(getConfigSpy).toHaveBeenCalledTimes(2);
- // expect(getConfigSpy).toHaveBeenCalledWith('crowi', 'security:wikiMode');
- // expect(getConfigSpy).toHaveBeenCalledWith('crowi', 'security:restrictGuestMode');
- // expect(result).toBe(expected);
- // });
- // });
- // });
- // });
|