@@ -12,7 +12,7 @@ import {
1212} from '../../util'
1313import { dvcDemoPath , getTestWorkspaceFolder } from '../../../util'
1414import { ExperimentsData } from '../../../../experiments/data'
15- import * as Watcher from '../../../../fileSystem/watcher'
15+ import { fireWatcher } from '../../../../fileSystem/watcher'
1616import {
1717 AvailableCommands ,
1818 CommandId ,
@@ -26,7 +26,7 @@ import {
2626import { gitPath } from '../../../../cli/git/constants'
2727import * as FileSystem from '../../../../fileSystem'
2828import { ExperimentsModel } from '../../../../experiments/model'
29- import { EXPERIMENT_WORKSPACE_ID } from '../../../../cli/dvc/contract'
29+ import { DEFAULT_EXP_SHOW_OUTPUT } from '../../../../cli/dvc/contract'
3030import expShowFixture from '../../../fixtures/expShow/base/output'
3131import gitLogFixture from '../../../fixtures/expShow/base/gitLog'
3232import {
@@ -35,6 +35,7 @@ import {
3535} from '../../../../data'
3636import { Studio } from '../../../../experiments/studio'
3737import { DEFAULT_STUDIO_URL } from '../../../../setup/webview/contract'
38+ import { WATCHER_TEST_TIMEOUT } from '../../timeouts'
3839
3940const MOCK_WORKSPACE_GIT_FOLDER = join ( dvcDemoPath , '.mock-git' )
4041
@@ -119,7 +120,7 @@ suite('Experiments Data Test Suite', () => {
119120 return Promise . resolve ( '' )
120121 }
121122 if ( command === AvailableCommands . EXP_SHOW ) {
122- return Promise . resolve ( [ { rev : EXPERIMENT_WORKSPACE_ID } ] )
123+ return Promise . resolve ( DEFAULT_EXP_SHOW_OUTPUT )
123124 }
124125 if (
125126 command === AvailableCommands . GIT_GET_REMOTE_EXPERIMENT_REFS
@@ -145,31 +146,36 @@ suite('Experiments Data Test Suite', () => {
145146 )
146147 )
147148
148- await data . isReady ( )
149+ await new Promise ( resolve =>
150+ data . onDidUpdate ( data => {
151+ if ( isRemoteExperimentsOutput ( data ) ) {
152+ resolve ( undefined )
153+ }
154+ } )
155+ )
149156 bypassProcessManagerDebounce ( mockNow )
150157
151158 const managedUpdateSpy = spy ( data , 'managedUpdate' )
152159 const dataUpdatedEvent = getDataUpdatedEvent ( data )
153160
154- await Watcher . fireWatcher (
155- FileSystem . getGitPath ( gitRoot , gitPath . DOT_GIT_HEAD )
156- )
157- await dataUpdatedEvent
161+ await Promise . all ( [
162+ dataUpdatedEvent ,
163+ fireWatcher ( FileSystem . getGitPath ( gitRoot , gitPath . DOT_GIT_HEAD ) )
164+ ] )
158165
159166 expect ( managedUpdateSpy ) . to . be . called
160- } ) . timeout ( 10000 )
167+ } ) . timeout ( WATCHER_TEST_TIMEOUT )
161168
162169 it ( 'should watch the .git directory for updates when the directory is inside workspace' , async ( ) => {
163170 const mockNow = getMockNow ( )
171+ stub ( FileSystem , 'getGitPath' ) . returns ( MOCK_WORKSPACE_GIT_FOLDER )
164172 const gitRoot = dvcDemoPath
165173 const mockDotGitFilePath = join (
166174 MOCK_WORKSPACE_GIT_FOLDER ,
167175 gitPath . DOT_GIT_HEAD
168176 )
169177 ensureFileSync ( mockDotGitFilePath )
170178
171- stub ( FileSystem , 'getGitPath' ) . returns ( MOCK_WORKSPACE_GIT_FOLDER )
172-
173179 const data = disposable . track (
174180 new ExperimentsData (
175181 dvcDemoPath ,
@@ -186,7 +192,7 @@ suite('Experiments Data Test Suite', () => {
186192 return Promise . resolve ( '' )
187193 }
188194 if ( command === AvailableCommands . EXP_SHOW ) {
189- return Promise . resolve ( [ { rev : EXPERIMENT_WORKSPACE_ID } ] )
195+ return Promise . resolve ( DEFAULT_EXP_SHOW_OUTPUT )
190196 }
191197 if (
192198 command === AvailableCommands . GIT_GET_REMOTE_EXPERIMENT_REFS
@@ -212,18 +218,22 @@ suite('Experiments Data Test Suite', () => {
212218 )
213219 )
214220
215- await data . isReady ( )
221+ await new Promise ( resolve =>
222+ data . onDidUpdate ( data => {
223+ if ( isRemoteExperimentsOutput ( data ) ) {
224+ resolve ( undefined )
225+ }
226+ } )
227+ )
216228 bypassProcessManagerDebounce ( mockNow )
217229
218- const managedUpdateSpy = spy ( data , 'managedUpdate' )
219-
220230 const dataUpdatedEvent = getDataUpdatedEvent ( data )
231+ const managedUpdateSpy = spy ( data , 'managedUpdate' )
221232
222- await Watcher . fireWatcher ( mockDotGitFilePath )
223- await dataUpdatedEvent
233+ await Promise . all ( [ dataUpdatedEvent , fireWatcher ( mockDotGitFilePath ) ] )
224234
225235 expect ( managedUpdateSpy ) . to . be . called
226- } ) . timeout ( 20000 )
236+ } ) . timeout ( WATCHER_TEST_TIMEOUT )
227237
228238 it ( 'should prune any old branches to show before calling exp show on them' , async ( ) => {
229239 stub ( ExperimentsData . prototype , 'managedUpdate' ) . resolves ( )
0 commit comments