Skip to content

Commit 0f3de6d

Browse files
authored
chore(data-service): remove DataServiceImpl usage outside of package (#4109)
Other packages should rely on the interface, not the implementation.
1 parent 0922e66 commit 0f3de6d

File tree

4 files changed

+23
-24
lines changed

4 files changed

+23
-24
lines changed

packages/compass-import-export/src/import/import-csv.spec.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import temp from 'temp';
1616

1717
temp.track();
1818

19-
import { DataServiceImpl } from 'mongodb-data-service';
19+
import type { DataService } from 'mongodb-data-service';
20+
import { connect } from 'mongodb-data-service';
2021

2122
import { fixtures } from '../../test/fixtures';
2223

@@ -32,13 +33,13 @@ chai.use(sinonChai);
3233
chai.use(chaiAsPromised);
3334

3435
describe('importCSV', function () {
35-
let dataService: DataServiceImpl;
36+
let dataService: DataService;
3637
let dropCollection;
3738
let createCollection;
3839
let updateCollection: (ns: string, options: any) => Promise<Document>;
3940

4041
beforeEach(async function () {
41-
dataService = new DataServiceImpl({
42+
dataService = await connect({
4243
connectionString: 'mongodb://localhost:27018/local',
4344
});
4445

@@ -52,8 +53,6 @@ describe('importCSV', function () {
5253
dataService.updateCollection.bind(dataService)
5354
);
5455

55-
await dataService.connect();
56-
5756
try {
5857
await dropCollection('db.col');
5958
} catch (err) {

packages/compass-import-export/src/import/import-json.spec.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import temp from 'temp';
1515

1616
temp.track();
1717

18-
import { DataServiceImpl } from 'mongodb-data-service';
18+
import type { DataService } from 'mongodb-data-service';
19+
import { connect } from 'mongodb-data-service';
1920

2021
import { fixtures } from '../../test/fixtures';
2122

@@ -29,13 +30,13 @@ chai.use(sinonChai);
2930
chai.use(chaiAsPromised);
3031

3132
describe('importJSON', function () {
32-
let dataService: DataServiceImpl;
33+
let dataService: DataService;
3334
let dropCollection;
3435
let createCollection;
3536
let updateCollection: (ns: string, options: any) => Promise<Document>;
3637

3738
beforeEach(async function () {
38-
dataService = new DataServiceImpl({
39+
dataService = await connect({
3940
connectionString: 'mongodb://localhost:27018/local',
4041
});
4142

@@ -49,8 +50,6 @@ describe('importJSON', function () {
4950
dataService.updateCollection.bind(dataService)
5051
);
5152

52-
await dataService.connect();
53-
5453
try {
5554
await dropCollection('db.col');
5655
} catch (err) {

packages/compass-import-export/src/modules/export.spec.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import AppRegistry from 'hadron-app-registry';
99
import FILE_TYPES from '../constants/file-types';
1010
import reducer, * as actions from './export';
1111
import store from '../stores/export-store';
12-
import { DataServiceImpl } from 'mongodb-data-service';
12+
import { connect } from 'mongodb-data-service';
1313
import { promisify } from 'util';
1414
import { once } from 'events';
1515
import { dataServiceConnected, globalAppRegistryActivated } from './compass';
@@ -21,27 +21,29 @@ describe('export [module]', function () {
2121
describe('#reducer', function () {
2222
context('#startExport', function () {
2323
const globalAppRegistry = new AppRegistry();
24-
const dataService = new DataServiceImpl({
25-
connectionString: 'mongodb://localhost:27018/local',
26-
});
27-
const createCollection = promisify(dataService.createCollection).bind(
28-
dataService
29-
);
30-
const dropCollection = promisify(dataService.dropCollection).bind(
31-
dataService
32-
);
33-
const insertMany = promisify(dataService.insertMany).bind(dataService);
24+
let dataService;
3425
const TEST_COLLECTION_NAME = 'local.foobar';
3526

3627
afterEach(async function () {
28+
const dropCollection = promisify(dataService.dropCollection).bind(
29+
dataService
30+
);
31+
3732
await dropCollection(TEST_COLLECTION_NAME);
3833
await dataService.disconnect().catch((e) => {
3934
console.error('Failed to disconnet:', e);
4035
});
4136
});
4237

4338
beforeEach(async function () {
44-
await dataService.connect();
39+
dataService = await connect({
40+
connectionString: 'mongodb://localhost:27018/local',
41+
});
42+
43+
const createCollection = promisify(dataService.createCollection).bind(
44+
dataService
45+
);
46+
const insertMany = promisify(dataService.insertMany).bind(dataService);
4547

4648
await createCollection(TEST_COLLECTION_NAME, {});
4749
await insertMany(

packages/data-service/src/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ConnectionInfo, ConnectionFavoriteOptions } from './connection-info';
33
import { ConnectionOptions } from './connection-options';
44
import { ConnectionStorage } from './connection-storage';
55
import { getConnectionTitle } from './connection-title';
6-
import { DataService, DataServiceImpl } from './data-service';
6+
import { DataService } from './data-service';
77
import {
88
convertConnectionModelToInfo,
99
convertConnectionInfoToModel,
@@ -27,7 +27,6 @@ export {
2727
ConnectionOptions,
2828
ConnectionStorage,
2929
DataService,
30-
DataServiceImpl,
3130
connect,
3231
configuredKMSProviders,
3332
getConnectionTitle,

0 commit comments

Comments
 (0)