import { DataSourceId, isDataSourceId, parseDataSourceId } from '@cloudpss/resource-types/datasource'; describe('DataSourceId', () => { it('DataSourceId', () => { expect(DataSourceId('o', 'k')).toEqual('datasource/o/k'); expect(DataSourceId('datasource/o/k')).toEqual('datasource/o/k'); expect(() => DataSourceId('xx/o/k')).toThrow('"xx/o/k" is not an valid resource id of "datasource"'); }); it('isDataSourceId', () => { expect(isDataSourceId('datasource/o/k')).toEqual(true); expect(isDataSourceId('xx/o/k')).toEqual(false); }); it('parseDataSourceId', () => { expect(parseDataSourceId('datasource/o/k')).toEqual({ type: 'datasource', owner: 'o', key: 'k', }); expect(parseDataSourceId('xx/o/k')).toBeUndefined(); }); });