Add temporary functiontal tests, that must be removed soon. Refactor tests: Remove outdated resource manager tests and add functional tests with Docker and Kafka integration - Deleted existing unit tests for ResourceManager. - Introduced new functional tests for single node operations with Redis and Kafka. - Added Docker Compose setup for test environment. - Implemented fixtures for Redis and Kafka consumers. - Created comprehensive tests for data publishing and slot management. - Added unit tests for DataManager and IngestorManager with mocked dependencies. - Included tests for OpcManager covering connection, subscription, and data change notifications.
79 lines
2.2 KiB
Python
79 lines
2.2 KiB
Python
import redis
|
|
import json
|
|
import os
|
|
|
|
# Redis connection settings
|
|
redis_host = "localhost"
|
|
redis_port = 6379
|
|
|
|
# Connect to Redis
|
|
r = redis.Redis(host=redis_host, port=redis_port, decode_responses=True)
|
|
|
|
# Define the key pattern to target
|
|
pattern = "slot:opc_tags:*"
|
|
|
|
# Step 1: Find and delete matching keys
|
|
print("🔍 Searching for keys matching:", pattern)
|
|
for key in r.scan_iter(match=pattern):
|
|
r.delete(key)
|
|
print(f"❌ Deleted: {key}")
|
|
|
|
# Step 2: Insert new data
|
|
# Example new OPC tag data
|
|
new_data = {
|
|
"slot:opc_tags:1": {
|
|
"server1": {
|
|
"name": "server1",
|
|
"url": "opc.tcp://simulator:4840",
|
|
"server_uri": "http://opcua-server.simulator",
|
|
"tags": {
|
|
'ns=2;i=2': {
|
|
'tag_name': 'Counter',
|
|
'frequency': 1000,
|
|
'topics': ['opcua', 'counter'],
|
|
},
|
|
'ns=2;i=3': {
|
|
'tag_name': 'Rollout',
|
|
'frequency': 1000,
|
|
"topics": ['opcua', 'rollout'],
|
|
},
|
|
'ns=2;i=4': {
|
|
'tag_name': 'Square',
|
|
'frequency': 1000,
|
|
"topics": ['opcua'],
|
|
},
|
|
}
|
|
}
|
|
},
|
|
"slot:opc_tags:2": {
|
|
"server2": {
|
|
"name": "server2",
|
|
"url": "opc.tcp://simulator:4840",
|
|
"server_uri": "http://opcua-server.simulator",
|
|
"tags": {
|
|
'ns=2;i=2': {
|
|
'tag_name': 'Counter',
|
|
'frequency': 1000,
|
|
'topics': ['opcua2', 'counter'],
|
|
},
|
|
'ns=2;i=3': {
|
|
'tag_name': 'Rollout',
|
|
'frequency': 1000,
|
|
"topics": ['opcua2', 'rollout'],
|
|
},
|
|
'ns=2;i=4': {
|
|
'tag_name': 'Square',
|
|
'frequency': 1000,
|
|
"topics": ['opcua2'],
|
|
},
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
for key, val in new_data.items():
|
|
r.set(key, json.dumps(val))
|
|
print(f"✅ Set: {key} -> {val}")
|
|
|
|
print("🚀 OPC tag keys replaced successfully.")
|