import { datasourceToOsvEcosystem, githubEcosystemToDatasource, } from './ecosystem.ts'; describe('util/vulnerability/ecosystem', () => { describe('datasourceToOsvEcosystem', () => { it('maps crate datasource to crates.io ecosystem', () => { expect(datasourceToOsvEcosystem.crate).toBe('crates.io'); }); it('maps clojure datasource to Maven ecosystem', () => { expect(datasourceToOsvEcosystem.clojure).toBe('Maven'); }); it('maps go datasource to Go ecosystem', () => { expect(datasourceToOsvEcosystem.go).toBe('Go'); }); it('maps npm datasource to npm ecosystem', () => { expect(datasourceToOsvEcosystem.npm).toBe('npm'); }); it('maps pypi datasource to PyPI ecosystem', () => { expect(datasourceToOsvEcosystem.pypi).toBe('PyPI'); }); it('returns undefined for unknown datasource', () => { expect(datasourceToOsvEcosystem.unknown).toBeUndefined(); }); }); describe('githubEcosystemToDatasource', () => { it('maps actions to github-tags datasource', () => { expect(githubEcosystemToDatasource.actions).toEqual(['github-tags']); }); it('maps pip to pypi datasource', () => { expect(githubEcosystemToDatasource.pip).toEqual(['pypi']); }); it('maps rust to crate datasource', () => { expect(githubEcosystemToDatasource.rust).toEqual(['crate']); }); it('maps npm to npm datasource', () => { expect(githubEcosystemToDatasource.npm).toEqual(['npm']); }); it('maps composer to packagist datasource', () => { expect(githubEcosystemToDatasource.composer).toEqual(['packagist']); }); it('maps maven to both maven and clojure datasources', () => { expect(githubEcosystemToDatasource.maven).toEqual(['maven', 'clojure']); }); }); });