1- #!/usr/bin/env python3
2- import requests
1+ import json
2+ import subprocess
33import time
44
5+ import requests
6+
57
68def send_opa_decision_request ():
79 response = requests .post ("http://test-opa-server:8081/v1/data/test/world" )
@@ -10,43 +12,38 @@ def send_opa_decision_request():
1012
1113
1214def check_sent_events ():
13- response = requests .post (
14- "http://opa-vector-aggregator:8686/graphql" ,
15- json = {
16- "query" : """
17- {
18- transforms(first:100) {
19- nodes {
20- componentId
21- metrics {
22- sentEventsTotal {
23- sentEventsTotal
24- }
25- }
26- }
27- }
28- }
29- """
30- },
31- )
32-
33- assert response .status_code == 200 , (
34- "Cannot access the API of the vector aggregator."
15+ response = subprocess .run (
16+ [
17+ "grpcurl" ,
18+ "-plaintext" ,
19+ "-d" ,
20+ '{"limit": 100}' ,
21+ "opa-vector-aggregator:8686" ,
22+ "vector.observability.v1.ObservabilityService/GetComponents" ,
23+ ],
24+ capture_output = True ,
25+ text = True ,
26+ check = True , # Raise a CalledProcessError if non-zero return
27+ timeout = 20 , # seconds
3528 )
29+ result = json .loads (response .stdout )
30+ components = result .get ("components" , [])
31+ transforms = [
32+ c for c in components if c .get ("componentType" ) == "COMPONENT_TYPE_TRANSFORM"
33+ ]
3634
37- result = response . json ()
35+ assert len ( transforms ) > 0 , "No transform components found"
3836
39- transforms = result ["data" ]["transforms" ]["nodes" ]
4037 for transform in transforms :
4138 sentEvents = transform ["metrics" ]["sentEventsTotal" ]
4239 componentId = transform ["componentId" ]
4340
4441 if componentId == "filteredInvalidEvents" :
45- assert sentEvents is None or sentEvents [ "sentEventsTotal" ] == 0 , (
42+ assert sentEvents is None or int ( sentEvents ) == 0 , (
4643 "Invalid log events were sent."
4744 )
4845 else :
49- assert sentEvents is not None and sentEvents [ "sentEventsTotal" ] > 0 , (
46+ assert sentEvents is not None and int ( sentEvents ) > 0 , (
5047 f'No events were sent in "{ componentId } ".'
5148 )
5249
0 commit comments