Skip to main content
Glama

MCP Server

by zchaffee1
test_capabilities.py4.37 kB
import pytest import asyncio import random from src.capabilities.hdf5_handler import HDF5Handler from src.capabilities.slurm_handler import SlurmHandler from src.capabilities.node_hardware import NodeHardwareHandler from src.capabilities.compression import CompressionHandler @pytest.mark.asyncio async def test_node_hardware_get_cpu_info(): """Test getting CPU information.""" handler = NodeHardwareHandler() result = await handler.get_cpu_info() assert "cpu_count" in result assert isinstance(result["cpu_count"], int) assert "system" in result assert "processor" in result assert "architecture" in result @pytest.mark.asyncio async def test_node_hardware_get_memory_info(): """Test getting memory information.""" handler = NodeHardwareHandler() result = await handler.get_memory_info() assert "total_memory_gb" in result assert "available_memory_gb" in result assert "used_memory_gb" in result assert "percent_used" in result @pytest.mark.asyncio async def test_node_hardware_get_system_info(): """Test getting system information.""" handler = NodeHardwareHandler() result = await handler.get_system_info() assert "node_name" in result assert "system" in result assert "cpu" in result assert "memory" in result assert "disk" in result @pytest.mark.asyncio async def test_compression_compress_data(): """Test compressing string data.""" handler = CompressionHandler() test_data = "This is some test data to compress. " * 10 # Test with gzip result = await handler.compress_data(test_data, "gzip") assert "algorithm" in result assert result["algorithm"] == "gzip" assert "original_size_bytes" in result assert "compressed_size_bytes" in result assert "compression_ratio" in result assert "compressed_data_b64" in result assert result["original_size_bytes"] > result["compressed_size_bytes"] # Test with zlib result = await handler.compress_data(test_data, "zlib") assert result["algorithm"] == "zlib" assert result["original_size_bytes"] > result["compressed_size_bytes"] # Test with empty data with pytest.raises(ValueError): await handler.compress_data("", "gzip") # Test with invalid algorithm with pytest.raises(ValueError): await handler.compress_data(test_data, "invalid_algo") @pytest.mark.asyncio async def test_compression_compress_file(): """Test compressing a file.""" handler = CompressionHandler() # Test with valid file path result = await handler.compress_file("/path/to/file.txt") assert "algorithm" in result assert "original_file" in result assert "compressed_file" in result assert "compression_ratio" in result # Test with output path specified result = await handler.compress_file("/path/to/file.txt", "/path/to/output.gz") assert result["compressed_file"] == "/path/to/output.gz" # Test with invalid file path with pytest.raises(FileNotFoundError): await handler.compress_file("/nonexistent/file.txt") # Test with empty file path with pytest.raises(ValueError): await handler.compress_file("") @pytest.mark.asyncio async def test_compression_decompress_data(): """Test decompressing data.""" handler = CompressionHandler() # First compress some data to get valid compressed data test_data = "This is some test data to decompress. " * 10 compress_result = await handler.compress_data(test_data, "gzip") # Now test decompression decompress_result = await handler.decompress_data( compress_result["full_compressed_data_b64"], "gzip" ) assert "algorithm" in decompress_result assert "compressed_size_bytes" in decompress_result assert "decompressed_size_bytes" in decompress_result assert "decompressed_data" in decompress_result assert "full_decompressed_data" in decompress_result assert decompress_result["full_decompressed_data"] == test_data # Test with empty data with pytest.raises(ValueError): await handler.decompress_data("", "gzip") # Test with invalid algorithm with pytest.raises(ValueError): await handler.decompress_data(compress_result["full_compressed_data_b64"], "invalid_algo")

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/zchaffee1/mcp-server'

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