We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/software-engineer-mj/slack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""Tests for MCP resources (channels_resource, users_resource)."""
import pytest
from slack_mcp.resources import channels_resource, users_resource
@pytest.mark.asyncio
class TestChannelsResource:
async def test_returns_csv(self, mock_slack_clients):
bot = mock_slack_clients["bot"]
bot.conversations_list.return_value = {
"channels": [
{"id": "C01", "name": "general", "is_private": False, "num_members": 50},
{"id": "C02", "name": "random", "is_private": False, "num_members": 30},
]
}
result = await channels_resource()
lines = result.strip().split("\n")
assert lines[0] == "id,name,is_private,num_members"
assert "C01,general,False,50" in lines[1]
assert "C02,random,False,30" in lines[2]
async def test_empty_channels(self, mock_slack_clients):
bot = mock_slack_clients["bot"]
bot.conversations_list.return_value = {"channels": []}
result = await channels_resource()
lines = result.strip().split("\n")
assert len(lines) == 1 # header only
@pytest.mark.asyncio
class TestUsersResource:
async def test_returns_csv(self, mock_slack_clients):
bot = mock_slack_clients["bot"]
bot.users_list.return_value = {
"members": [
{"id": "U01", "name": "alice", "real_name": "Alice Kim", "is_bot": False, "deleted": False},
{"id": "U02", "name": "bot1", "real_name": "Bot One", "is_bot": True, "deleted": False},
]
}
result = await users_resource()
lines = result.strip().split("\n")
assert lines[0] == "id,name,real_name,is_bot,deleted"
assert "U01,alice,Alice Kim,False,False" in lines[1]
assert "U02,bot1,Bot One,True,False" in lines[2]
async def test_empty_members(self, mock_slack_clients):
bot = mock_slack_clients["bot"]
bot.users_list.return_value = {"members": []}
result = await users_resource()
lines = result.strip().split("\n")
assert len(lines) == 1 # header only