We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yconst/preloop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""
Test for the Jira tracker registration fix.
"""
from unittest import IsolatedAsyncioTestCase
from preloop.schemas.tracker import ProjectIdentifier
class TestJiraRegistrationFix(IsolatedAsyncioTestCase):
"""Test that the Jira registration fix works correctly."""
async def test_dictionary_access_for_organizations(self):
"""Test that we can access organization data as dictionaries."""
# Simulate what Jira tracker returns
orgs = [
{
"id": "spacecode-team.atlassian.net",
"name": "spacecode-team.atlassian.net",
"url": "https://spacecode-team.atlassian.net",
}
]
projects = [{"id": "10001", "name": "Test Project", "key": "TEST"}]
# Test the fixed approach - accessing as dictionary
org_id = orgs[0]["id"]
self.assertEqual(org_id, "spacecode-team.atlassian.net")
# Test setting children as dictionary
orgs[0]["children"] = [
ProjectIdentifier(
id=p["id"], name=p["name"], identifier=p["id"], type="project"
)
for p in projects
]
self.assertEqual(len(orgs[0]["children"]), 1)
self.assertEqual(orgs[0]["children"][0].id, "10001")
self.assertEqual(orgs[0]["children"][0].name, "Test Project")
async def test_attribute_error_would_occur(self):
"""Verify that the old approach would indeed fail."""
orgs = [{"id": "test", "name": "test"}]
# This should raise AttributeError (the old buggy way)
with self.assertRaises(AttributeError):
_ = orgs[0].id # This is what was causing the bug