mirror of
https://github.com/QuiteAFancyEmerald/Holy-Unblocker.git
synced 2025-05-12 11:30:01 -04:00
fix: resolve github actions error
This commit is contained in:
parent
948b1a6127
commit
aac982ef04
1 changed files with 3 additions and 102 deletions
|
@ -312,111 +312,12 @@ xx xx
|
||||||
return uvTestPassed;
|
return uvTestPassed;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Scramjet
|
// Run tests for Rammerhead and Ultraviolet.
|
||||||
|
|
||||||
const testScramjet = async () => {
|
|
||||||
const omniboxId = 'pr-sj',
|
|
||||||
errorPrefix = 'failure',
|
|
||||||
// For the hacky URL test further below, use the URL page's EXACT title.
|
|
||||||
website = Object.freeze({
|
|
||||||
path: 'example.com',
|
|
||||||
title: 'Example Domain',
|
|
||||||
});
|
|
||||||
await page.goto('http://localhost:8080/scramjet');
|
|
||||||
const generatedUrl = await page.evaluate(
|
|
||||||
generateUrl,
|
|
||||||
omniboxId,
|
|
||||||
website.path,
|
|
||||||
errorPrefix
|
|
||||||
);
|
|
||||||
|
|
||||||
const testResults = await page.evaluate(
|
|
||||||
async (generatedUrl, pageTitle) => {
|
|
||||||
const results = [{}, {}];
|
|
||||||
|
|
||||||
await new Promise((resolve) => {
|
|
||||||
const waitForDocument = () => {
|
|
||||||
if (document.readyState === 'complete') resolve();
|
|
||||||
else window.addEventListener('load', resolve);
|
|
||||||
},
|
|
||||||
// Wait until a service worker is registered before continuing.
|
|
||||||
// Also check again to make sure the document is loaded.
|
|
||||||
waitForWorker = async () => {
|
|
||||||
setTimeout(async () => {
|
|
||||||
(await navigator.serviceWorker.getRegistrations()).length > 0
|
|
||||||
? waitForDocument()
|
|
||||||
: waitForWorker();
|
|
||||||
}, 1000);
|
|
||||||
};
|
|
||||||
|
|
||||||
waitForWorker();
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
results[0].scramjet = generatedUrl;
|
|
||||||
|
|
||||||
// Test to see if the document title for example.com has loaded,
|
|
||||||
// by appending an IFrame to the document and grabbing its content.
|
|
||||||
const testGeneratedUrlHacky = async (url) => {
|
|
||||||
const exampleIFrame = document.createElement('iframe');
|
|
||||||
const waitForDocument = new Promise((resolve) => {
|
|
||||||
document.documentElement.appendChild(exampleIFrame);
|
|
||||||
exampleIFrame.addEventListener('load', () => {
|
|
||||||
resolve(
|
|
||||||
exampleIFrame.contentWindow.document.title === pageTitle
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// Give 10 seconds for the IFrame to load before manually checking.
|
|
||||||
const timeout = new Promise((resolve) => {
|
|
||||||
setTimeout(() => {
|
|
||||||
resolve(
|
|
||||||
exampleIFrame.contentWindow.document.title === pageTitle
|
|
||||||
);
|
|
||||||
}, 10000);
|
|
||||||
});
|
|
||||||
|
|
||||||
exampleIFrame.src = url;
|
|
||||||
exampleIFrame.style.display = 'none';
|
|
||||||
return await Promise.race([waitForDocument, timeout]);
|
|
||||||
};
|
|
||||||
|
|
||||||
results[1].sjTestPassed =
|
|
||||||
!!results[0].scramjet.indexOf(errorPrefix) &&
|
|
||||||
(await testGeneratedUrlHacky(results[0].scramjet));
|
|
||||||
} catch (e) {
|
|
||||||
results[0].scramjet = errorPrefix + ': ' + e.message;
|
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
|
||||||
},
|
|
||||||
generatedUrl,
|
|
||||||
website.title,
|
|
||||||
errorPrefix
|
|
||||||
);
|
|
||||||
|
|
||||||
console.log('Scramjet test results:', testResults[0]);
|
|
||||||
const sjTestPassed =
|
|
||||||
testResults[0].scramjet &&
|
|
||||||
testResults[0].scramjet !== 'failure' &&
|
|
||||||
testResults[1].scramjet;
|
|
||||||
console.log(
|
|
||||||
'Scramjet test result:',
|
|
||||||
sjTestPassed ? 'success' : 'failure'
|
|
||||||
);
|
|
||||||
return sjTestPassed;
|
|
||||||
};
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Run tests for Rammerhead, Ultraviolet and Scramjet
|
|
||||||
const rammerheadPassed = await testRammerhead();
|
const rammerheadPassed = await testRammerhead();
|
||||||
const ultravioletPassed = await testUltraviolet();
|
const ultravioletPassed = await testUltraviolet();
|
||||||
//const scramjetPassed = await testScramjet();
|
|
||||||
|
|
||||||
if (rammerheadPassed && ultravioletPassed) {
|
if (rammerheadPassed && ultravioletPassed) {
|
||||||
console.log('All proxy endpoint tests passed.');
|
console.log('Both tests passed.');
|
||||||
process.exitCode = 0;
|
process.exitCode = 0;
|
||||||
} else {
|
} else {
|
||||||
console.error('Tests failed.');
|
console.error('Tests failed.');
|
||||||
|
@ -430,4 +331,4 @@ xx xx
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
testServerResponse();
|
testServerResponse();
|
Loading…
Add table
Add a link
Reference in a new issue