1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
from unittest.mock import MagicMock
from gitlab.mixins import (
CreateMixin,
CRUDMixin,
DeleteMixin,
GetMixin,
ListMixin,
NoUpdateMixin,
RetrieveMixin,
UpdateMixin,
)
def test_retrieve_mixin():
class M(RetrieveMixin):
_obj_cls = object
_path = "/test"
obj = M(MagicMock())
assert hasattr(obj, "list")
assert hasattr(obj, "get")
assert not hasattr(obj, "create")
assert not hasattr(obj, "update")
assert not hasattr(obj, "delete")
assert isinstance(obj, ListMixin)
assert isinstance(obj, GetMixin)
def test_crud_mixin():
class M(CRUDMixin):
_obj_cls = object
_path = "/test"
obj = M(MagicMock())
assert hasattr(obj, "get")
assert hasattr(obj, "list")
assert hasattr(obj, "create")
assert hasattr(obj, "update")
assert hasattr(obj, "delete")
assert isinstance(obj, ListMixin)
assert isinstance(obj, GetMixin)
assert isinstance(obj, CreateMixin)
assert isinstance(obj, UpdateMixin)
assert isinstance(obj, DeleteMixin)
def test_no_update_mixin():
class M(NoUpdateMixin):
_obj_cls = object
_path = "/test"
obj = M(MagicMock())
assert hasattr(obj, "get")
assert hasattr(obj, "list")
assert hasattr(obj, "create")
assert not hasattr(obj, "update")
assert hasattr(obj, "delete")
assert isinstance(obj, ListMixin)
assert isinstance(obj, GetMixin)
assert isinstance(obj, CreateMixin)
assert not isinstance(obj, UpdateMixin)
assert isinstance(obj, DeleteMixin)
|