()
| 52 | |
| 53 | #[tokio::test] |
| 54 | async fn default_config_basic() { |
| 55 | let bind_resolver = HelperBindResolver::new(&["fake_upstream", "inflow:tcp"], &[]).await; |
| 56 | let mut upstream = FakeWireUpstream::new("fake_upstream", bind_resolver.clone()).await; |
| 57 | let helper = Helper::new( |
| 58 | &fmt!( |
| 59 | DEFAULT_CONFIG, |
| 60 | bind_resolver.local_tcp_addr("fake_upstream") |
| 61 | ), |
| 62 | bind_resolver.clone(), |
| 63 | ) |
| 64 | .await; |
| 65 | let mut stream = TcpStream::connect(bind_resolver.local_tcp_addr("inflow:tcp")) |
| 66 | .await |
| 67 | .unwrap(); |
| 68 | |
| 69 | let lines = vec!["request.count 1001 source=server-0\n"]; |
| 70 | write_all(&mut stream, &lines).await; |
| 71 | |
| 72 | assert_eq!( |
| 73 | clean_timestamps(parse_carbon_metrics(&lines)), |
| 74 | clean_timestamps(upstream.wait_for_metrics().await) |
| 75 | ); |
| 76 | |
| 77 | helper |
| 78 | .stats_helper() |
| 79 | .wait_for_counter_eq( |
| 80 | 1, |
| 81 | "pulse_proxy:pipeline:messages_outgoing", |
| 82 | &labels! {"src" => "tcp", "src_type" => "outflow", "status" => "success"}, |
| 83 | ) |
| 84 | .await; |
| 85 | |
| 86 | helper.shutdown().await; |
| 87 | } |
| 88 | |
| 89 | #[tokio::test] |
| 90 | async fn default_config_invalid_lines() { |
nothing calls this directly
no test coverage detected