| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- """
- Tests for the Admin Service.
- """
- import pytest
- from unittest.mock import Mock
- from web.services.admin import AdminService
- class TestAdminService:
- """Test suite for AdminService business logic."""
- @pytest.mark.asyncio
- async def test_verify_token_success(self):
- """Test successful token verification."""
- admin_service = AdminService(admin_token="valid-token")
- result = await admin_service.verify_admin_token("valid-token")
- assert result is True
- @pytest.mark.asyncio
- async def test_verify_token_failure(self):
- """Test token verification with incorrect token."""
- admin_service = AdminService(admin_token="valid-token")
- result = await admin_service.verify_admin_token("invalid-token")
- assert result is False
- @pytest.mark.asyncio
- async def test_refresh_versions_success(self, mock_versions_manager):
- """Test successful refresh of version metadata."""
- admin_service = AdminService(
- admin_token="some-token",
- versions_manager=mock_versions_manager
- )
- remotes = await admin_service.refresh_versions()
- assert len(remotes) == 2
- assert "test-remote-1" in remotes
- assert "test-remote-2" in remotes
- mock_versions_manager.refresh_all.assert_called_once()
- mock_versions_manager.get_all_remotes_info.assert_called_once()
- @pytest.mark.asyncio
- async def test_refresh_versions_empty_result(self):
- """Test refresh when no remotes are configured."""
- mock_fetcher = Mock()
- mock_fetcher.refresh_all = Mock()
- mock_fetcher.get_all_remotes_info = Mock(return_value=[])
- admin_service = AdminService(
- admin_token="some-token",
- versions_manager=mock_fetcher
- )
- remotes = await admin_service.refresh_versions()
- assert len(remotes) == 0
- mock_fetcher.refresh_all.assert_called_once()
|