@@ -1569,11 +1569,31 @@ TEST_F(SshReverseTunnelClusterUnitTest, DeltaXdsConfigUpdate) {
15691569 auto * resource = resources.Add ();
15701570 envoy::config::endpoint::v3::ClusterLoadAssignment cluster_load_assignment;
15711571 cluster_load_assignment.set_cluster_name (" test_cluster" );
1572+
1573+ auto * endpoint = cluster_load_assignment.add_endpoints ()->add_lb_endpoints ();
1574+ pomerium::extensions::ssh::EndpointMetadata endpointMetadata;
1575+ endpointMetadata.mutable_matched_permission ()->set_requested_host (" example" );
1576+ endpointMetadata.mutable_matched_permission ()->set_requested_port (443 );
1577+ endpointMetadata.mutable_server_port ()->set_value (443 );
1578+ (*endpoint
1579+ ->mutable_metadata ()
1580+ ->mutable_typed_filter_metadata ())[" com.pomerium.ssh.endpoint" ]
1581+ .PackFrom (endpointMetadata);
1582+ endpoint->set_health_status (envoy::config::core::v3::HealthStatus::HEALTHY);
1583+ auto * socketAddress = endpoint->mutable_endpoint ()->mutable_address ()->mutable_socket_address ();
1584+ socketAddress->set_address (" ssh:123456" );
1585+ socketAddress->set_port_value (12345 );
1586+
15721587 resource->mutable_resource ()->PackFrom (cluster_load_assignment);
15731588 const auto decoded_resources =
15741589 TestUtility::decodeResources<envoy::config::endpoint::v3::ClusterLoadAssignment>(
15751590 resources, " cluster_name" );
1576- ASSERT_OK (reverseTunnelCluster->onConfigUpdate (decoded_resources.refvec_ , {}, " v1" ));
1591+ ASSERT_OK (reverseTunnelCluster->onConfigUpdate (decoded_resources.refvec_ , {}, " " ));
1592+ ASSERT_EQ (1 , reverseTunnelCluster->prioritySet ().crossPriorityHostMap ()->size ());
1593+ Protobuf::RepeatedPtrField<std::string> removed;
1594+ removed.Add (" test_cluster" );
1595+ ASSERT_OK (reverseTunnelCluster->onConfigUpdate ({}, removed, " " ));
1596+ ASSERT_EQ (0 , reverseTunnelCluster->prioritySet ().crossPriorityHostMap ()->size ());
15771597}
15781598
15791599} // namespace test
0 commit comments