• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SwissDataScienceCenter / renku-data-services / 15982901121

30 Jun 2025 08:23PM UTC coverage: 86.93% (-0.09%) from 87.017%
15982901121

Pull #911

github

web-flow
Merge 7d0a7e62e into 2f9197d19
Pull Request #911: feat: remove the message queue code

16 of 16 new or added lines in 4 files covered. (100.0%)

11 existing lines in 7 files now uncovered.

20831 of 23963 relevant lines covered (86.93%)

1.52 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.43
/components/renku_data_services/message_queue/db.py
1
"""Adapters for project database classes."""
2

3
from __future__ import annotations
2✔
4

5
from collections.abc import Callable
2✔
6
from datetime import UTC, datetime
2✔
7

8
from sqlalchemy import delete, select
2✔
9
from sqlalchemy.ext.asyncio import AsyncSession
2✔
10

11
from renku_data_services import errors
2✔
12
from renku_data_services.app_config import logging
2✔
13
from renku_data_services.message_queue import orm as schemas
2✔
14
from renku_data_services.message_queue.models import Reprovisioning
2✔
15

16
logger = logging.getLogger(__name__)
2✔
17

18

19
class ReprovisioningRepository:
2✔
20
    """Repository for Reprovisioning."""
21

22
    def __init__(self, session_maker: Callable[..., AsyncSession]) -> None:
2✔
23
        self.session_maker = session_maker
2✔
24

25
    async def start(self) -> Reprovisioning:
2✔
26
        """Create a new reprovisioning."""
27
        async with self.session_maker() as session, session.begin():
2✔
28
            active_reprovisioning = await session.scalar(select(schemas.ReprovisioningORM))
2✔
29
            if active_reprovisioning:
2✔
UNCOV
30
                raise errors.ConflictError(message="A reprovisioning is already in progress")
×
31

32
            reprovisioning_orm = schemas.ReprovisioningORM(start_date=datetime.now(UTC).replace(microsecond=0))
2✔
33
            session.add(reprovisioning_orm)
2✔
34

35
            return reprovisioning_orm.dump()
2✔
36

37
    async def get_active_reprovisioning(self) -> Reprovisioning | None:
2✔
38
        """Get current reprovisioning."""
39
        async with self.session_maker() as session:
1✔
40
            active_reprovisioning = await session.scalar(select(schemas.ReprovisioningORM))
1✔
41
            return active_reprovisioning.dump() if active_reprovisioning else None
1✔
42

43
    async def stop(self) -> None:
2✔
44
        """Stop current reprovisioning."""
45
        async with self.session_maker() as session, session.begin():
2✔
46
            await session.execute(delete(schemas.ReprovisioningORM))
2✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc