summaryrefslogtreecommitdiff
path: root/groot-bootstrap
diff options
context:
space:
mode:
authorwangkuan <[email protected]>2024-10-10 18:06:23 +0800
committerwangkuan <[email protected]>2024-10-10 18:06:23 +0800
commit917f76f0b606de313ccaf9d27b22652cd96a9c60 (patch)
tree7c1e4130844432c9f21d9985f3b6ba36c349b93a /groot-bootstrap
parent91e88a5720feb1a5f3dc38d7711a3961a8e0dbdf (diff)
[improve][bootstrap]新增UUID单元测试
Diffstat (limited to 'groot-bootstrap')
-rw-r--r--groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java3
-rw-r--r--groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml16
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: