Allow to extend service using shorthand notation. Closes #1989

Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
This commit is contained in:
Karol Duleba 2015-09-09 22:30:36 +01:00
commit 91b227d133
4 changed files with 56 additions and 10 deletions

View file

@ -0,0 +1,15 @@
base:
image: busybox
environment:
- "BAR=1"
verbose:
extends:
service: base
environment:
- "FOO=1"
shorthand:
extends: base
environment:
- "FOO=2"

View file

@ -1115,6 +1115,26 @@ class ExtendsTest(unittest.TestCase):
dicts = load_from_filename('tests/fixtures/extends/valid-common-config.yml')
self.assertEqual(dicts[0]['environment'], {'FOO': '1'})
def test_extended_service_with_verbose_and_shorthand_way(self):
services = load_from_filename('tests/fixtures/extends/verbose-and-shorthand.yml')
self.assertEqual(service_sort(services), service_sort([
{
'name': 'base',
'image': 'busybox',
'environment': {'BAR': '1'},
},
{
'name': 'verbose',
'image': 'busybox',
'environment': {'BAR': '1', 'FOO': '1'},
},
{
'name': 'shorthand',
'image': 'busybox',
'environment': {'BAR': '1', 'FOO': '2'},
},
]))
@pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason='paths use slash')
class ExpandPathTest(unittest.TestCase):