diff options
| author | wangkuan <[email protected]> | 2024-10-10 18:06:23 +0800 |
|---|---|---|
| committer | wangkuan <[email protected]> | 2024-10-10 18:06:23 +0800 |
| commit | 917f76f0b606de313ccaf9d27b22652cd96a9c60 (patch) | |
| tree | 7c1e4130844432c9f21d9985f3b6ba36c349b93a | |
| parent | 91e88a5720feb1a5f3dc38d7711a3961a8e0dbdf (diff) | |
[improve][bootstrap]新增UUID单元测试
| -rw-r--r-- | groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java | 3 | ||||
| -rw-r--r-- | groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml | 16 |
2 files changed, 19 insertions, 0 deletions
diff --git a/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java b/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java index a6516d6..5f9117d 100644 --- a/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java +++ b/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java @@ -71,6 +71,9 @@ public class JobEtlTest { Assert.assertEquals("[2600:1015:b002::,255.255.255.255]", CollectSink.values.get(0).getExtractedFields().get("ip_string").toString()); Assert.assertEquals("hello", CollectSink.values.get(0).getExtractedFields().get("mail_attachment_name").toString()); Assert.assertEquals("MULTIPATH_ETHERNET", CollectSink.values.get(0).getExtractedFields().get("tunnels_schema_type").toString()); + Assert.assertEquals(36, CollectSink.values.get(0).getExtractedFields().get("log_uuid").toString().length()); + Assert.assertEquals(36, CollectSink.values.get(0).getExtractedFields().get("log_uuid_v7").toString().length()); + Assert.assertEquals("b9dd71a2-ddcc-5707-9073-30ec900d5c8b", CollectSink.values.get(0).getExtractedFields().get("ip_uuid").toString()); } diff --git a/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml b/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml index 9724e21..aa27209 100644 --- a/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml +++ b/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml @@ -101,6 +101,10 @@ processing_pipelines: output_fields: [ ingestion_time ] parameters: value_expression: recv_time + - function: EVAL + output_fields: [internal_ip] + parameters: + value_expression: "(direction == 'Outbound')? client_ip : server_ip" - function: DOMAIN lookup_fields: [ http_host,ssl_sni,dtls_sni,quic_sni ] output_fields: [ server_domain ] @@ -141,6 +145,18 @@ processing_pipelines: # tags: tags rename_expression: key =string.replace_all(key,'encapsulation.0.','');return key; + - function: UUIDv5 + lookup_fields: [ client_ip, server_ip ] # 基于 client_ip, server_ip的值组成UUIDv5 name 参数值与命名空间结合后,通过哈希生成唯一的 UUID。 + output_fields: [ ip_uuid ] + parameters: + namespace: NAMESPACE_IP + - function: UUIDv7 + output_fields: [ log_uuid_v7 ] # 生成基于时间戳和随机数的 UUID + - function: UUID + output_fields: [ log_uuid ] + + + sinks: kafka_sink_a: |
