Exemplo n.º 1
0
def test_get_or_404_not_found(mocker):
    entity = mocker.MagicMock()
    ett = mocker.MagicMock(**{"__name__": "irne"})
    entity.__getitem__ = mocker.MagicMock(side_effect=ObjectNotFound(ett))

    with pytest.raises(exceptions.NotFound):
        get_or_404(entity, 999)
Exemplo n.º 2
0
    def resolve(self, params: http.PathParams,
                user: JWTUser) -> ActesPermissions:
        """
        Résolution des permissions

        Args:
            params (dict): dont on extrait le clé `acte_id` et `item_id`

        Returns:
            obj de type :class:`~mapistar.actes.models.Acte` ou :class:`~mapistar.actes.ordo_items.Item`

        Raises:
            Si une permission n'est pas accordée. Exception de type apistar.exceptions
        """
        acte_id = params.get("acte_id", None)
        item_id = params.get("item_id", None)

        if acte_id:
            if item_id:
                raise MapistarProgrammingError(
                    "Une requête ne peut spécifier item_id et acte_id à la fois"
                )

            else:
                acte = obj = get_or_404(db.Acte, acte_id)

        elif item_id:
            obj = get_or_404(db.Item, item_id)
            acte = obj.ordonnance
        else:
            raise MapistarProgrammingError("doit préciser acte_id ou item_id")

        ActesPermissions(acte, user)()

        return obj
Exemplo n.º 3
0
def test_get_or_404_pass(mocker):

    entity = mocker.MagicMock()
    entity.__getitem__.return_value = 1
    a = get_or_404(entity, 12)

    entity.__getitem__.assert_called_with(12)
    assert a == 1
Exemplo n.º 4
0
 def one(acte_id: int) -> dict:
     obj = get_or_404(cls.model, acte_id)
     return obj.dico
Exemplo n.º 5
0
 def resolve(self, user: JWTUser) -> UserC:
     return get_or_404(User, user.id)