Skip to content

Commit 03fce6d

Browse files
cosmo0920edsiper
authored andcommitted
tests: integration: Add an integration test for reamining metadata on upstream
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
1 parent 9ad9dca commit 03fce6d

2 files changed

Lines changed: 66 additions & 0 deletions

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
service:
2+
flush: 1
3+
log_level: info
4+
http_server: on
5+
http_port: ${FLUENT_BIT_HTTP_MONITORING_PORT}
6+
7+
pipeline:
8+
inputs:
9+
- name: opentelemetry
10+
port: ${FLUENT_BIT_TEST_LISTENER_PORT}
11+
http2: off
12+
tls: off
13+
profiles_support: true
14+
15+
outputs:
16+
- name: forward
17+
match: '*'
18+
host: 127.0.0.1
19+
port: ${FORWARD_RECEIVER_PORT}
20+
send_options: true
21+
retain_metadata_in_forward_mode: true
22+
require_ack_response: true

tests/integration/scenarios/in_forward/tests/test_in_forward_001.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -924,6 +924,50 @@ def test_out_forward_logs_signal_e2e_with_forward_receiver():
924924
assert "This is another example log message." in log_bodies
925925

926926

927+
def test_out_forward_logs_signal_e2e_with_forward_receiver_retain_metadata():
928+
service = ForwardReceiverService(
929+
"in_opentelemetry_to_forward_receiver_retain_metadata.yaml"
930+
)
931+
service.start()
932+
933+
try:
934+
service.send_json_as_otel_protobuf("test_logs_001.in.json", "logs")
935+
messages = service.wait_for_forward_messages(1)
936+
finally:
937+
service.stop()
938+
939+
message = messages[0]
940+
_assert_forward_signal_message(message, expected_tag="v1_logs", expected_signal=0)
941+
assert len(message["records"]) > 0
942+
943+
schema_metadata_count = 0
944+
otlp_metadata_count = 0
945+
empty_metadata_count = 0
946+
947+
for record in message["records"]:
948+
metadata = record["metadata"]
949+
950+
assert isinstance(metadata, dict)
951+
952+
if "schema" in metadata:
953+
assert metadata["schema"] == "otlp"
954+
assert metadata["resource_id"] in (0, 1)
955+
assert metadata["scope_id"] in (0, 1)
956+
schema_metadata_count += 1
957+
elif "otlp" in metadata:
958+
assert metadata["otlp"]["severity_number"] == 9
959+
assert metadata["otlp"]["severity_text"] == "INFO"
960+
assert metadata["otlp"]["attributes"]["example_key"] == "example_value"
961+
otlp_metadata_count += 1
962+
else:
963+
assert metadata == {}
964+
empty_metadata_count += 1
965+
966+
assert schema_metadata_count > 0
967+
assert otlp_metadata_count > 0
968+
assert empty_metadata_count > 0
969+
970+
927971
def test_out_forward_metrics_signal_e2e_with_forward_receiver():
928972
service = ForwardReceiverService("in_opentelemetry_to_forward_receiver.yaml")
929973
service.start()

0 commit comments

Comments
 (0)