44//
55import * as assert from "assert" ;
66import * as vscode from "vscode" ;
7- import * as path from "path" ;
8- import nock from "nock" ;
7+ import * as nodePath from 'path' ;
98//
109import * as extension from "../../extension" ;
1110import { ExtensionInterface } from "../../interfaces/DeepCodeInterfaces" ;
1211
13- // mocked data for tests
14- const testHost = "http://localhost:3000" ;
15- const testHostPrefix = "/publicapi" ;
16- const testToken = "TEST_TOKEN" ;
17- const testBundleId = "testBundleId" ;
1812const mockedTestFilesDirPath = __dirname . replace ( "out/test" , "src/test" ) ;
19- const mockedFolderPath = vscode . Uri . parse (
20- "scheme:" + path . join ( mockedTestFilesDirPath , "/../mocked_data" ) ,
21- true
22- ) . fsPath ;
23-
24- // mocked server
25- const mockedServer = nock ( `${ testHost } ${ testHostPrefix } ` , {
26- reqheaders : {
27- "Session-Token" : testToken
28- }
29- } ) ;
30- // mocked server responses
31- const mockedServerBundleWithMissingFiles = {
32- statusCode : 200 ,
33- bundleId : testBundleId ,
34- missingFiles : [ "/sample_repository/sub_folder/test2.js" ]
35- } ;
36- const mockedCheckedBundle = { statusCode : 200 , bundleId : testBundleId } ;
37- const mockedFilesFiltersResponse = { extensions : [ ".js" ] , configFiles : [ ] } ;
38- const mockedAnalysisResults = {
39- status : "DONE" ,
40- progress : 1.0 ,
41- analysisResults : {
42- files : { "/main.js" : { "0" : [ { rows : [ 1 , 2 ] , cols : [ 3 , 4 ] } ] } } ,
43- suggestions : {
44- "0" : { message : "some message" , severity : 1 }
45- }
46- } ,
47- analysisURL : "test_analysis_url"
48- } ;
49- // mocked endpoints
50- mockedServer . get ( '/session' ) . query ( true ) . reply ( 200 , { type : "private" } ) ;
51- mockedServer . get ( '/filters' ) . reply ( 200 , mockedFilesFiltersResponse ) ;
52- mockedServer
53- . post ( "/bundle" )
54- . matchHeader ( "Content-Type" , "application/json" )
55- . reply ( 200 , mockedServerBundleWithMissingFiles ) ;
56- mockedServer
57- . post ( `/file/${ testBundleId } ` )
58- . matchHeader ( "Content-Type" , "application/json;charset=utf-8" )
59- . reply ( 200 ) ;
60- mockedServer . get ( `/bundle/${ testBundleId } ` ) . reply ( 200 , mockedCheckedBundle ) ;
61- mockedServer . get ( `/analysis/${ testBundleId } ` ) . reply ( 200 , mockedAnalysisResults ) ;
13+ const mockedFolderPath = vscode . Uri . parse ( 'scheme:' + nodePath . join ( mockedTestFilesDirPath , '/../mocked_data' ) , true )
14+ . fsPath ;
6215
6316// pre test configuring extension
6417const preTestConfigureExtension = ( ) => {
@@ -76,17 +29,9 @@ const preTestConfigureExtension = () => {
7629 return testExtension ;
7730} ;
7831
79- const uri = vscode . Uri . file (
80- path . join ( mockedTestFilesDirPath , "../mocked_data/sample_repository" , "main.js" ) ,
81- ) ;
32+ const uri = vscode . Uri . file ( nodePath . join ( mockedTestFilesDirPath , '../mocked_data/sample_repository' , 'main.js' ) ) ;
8233
8334const testIgnoreComment = ' // deepcode ignore UseStrictEquality: <please specify a reason of ignoring this>\n' ;
84- const testFilesList = [
85- '/../mocked_data/sample_repository/utf8.js' ,
86- '/../mocked_data/sample_repository/main.js' ,
87- '/../mocked_data/sample_repository/sub_folder/test2.js' ,
88- '/../mocked_data/test.java' ,
89- ] ;
9035
9136suite ( "Deepcode Extension Tests" , ( ) => {
9237 let testExtension : ExtensionInterface ;
0 commit comments