chore: update volume access_mode to fit compose-spec
This commit is contained in:
parent
2c692f3ab3
commit
81324f7f14
5 changed files with 11 additions and 22 deletions
|
@ -6,7 +6,7 @@ from ruamel.yaml import YAML
|
||||||
from compose_viz.compose import Compose, Service
|
from compose_viz.compose import Compose, Service
|
||||||
from compose_viz.extends import Extends
|
from compose_viz.extends import Extends
|
||||||
from compose_viz.port import Port, Protocol
|
from compose_viz.port import Port, Protocol
|
||||||
from compose_viz.volume import AccessMode, Volume, VolumeType
|
from compose_viz.volume import Volume, VolumeType
|
||||||
|
|
||||||
|
|
||||||
class Parser:
|
class Parser:
|
||||||
|
@ -190,9 +190,7 @@ class Parser:
|
||||||
service_volumes.append(Volume(source=spilt_data[0], target=spilt_data[1]))
|
service_volumes.append(Volume(source=spilt_data[0], target=spilt_data[1]))
|
||||||
elif len(spilt_data) == 3:
|
elif len(spilt_data) == 3:
|
||||||
service_volumes.append(
|
service_volumes.append(
|
||||||
Volume(
|
Volume(source=spilt_data[0], target=spilt_data[1], access_mode=spilt_data[2])
|
||||||
source=spilt_data[0], target=spilt_data[1], access_mode=AccessMode[spilt_data[2]]
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
service_links: List[str] = []
|
service_links: List[str] = []
|
||||||
|
|
|
@ -8,17 +8,8 @@ class VolumeType(str, Enum):
|
||||||
npipe = "npipe"
|
npipe = "npipe"
|
||||||
|
|
||||||
|
|
||||||
class AccessMode(str, Enum):
|
|
||||||
rw = "rw"
|
|
||||||
ro = "ro"
|
|
||||||
z = "z"
|
|
||||||
Z = "Z"
|
|
||||||
|
|
||||||
|
|
||||||
class Volume:
|
class Volume:
|
||||||
def __init__(
|
def __init__(self, source: str, target: str, type: VolumeType = VolumeType.volume, access_mode: str = "rw"):
|
||||||
self, source: str, target: str, type: VolumeType = VolumeType.volume, access_mode: AccessMode = AccessMode.rw
|
|
||||||
):
|
|
||||||
self._source = source
|
self._source = source
|
||||||
self._target = target
|
self._target = target
|
||||||
self._type = type
|
self._type = type
|
||||||
|
|
|
@ -5,7 +5,7 @@ from compose_viz.extends import Extends
|
||||||
from compose_viz.parser import Parser
|
from compose_viz.parser import Parser
|
||||||
from compose_viz.port import Port, Protocol
|
from compose_viz.port import Port, Protocol
|
||||||
from compose_viz.service import Service
|
from compose_viz.service import Service
|
||||||
from compose_viz.volume import AccessMode, Volume, VolumeType
|
from compose_viz.volume import Volume, VolumeType
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
@ -219,7 +219,7 @@ from compose_viz.volume import AccessMode, Volume, VolumeType
|
||||||
Volume(
|
Volume(
|
||||||
source="cli-volume",
|
source="cli-volume",
|
||||||
target="/var/lib/backup/data",
|
target="/var/lib/backup/data",
|
||||||
access_mode=AccessMode.ro,
|
access_mode="ro,z",
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from compose_viz.volume import AccessMode, Volume, VolumeType
|
from compose_viz.volume import Volume, VolumeType
|
||||||
|
|
||||||
|
|
||||||
def test_volume_init_normal() -> None:
|
def test_volume_init_normal() -> None:
|
||||||
|
@ -8,7 +8,7 @@ def test_volume_init_normal() -> None:
|
||||||
assert v.source == "./foo"
|
assert v.source == "./foo"
|
||||||
assert v.target == "./bar"
|
assert v.target == "./bar"
|
||||||
assert v.type == VolumeType.volume
|
assert v.type == VolumeType.volume
|
||||||
assert v.access_mode == AccessMode.rw
|
assert v.access_mode == "rw"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
assert False, e
|
assert False, e
|
||||||
|
|
||||||
|
@ -20,18 +20,18 @@ def test_volume_with_type() -> None:
|
||||||
assert v.source == "./foo"
|
assert v.source == "./foo"
|
||||||
assert v.target == "./bar"
|
assert v.target == "./bar"
|
||||||
assert v.type == VolumeType.bind
|
assert v.type == VolumeType.bind
|
||||||
assert v.access_mode == AccessMode.rw
|
assert v.access_mode == "rw"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
assert False, e
|
assert False, e
|
||||||
|
|
||||||
|
|
||||||
def test_volume_with_access_mode() -> None:
|
def test_volume_with_access_mode() -> None:
|
||||||
try:
|
try:
|
||||||
v = Volume(source="./foo", target="./bar", access_mode=AccessMode.ro)
|
v = Volume(source="./foo", target="./bar", access_mode="ro,z")
|
||||||
|
|
||||||
assert v.source == "./foo"
|
assert v.source == "./foo"
|
||||||
assert v.target == "./bar"
|
assert v.target == "./bar"
|
||||||
assert v.type == VolumeType.volume
|
assert v.type == VolumeType.volume
|
||||||
assert v.access_mode == AccessMode.ro
|
assert v.access_mode == "ro,z"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
assert False, e
|
assert False, e
|
||||||
|
|
|
@ -11,7 +11,7 @@ services:
|
||||||
common:
|
common:
|
||||||
image: busybox
|
image: busybox
|
||||||
volumes:
|
volumes:
|
||||||
- common-volume:/var/lib/backup/data:rw
|
- common-volume:/var/lib/backup/data:rw,z
|
||||||
cli:
|
cli:
|
||||||
extends:
|
extends:
|
||||||
service: common
|
service: common
|
||||||
|
|
Loading…
Reference in a new issue