Skip to main content
Glama
test_advanced_track_operations.py4.38 kB
"""Test cases for advanced track operations""" import pytest from .conftest import call_tool, reaper_available @pytest.mark.integration @pytest.mark.skipif(not reaper_available(), reason="REAPER not available") class TestAdvancedTrackOperations: """Test advanced track operations""" @pytest.fixture(autouse=True) def setup_teardown(self, mock_project): """Ensure clean state for each test""" pass def test_get_track_receive_count(self, mock_project): """Test getting track receive count""" # Create two tracks result = call_tool("insert_track", {"index": 0}) assert result["success"] result = call_tool("insert_track", {"index": 1}) assert result["success"] # Get receive count (should be 0 initially) result = call_tool("get_track_receive_count", {"track_index": 1}) assert result["success"] assert "0 receives" in result["result"] # Test master track result = call_tool("get_track_receive_count", {"track_index": -1}) assert result["success"] def test_get_track_receive_info(self, mock_project): """Test getting track receive information""" # Create tracks and add a send/receive result = call_tool("insert_track", {"index": 0}) assert result["success"] result = call_tool("insert_track", {"index": 1}) assert result["success"] # Create a send from track 0 to track 1 result = call_tool("create_track_send", {"src_track_index": 0, "dest_track_index": 1}) assert result["success"] # Get receive info result = call_tool("get_track_receive_info", {"track_index": 1, "receive_index": 0}) assert result["success"] assert "Volume:" in result["result"] assert "Pan:" in result["result"] def test_get_track_guid(self, mock_project): """Test getting track GUID""" # Create a track result = call_tool("insert_track", {"index": 0}) assert result["success"] # Get track GUID result = call_tool("get_track_guid", {"track_index": 0}) assert result["success"] assert "GUID:" in result["result"] assert len(result["result"].split("GUID: ")[1]) > 0 # Test master track GUID result = call_tool("get_track_guid", {"track_index": -1}) assert result["success"] assert "GUID:" in result["result"] def test_get_track_from_guid(self, mock_project): """Test getting track by GUID""" # Create a track with a name result = call_tool("insert_track", {"index": 0}) assert result["success"] result = call_tool("set_track_name", {"track_index": 0, "name": "Test Track"}) assert result["success"] # Get its GUID result = call_tool("get_track_guid", {"track_index": 0}) assert result["success"] guid = result["result"].split("GUID: ")[1] # Find track by GUID result = call_tool("get_track_from_guid", {"guid": guid}) assert result["success"] assert "Test Track" in result["result"] assert "index 0" in result["result"] def test_master_track_guid_lookup(self, mock_project): """Test master track GUID lookup""" # Get master track GUID result = call_tool("get_track_guid", {"track_index": -1}) assert result["success"] guid = result["result"].split("GUID: ")[1] # Find master track by GUID result = call_tool("get_track_from_guid", {"guid": guid}) assert result["success"] assert "Master Track" in result["result"] assert "index -1" in result["result"] def test_invalid_track_operations(self, mock_project): """Test error handling for invalid tracks""" # Invalid track for receive count result = call_tool("get_track_receive_count", {"track_index": 999}) assert not result["success"] # Invalid track for GUID result = call_tool("get_track_guid", {"track_index": 999}) assert not result["success"] # Invalid GUID lookup result = call_tool("get_track_from_guid", {"guid": "invalid-guid-123"}) assert not result["success"]

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shiehn/total-reaper-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server