Browse Source

Handle Manager.dump with an empty Zone

pull/123/head
Ross McFarland 8 years ago
parent
commit
ffeceb39b1
No known key found for this signature in database GPG Key ID: 61C10C4FC8FE4A89
2 changed files with 15 additions and 1 deletions
  1. +3
    -1
      octodns/manager.py
  2. +12
    -0
      tests/test_octodns_manager.py

+ 3
- 1
octodns/manager.py View File

@ -11,7 +11,7 @@ from importlib import import_module
from os import environ from os import environ
import logging import logging
from .provider.base import BaseProvider
from .provider.base import BaseProvider, Plan
from .provider.yaml import YamlProvider from .provider.yaml import YamlProvider
from .record import Record from .record import Record
from .yaml import safe_load from .yaml import safe_load
@ -362,6 +362,8 @@ class Manager(object):
source.populate(zone, lenient=lenient) source.populate(zone, lenient=lenient)
plan = target.plan(zone) plan = target.plan(zone)
if plan is None:
plan = Plan(zone, zone, [])
target.apply(plan) target.apply(plan)
def validate_configs(self): def validate_configs(self):


+ 12
- 0
tests/test_octodns_manager.py View File

@ -11,6 +11,7 @@ from unittest import TestCase
from octodns.record import Record from octodns.record import Record
from octodns.manager import _AggregateTarget, MainThreadExecutor, Manager from octodns.manager import _AggregateTarget, MainThreadExecutor, Manager
from octodns.yaml import safe_load
from octodns.zone import Zone from octodns.zone import Zone
from helpers import GeoProvider, NoSshFpProvider, SimpleProvider, \ from helpers import GeoProvider, NoSshFpProvider, SimpleProvider, \
@ -211,6 +212,17 @@ class TestManager(TestCase):
with self.assertRaises(IOError): with self.assertRaises(IOError):
manager.dump('unknown.zone.', tmpdir.dirname, False, 'in') manager.dump('unknown.zone.', tmpdir.dirname, False, 'in')
def test_dump_empty(self):
with TemporaryDirectory() as tmpdir:
environ['YAML_TMP_DIR'] = tmpdir.dirname
manager = Manager(get_config_filename('simple.yaml'))
manager.dump('empty.', tmpdir.dirname, False, 'in')
with open(join(tmpdir.dirname, 'empty.yaml')) as fh:
data = safe_load(fh, False)
self.assertFalse(data)
def test_validate_configs(self): def test_validate_configs(self):
Manager(get_config_filename('simple-validate.yaml')).validate_configs() Manager(get_config_filename('simple-validate.yaml')).validate_configs()


Loading…
Cancel
Save