Skip to content

Commit

Permalink
[tasks/lib/packages] do not include kibana in "installed packages"
Browse files Browse the repository at this point in the history
  • Loading branch information
spalger committed May 23, 2017
1 parent 8f7f7f0 commit 756c1e9
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 1 deletion.
1 change: 1 addition & 0 deletions tasks/lib/packages/__tests__/fixtures/fixture1/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log('I am fixture 1');
8 changes: 8 additions & 0 deletions tasks/lib/packages/__tests__/fixtures/fixture1/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "fixture1",
"version": "0.0.1",
"license": "MIT",
"dependencies": {
"dep1": "0.0.2"
}
}
59 changes: 59 additions & 0 deletions tasks/lib/packages/__tests__/installed_packages.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import { resolve } from 'path';

import { uniq } from 'lodash';
import expect from 'expect.js';

import { getInstalledPackages } from '../installed_packages';

const KIBANA_ROOT = resolve(__dirname, '../../../../');
const FIXTURE1_ROOT = resolve(__dirname, 'fixtures/fixture1');

describe('tasks/lib/packages', () => {
describe('getInstalledPackages()', function () {

let kibanaPackages;
let fixture1Packages;
before(async function () {
this.timeout(30 * 1000);
[kibanaPackages, fixture1Packages] = await Promise.all([
getInstalledPackages({
directory: KIBANA_ROOT
}),
getInstalledPackages({
directory: FIXTURE1_ROOT
}),
]);
});

it('requires a directory', async () => {
try {
await getInstalledPackages({});
throw new Error('expected getInstalledPackages() to reject');
} catch (err) {
expect(err.message).to.contain('directory');
}
});

it('reads all installed packages of a module', () => {
expect(fixture1Packages).to.eql([
{
name: 'dep1',
version: '0.0.2',
licenses: [ 'Apache-2.0' ],
directory: resolve(FIXTURE1_ROOT, 'node_modules/dep1'),
relative: 'node_modules/dep1',
}
]);
});

it('returns a single entry for every package/version combo', () => {
const tags = kibanaPackages.map(pkg => `${pkg.name}@${pkg.version}`);
expect(tags).to.eql(uniq(tags));
});

it('does not include root package in the list', async () => {
expect(kibanaPackages.find(pkg => pkg.name === 'kibana')).to.be(undefined);
expect(fixture1Packages.find(pkg => pkg.name === 'fixture1')).to.be(undefined);
});
});
});
3 changes: 2 additions & 1 deletion tasks/lib/packages/installed_packages.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,6 @@ export async function getInstalledPackages(options = {}) {
directory: realPath,
relative: relative(directory, realPath)
};
});
})
.filter(pkg => pkg.directory !== directory);
}

0 comments on commit 756c1e9

Please sign in to comment.