Only use authenticated endpoints during EE integration testing (#3253)

## Issue Addressed

Failures in our CI integration tests for Geth.

## Proposed Changes

Only connect to the authenticated execution endpoints during execution tests.
This is necessary now that it is impossible to connect to the `engine` api on an unauthenticated endpoint.
See https://github.com/ethereum/go-ethereum/pull/24997

## Additional Info

As these tests break semi-regularly, I have kept logs enabled to ease future debugging.
I've also updated the Nethermind tests, although these weren't broken. This should future-proof us if Nethermind decides to follow suit with Geth
This commit is contained in:
Mac L 2022-06-09 10:47:03 +00:00
parent cfd26d25e0
commit 9c429d0764
4 changed files with 8 additions and 11 deletions

View File

@ -22,7 +22,6 @@ pub struct ExecutionEngine<E> {
engine: E, engine: E,
#[allow(dead_code)] #[allow(dead_code)]
datadir: TempDir, datadir: TempDir,
http_port: u16,
http_auth_port: u16, http_auth_port: u16,
child: Child, child: Child,
} }
@ -46,16 +45,11 @@ impl<E: GenericExecutionEngine> ExecutionEngine<E> {
Self { Self {
engine, engine,
datadir, datadir,
http_port,
http_auth_port, http_auth_port,
child, child,
} }
} }
pub fn http_url(&self) -> SensitiveUrl {
SensitiveUrl::parse(&format!("http://127.0.0.1:{}", self.http_port)).unwrap()
}
pub fn http_auth_url(&self) -> SensitiveUrl { pub fn http_auth_url(&self) -> SensitiveUrl {
SensitiveUrl::parse(&format!("http://127.0.0.1:{}", self.http_auth_port)).unwrap() SensitiveUrl::parse(&format!("http://127.0.0.1:{}", self.http_auth_port)).unwrap()
} }

View File

@ -15,7 +15,7 @@ use nethermind::NethermindEngine;
use test_rig::TestRig; use test_rig::TestRig;
/// Set to `false` to send logs to the console during tests. Logs are useful when debugging. /// Set to `false` to send logs to the console during tests. Logs are useful when debugging.
const SUPPRESS_LOGS: bool = true; const SUPPRESS_LOGS: bool = false;
fn main() { fn main() {
if cfg!(windows) { if cfg!(windows) {

View File

@ -75,7 +75,7 @@ impl GenericExecutionEngine for NethermindEngine {
fn start_client( fn start_client(
datadir: &TempDir, datadir: &TempDir,
http_port: u16, _http_port: u16,
http_auth_port: u16, http_auth_port: u16,
jwt_secret_path: PathBuf, jwt_secret_path: PathBuf,
) -> Child { ) -> Child {
@ -89,11 +89,14 @@ impl GenericExecutionEngine for NethermindEngine {
.arg("--Merge.TerminalTotalDifficulty") .arg("--Merge.TerminalTotalDifficulty")
.arg("0") .arg("0")
.arg("--JsonRpc.AdditionalRpcUrls") .arg("--JsonRpc.AdditionalRpcUrls")
.arg(format!("http://localhost:{}|http;ws|net;eth;subscribe;engine;web3;client|no-auth,http://localhost:{}|http;ws|net;eth;subscribe;engine;web3;client", http_port, http_auth_port)) .arg(format!(
"http://localhost:{}|http;ws|net;eth;subscribe;engine;web3;client",
http_auth_port
))
.arg("--JsonRpc.EnabledModules") .arg("--JsonRpc.EnabledModules")
.arg("net,eth,subscribe,web3,admin,engine") .arg("net,eth,subscribe,web3,admin,engine")
.arg("--JsonRpc.Port") .arg("--JsonRpc.Port")
.arg(http_port.to_string()) .arg(http_auth_port.to_string())
.arg("--Network.DiscoveryPort") .arg("--Network.DiscoveryPort")
.arg(network_port.to_string()) .arg(network_port.to_string())
.arg("--Network.P2PPort") .arg("--Network.P2PPort")

View File

@ -68,7 +68,7 @@ impl<E: GenericExecutionEngine> TestRig<E> {
let ee_b = { let ee_b = {
let execution_engine = ExecutionEngine::new(generic_engine); let execution_engine = ExecutionEngine::new(generic_engine);
let urls = vec![execution_engine.http_url()]; let urls = vec![execution_engine.http_auth_url()];
let config = execution_layer::Config { let config = execution_layer::Config {
execution_endpoints: urls, execution_endpoints: urls,