#!/usr/bin/env python3 """Test action mappings retrieval from SDK Bridge""" import sys import grpc import asyncio # Add protos path sys.path.append(r"C:\DEV\COPILOT\geutebruck-api\src\api") from protos import action_mapping_pb2, action_mapping_pb2_grpc async def test_action_mappings(): """Test action mapping retrieval""" print("Connecting to SDK Bridge on localhost:50051...") channel = grpc.aio.insecure_channel('localhost:50051') stub = action_mapping_pb2_grpc.ActionMappingServiceStub(channel) try: print("\nCalling GetActionMappings...") request = action_mapping_pb2.GetActionMappingsRequest(enabled_only=False) response = await stub.GetActionMappings(request, timeout=30.0) print(f"\n=== Results ===") print(f"Total mappings: {response.total_count}") print(f"Enabled: {response.enabled_count}") print(f"Disabled: {response.disabled_count}") if response.mappings: print(f"\nMappings found:") for mapping in response.mappings: print(f" - {mapping.name}: {mapping.input_action} -> {len(mapping.output_actions)} outputs") else: print("\nNo action mappings found") print("\nCheck the SDK Bridge logs for detailed information:") print(" C:\\DEV\\COPILOT\\geutebruck-api\\src\\sdk-bridge\\GeViScopeBridge\\bin\\Debug\\net8.0\\logs\\sdk-bridge-20251211.log") await channel.close() return True except grpc.RpcError as e: print(f"gRPC Error: {e}") return False except Exception as e: print(f"Error: {e}") import traceback traceback.print_exc() return False if __name__ == "__main__": asyncio.run(test_action_mappings())