mongodb-build-info
Advanced tools
Comparing version 1.6.2 to 1.7.0
@@ -8,2 +8,4 @@ export declare function getDataLake(buildInfo: any): { | ||
export declare function isAtlas(uri: string): boolean; | ||
type IsLocalAtlasCountFn = (db: string, ns: string, query: Record<string, any>) => Promise<number>; | ||
export declare function isLocalAtlas(countFn: IsLocalAtlasCountFn): Promise<boolean>; | ||
export declare function isAtlasStream(uri: string): boolean; | ||
@@ -10,0 +12,0 @@ export declare function isLocalhost(uri: string): boolean; |
18
index.js
@@ -62,2 +62,8 @@ const { default: ConnectionString } = require('mongodb-connection-string-url'); | ||
function isLocalAtlas(countFn) { | ||
return countFn('admin', 'atlascli', { | ||
managedClusterType: 'atlasCliLocalDevCluster' | ||
}).then(count => count > 0).catch(() => false); | ||
} | ||
function isAtlasStream(uri) { | ||
@@ -107,2 +113,12 @@ const host = getHostnameFromUrl(uri); | ||
module.exports = { getDataLake, isEnterprise, isAtlas, isAtlasStream, isLocalhost, isDigitalOcean, getGenuineMongoDB, getBuildEnv }; | ||
module.exports = { | ||
getDataLake, | ||
isEnterprise, | ||
isAtlas, | ||
isLocalAtlas, | ||
isAtlasStream, | ||
isLocalhost, | ||
isDigitalOcean, | ||
getGenuineMongoDB, | ||
getBuildEnv | ||
}; |
{ | ||
"name": "mongodb-build-info", | ||
"version": "1.6.2", | ||
"version": "1.7.0", | ||
"description": "Extract information from mongodb's buildInfo", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -47,2 +47,5 @@ # mongodb-build-info | ||
### isLocalAtlas(count: (db: string, coll: string, query: Document) => Promise\<number\>) | ||
Returns a Promise\<boolean\>. | ||
### isAtlasStream(uri) | ||
@@ -49,0 +52,0 @@ Returns a boolean. |
const expect = require('chai').expect; | ||
const fixtures = require('./fixtures'); | ||
const isAtlas = require('../.').isAtlas; | ||
const isAtlasStream = require('../.').isAtlasStream; | ||
const getDataLake = require('../.').getDataLake; | ||
const isLocalhost = require('../.').isLocalhost; | ||
const isDigitalOcean = require('../.').isDigitalOcean; | ||
const getBuildEnv = require('../.').getBuildEnv; | ||
const isEnterprise = require('../.').isEnterprise; | ||
const getGenuineMongoDB = require('../.').getGenuineMongoDB; | ||
const { | ||
isAtlas, | ||
isAtlasStream, | ||
getDataLake, | ||
isLocalhost, | ||
isLocalAtlas, | ||
isDigitalOcean, | ||
getBuildEnv, | ||
isEnterprise, | ||
getGenuineMongoDB, | ||
} = require('..'); | ||
@@ -98,2 +101,36 @@ describe('mongodb-build-info', () => { | ||
context('isLocalAtlas', () => { | ||
it('calls counts function with expected args', (done) => { | ||
isLocalAtlas((db, coll, query) => { | ||
expect(db).to.equal('admin'); | ||
expect(coll).to.equal('atlascli'); | ||
expect(query).to.deep.equal({ | ||
managedClusterType: 'atlasCliLocalDevCluster' | ||
}); | ||
done(); | ||
}); | ||
}); | ||
it('returns false when count resolves to 0', (done) => { | ||
isLocalAtlas(() => Promise.resolve(0)) | ||
.then(res => { | ||
expect(res).to.be.false; | ||
done(); | ||
}); | ||
}); | ||
it('returns false when count throws', (done) => { | ||
isLocalAtlas(() => Promise.reject('No such db')) | ||
.then(res => { | ||
expect(res).to.be.false; | ||
done(); | ||
}); | ||
}); | ||
it('returns true when count resolves to 1', (done) => { | ||
isLocalAtlas(() => Promise.resolve(1)) | ||
.then(res => { | ||
expect(res).to.be.true; | ||
done(); | ||
}); | ||
}); | ||
}); | ||
context('isAtlasStream', () => { | ||
@@ -100,0 +137,0 @@ it('reports on atlas', () => { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
35009
512
78