diff --git a/common/src/subgraph_client/client.rs b/common/src/subgraph_client/client.rs index b5acbd38..78fc2839 100644 --- a/common/src/subgraph_client/client.rs +++ b/common/src/subgraph_client/client.rs @@ -21,12 +21,13 @@ pub struct DeploymentDetails { impl DeploymentDetails { pub fn for_graph_node( + graph_node_status_url: &str, graph_node_base_url: &str, deployment: DeploymentId, ) -> Result { Ok(Self { deployment: Some(deployment), - status_url: Some(Url::parse(&format!("{graph_node_base_url}/status"))?), + status_url: Some(Url::parse(graph_node_status_url)?), query_url: Url::parse(&format!("{graph_node_base_url}/subgraphs/id/{deployment}"))?, }) } @@ -206,8 +207,8 @@ mod test { let deployment = DeploymentId::from_str("QmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA").unwrap(); - let mock_server_local = MockServer::start().await; - mock_server_local + let mock_server_status = MockServer::start().await; + mock_server_status .register( Mock::given(method("POST")) .and(path("/status")) @@ -223,6 +224,8 @@ mod test { }))), ) .await; + + let mock_server_local = MockServer::start().await; mock_server_local .register( Mock::given(method("POST")) @@ -255,7 +258,14 @@ mod test { // Create the subgraph client let client = SubgraphClient::new( reqwest::Client::new(), - Some(DeploymentDetails::for_graph_node(&mock_server_local.uri(), deployment).unwrap()), + Some( + DeploymentDetails::for_graph_node( + &mock_server_status.uri(), + &mock_server_local.uri(), + deployment, + ) + .unwrap(), + ), DeploymentDetails::for_query_url(&format!( "{}/subgraphs/id/{}", mock_server_remote.uri(), @@ -278,8 +288,8 @@ mod test { let deployment = DeploymentId::from_str("QmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA").unwrap(); - let mock_server_local = MockServer::start().await; - mock_server_local + let mock_server_status = MockServer::start().await; + mock_server_status .register( Mock::given(method("POST")) .and(path("/status")) @@ -288,13 +298,15 @@ mod test { "indexingStatuses": [ { "synced": true, - "health": "unhealthy" + "health": "healthy" } ] } }))), ) .await; + + let mock_server_local = MockServer::start().await; mock_server_local .register( Mock::given(method("POST")) @@ -327,7 +339,14 @@ mod test { // Create the subgraph client let client = SubgraphClient::new( reqwest::Client::new(), - Some(DeploymentDetails::for_graph_node(&mock_server_local.uri(), deployment).unwrap()), + Some( + DeploymentDetails::for_graph_node( + &mock_server_status.uri(), + &mock_server_local.uri(), + deployment, + ) + .unwrap(), + ), DeploymentDetails::for_query_url(&format!( "{}/subgraphs/id/{}", mock_server_remote.uri(), @@ -350,8 +369,8 @@ mod test { let deployment = DeploymentId::from_str("QmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA").unwrap(); - let mock_server_local = MockServer::start().await; - mock_server_local + let mock_server_status = MockServer::start().await; + mock_server_status .register( Mock::given(method("POST")) .and(path("/status")) @@ -359,7 +378,7 @@ mod test { "data": { "indexingStatuses": [ { - "synced": false, + "synced": true, "health": "healthy" } ] @@ -367,6 +386,8 @@ mod test { }))), ) .await; + + let mock_server_local = MockServer::start().await; mock_server_local .register( Mock::given(method("POST")) @@ -399,7 +420,14 @@ mod test { // Create the subgraph client let client = SubgraphClient::new( reqwest::Client::new(), - Some(DeploymentDetails::for_graph_node(&mock_server_local.uri(), deployment).unwrap()), + Some( + DeploymentDetails::for_graph_node( + &mock_server_status.uri(), + &mock_server_local.uri(), + deployment, + ) + .unwrap(), + ), DeploymentDetails::for_query_url(&format!( "{}/subgraphs/id/{}", mock_server_remote.uri(), diff --git a/service/src/main.rs b/service/src/main.rs index 4ba70d5f..18731e3c 100644 --- a/service/src/main.rs +++ b/service/src/main.rs @@ -82,6 +82,7 @@ async fn main() -> Result<(), std::io::Error> { .network_subgraph_deployment .map(|deployment| { DeploymentDetails::for_graph_node( + &config.indexer_infrastructure.graph_node_status_endpoint, &config.indexer_infrastructure.graph_node_query_endpoint, deployment, ) @@ -128,6 +129,7 @@ async fn main() -> Result<(), std::io::Error> { .escrow_subgraph_deployment .map(|deployment| { DeploymentDetails::for_graph_node( + &config.indexer_infrastructure.graph_node_status_endpoint, &config.indexer_infrastructure.graph_node_query_endpoint, deployment, )