ui: Default test latency to 0 (#8640)

During development a HTTP request will pause for 1 minute ONLY when an
?index is set. This gives a realistic emulation of blocking queries.

During testing we can change this latency when we are testing blocking
queries, which we do in numerous places.

A problem can arise during testing on a very slow machine.

If you are not testing blocking queries and therefore not set a latency
to test with, if the machine you are testing on is slow enough a normal
page can assert during a test, yet not tear down before a further
blocking query request is made. This blocking query then uses the default
latency which cause the page to hang for 1 minute, which in turn causes
the test to timeout.

This only seems to happen on a very slow system, but it does potentially
explain why we occasionally see the odd flakey test popping up.
This commit is contained in:
John Cowen 2020-09-09 18:51:18 +01:00 committed by GitHub
parent b8439e2023
commit 5268841eac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 0 deletions

View File

@ -18,6 +18,9 @@ const reset = function() {
list.add(item);
});
};
const startup = function() {
api.server.setCookie('CONSUL_LATENCY', 0);
};
const runTest = function(context, libraries, steps, scenarioContext) {
return new Promise((resolve, reject) => {
@ -89,6 +92,9 @@ export const setupFeature = function(featureAnnotations) {
};
export const setupScenario = function(featureAnnotations, scenarioAnnotations) {
return function(model) {
model.beforeEach(function() {
startup();
});
model.afterEach(function() {
reset();
});