Test stabilization: Limited window for possible race condition between server restart and availability check.

This commit is contained in:
Thorsten Eckel 2018-06-22 14:40:21 +02:00
parent db1378244c
commit 798add3642

View file

@ -1,5 +1,5 @@
class Widget extends App.Controller
errorCount: 0
serverRestarted: false
constructor: ->
super
@ -109,21 +109,24 @@ class Widget extends App.Controller
)
@delay(message, 2000)
checkAvailability: (delay) =>
checkAvailability: (timeout) =>
delay = =>
@ajax(
id: 'check_availability'
type: 'get'
url: "#{@apiPath}/available"
success: (data) =>
if @errorCount is 0
@checkAvailability()
return
if @serverRestarted
@windowReload()
error: =>
@errorCount += 1
return
@checkAvailability()
error: =>
@serverRestarted = true
@checkAvailability(2000)
)
@delay(delay, 2000)
timeout ?= 1000
@delay(delay, timeout)
App.Config.set('maintenance', Widget, 'Widgets')