mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-12-13 22:48:20 +00:00
d9486018a2
The `--mount` option is available both with `tutor local` and `tutor dev` commands. It allows users to easily bind-mount containers from the host to containers. Yes, I know, we already provide that possibility with the `bindmount` command and the `--volume=/path/` option. But these suffer from the following drawbacks: - They are difficult to understand. - The "bindmount" command name does not make much sense. - It's not convenient to mount an arbitrary folder from the host to multiple containers, such as the many lms/cms containers (web apps, celery workers and job runners). To address this situation, we now recommend to make use of --mount: 1. `--mount=service1[,service2,...]:/host/path:/container/path`: manually mount `/host/path` to `/container/path` in container "service1" (and "service2"). 2. `--mount=/host/path`: use the new v1 plugin API to discover plugins that will detect this option and select the right containers in which to bind-mount volumes. This is really nifty... Close https://github.com/overhangio/2u-tutor-adoption/issues/43
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import unittest
|
|
|
|
from click.exceptions import ClickException
|
|
from tutor.commands import compose
|
|
|
|
|
|
class ComposeTests(unittest.TestCase):
|
|
def test_mount_option_parsing(self) -> None:
|
|
param = compose.MountParam()
|
|
|
|
self.assertEqual(
|
|
[("lms", "/path/to/edx-platform", "/openedx/edx-platform")],
|
|
param("lms:/path/to/edx-platform:/openedx/edx-platform"),
|
|
)
|
|
self.assertEqual(
|
|
[
|
|
("lms", "/path/to/edx-platform", "/openedx/edx-platform"),
|
|
("cms", "/path/to/edx-platform", "/openedx/edx-platform"),
|
|
],
|
|
param("lms,cms:/path/to/edx-platform:/openedx/edx-platform"),
|
|
)
|
|
self.assertEqual(
|
|
[
|
|
("lms", "/path/to/edx-platform", "/openedx/edx-platform"),
|
|
("cms", "/path/to/edx-platform", "/openedx/edx-platform"),
|
|
],
|
|
param("lms, cms:/path/to/edx-platform:/openedx/edx-platform"),
|
|
)
|
|
with self.assertRaises(ClickException):
|
|
param("lms,:/path/to/edx-platform:/openedx/edx-platform")
|