@@ -14,7 +14,7 @@ import { Runtime } from '../src/models/platform';
14
14
import * as path from 'path' ;
15
15
import { ILogger } from '../src/models/interfaces' ;
16
16
import { Logger } from '../src/models/logger' ;
17
- import * as fse from 'fs-extra ' ;
17
+ import * as fs from 'fs/promises ' ;
18
18
19
19
interface IFixture {
20
20
downloadUrl : string ;
@@ -47,7 +47,7 @@ suite('ServiceDownloadProvider Tests', () => {
47
47
config . setup ( x => x . getSqlToolsPackageVersion ( ) ) . returns ( ( ) => expectedVersionFromConfig ) ;
48
48
let downloadProvider = new ServiceDownloadProvider ( config . object , undefined , testStatusView . object ,
49
49
testHttpClient . object , testDecompressProvider . object ) ;
50
- let actual = downloadProvider . getInstallDirectory ( Runtime . OSX_10_11_64 ) ;
50
+ let actual = downloadProvider . getOrMakeInstallDirectory ( Runtime . OSX_10_11_64 ) ;
51
51
assert . equal ( expected , actual ) ;
52
52
done ( ) ;
53
53
} ) ;
@@ -62,7 +62,7 @@ suite('ServiceDownloadProvider Tests', () => {
62
62
config . setup ( x => x . getSqlToolsPackageVersion ( ) ) . returns ( ( ) => expectedVersionFromConfig ) ;
63
63
let downloadProvider = new ServiceDownloadProvider ( config . object , undefined , testStatusView . object ,
64
64
testHttpClient . object , testDecompressProvider . object ) ;
65
- let actual = downloadProvider . getInstallDirectory ( Runtime . OSX_10_11_64 ) ;
65
+ let actual = downloadProvider . getOrMakeInstallDirectory ( Runtime . OSX_10_11_64 ) ;
66
66
assert . equal ( expected , actual ) ;
67
67
done ( ) ;
68
68
} ) ;
@@ -77,7 +77,7 @@ suite('ServiceDownloadProvider Tests', () => {
77
77
config . setup ( x => x . getSqlToolsPackageVersion ( ) ) . returns ( ( ) => expectedVersionFromConfig ) ;
78
78
let downloadProvider = new ServiceDownloadProvider ( config . object , undefined , testStatusView . object ,
79
79
testHttpClient . object , testDecompressProvider . object ) ;
80
- let actual = downloadProvider . getInstallDirectory ( Runtime . OSX_10_11_64 ) ;
80
+ let actual = downloadProvider . getOrMakeInstallDirectory ( Runtime . OSX_10_11_64 ) ;
81
81
assert . equal ( expected , actual ) ;
82
82
done ( ) ;
83
83
} ) ;
@@ -92,7 +92,7 @@ suite('ServiceDownloadProvider Tests', () => {
92
92
config . setup ( x => x . getSqlToolsPackageVersion ( ) ) . returns ( ( ) => expectedVersionFromConfig ) ;
93
93
let downloadProvider = new ServiceDownloadProvider ( config . object , undefined , testStatusView . object ,
94
94
testHttpClient . object , testDecompressProvider . object ) ;
95
- let actual = downloadProvider . getInstallDirectory ( Runtime . OSX_10_11_64 ) ;
95
+ let actual = downloadProvider . getOrMakeInstallDirectory ( Runtime . OSX_10_11_64 ) ;
96
96
assert . equal ( expected , actual ) ;
97
97
done ( ) ;
98
98
} ) ;
@@ -114,18 +114,18 @@ suite('ServiceDownloadProvider Tests', () => {
114
114
} ) ;
115
115
} ) ;
116
116
117
- function createDownloadProvider ( fixture : IFixture ) : IFixture {
117
+ async function createDownloadProvider ( fixture : IFixture ) : Promise < IFixture > {
118
118
let fileName = 'fileName' ;
119
119
let baseDownloadUrl = 'baseDownloadUrl/{#version#}/{#fileName#}' ;
120
120
let version = '1.0.0' ;
121
121
let installFolder = path . join ( __dirname , 'testService' ) ;
122
122
let fileNamesJson = { Windows_7_64 : `${ fileName } ` } ;
123
123
let downloadUrl = 'baseDownloadUrl/1.0.0/fileName' ;
124
- fse . remove ( installFolder , function ( err ) : void {
125
- if ( err ) {
126
- return console . error ( err ) ;
127
- }
128
- } ) ;
124
+ try {
125
+ await fs . rmdir ( installFolder ) ;
126
+ } catch ( err ) {
127
+ console . error ( err ) ;
128
+ }
129
129
130
130
config . setup ( x => x . getSqlToolsInstallDirectory ( ) ) . returns ( ( ) => installFolder ) ;
131
131
config . setup ( x => x . getSqlToolsConfigValue ( 'downloadFileNames' ) ) . returns ( ( ) => fileNamesJson ) ;
@@ -151,15 +151,15 @@ suite('ServiceDownloadProvider Tests', () => {
151
151
return fixture ;
152
152
}
153
153
154
- test ( 'installSQLToolsService should download and decompress the service and update the status' , ( ) => {
154
+ test ( 'installSQLToolsService should download and decompress the service and update the status' , async ( ) => {
155
155
let fixture : IFixture = {
156
156
downloadUrl : undefined ,
157
157
downloadProvider : undefined ,
158
158
downloadResult : Promise . resolve ( ) ,
159
159
decompressResult : Promise . resolve ( )
160
160
} ;
161
161
162
- fixture = createDownloadProvider ( fixture ) ;
162
+ fixture = await createDownloadProvider ( fixture ) ;
163
163
return fixture . downloadProvider . installSQLToolsService ( Runtime . Windows_7_64 ) . then ( _ => {
164
164
testHttpClient . verify ( x => x . downloadFile ( fixture . downloadUrl , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) ,
165
165
TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) ) ,
@@ -172,15 +172,15 @@ suite('ServiceDownloadProvider Tests', () => {
172
172
} ) ;
173
173
174
174
// @cssuh 10/22 - commented this test because it was throwing some random undefined errors
175
- test . skip ( 'installSQLToolsService should not call decompress if download fails' , ( ) => {
175
+ test . skip ( 'installSQLToolsService should not call decompress if download fails' , async ( ) => {
176
176
let fixture : IFixture = {
177
177
downloadUrl : undefined ,
178
178
downloadProvider : undefined ,
179
179
downloadResult : Promise . reject ( 'download failed' ) ,
180
180
decompressResult : Promise . resolve ( )
181
181
} ;
182
182
183
- fixture = createDownloadProvider ( fixture ) ;
183
+ fixture = await createDownloadProvider ( fixture ) ;
184
184
return fixture . downloadProvider . installSQLToolsService ( Runtime . Windows_7_64 ) . catch ( _ => {
185
185
testHttpClient . verify ( x => x . downloadFile ( fixture . downloadUrl , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) ,
186
186
TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) ) ,
@@ -192,15 +192,15 @@ suite('ServiceDownloadProvider Tests', () => {
192
192
} ) ;
193
193
} ) ;
194
194
195
- test . skip ( 'installSQLToolsService should not update status to installed decompress fails' , ( ) => {
195
+ test . skip ( 'installSQLToolsService should not update status to installed decompress fails' , async ( ) => {
196
196
let fixture : IFixture = {
197
197
downloadUrl : undefined ,
198
198
downloadProvider : undefined ,
199
199
downloadResult : Promise . resolve ( ) ,
200
200
decompressResult : Promise . reject ( 'download failed' )
201
201
} ;
202
202
203
- fixture = createDownloadProvider ( fixture ) ;
203
+ fixture = await createDownloadProvider ( fixture ) ;
204
204
return fixture . downloadProvider . installSQLToolsService ( Runtime . Windows_7_64 ) . catch ( _ => {
205
205
testHttpClient . verify ( x => x . downloadFile ( fixture . downloadUrl , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) ,
206
206
TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) , TypeMoq . It . isAny ( ) ) ,
0 commit comments