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
import logging
from .provider.base import BaseProvider
from .provider.base import BaseProvider, Plan
from .provider.yaml import YamlProvider
from .record import Record
from .yaml import safe_load
@ -362,6 +362,8 @@ class Manager(object):
source.populate(zone, lenient=lenient)
plan = target.plan(zone)
if plan is None:
plan = Plan(zone, zone, [])
target.apply(plan)
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.manager import _AggregateTarget, MainThreadExecutor, Manager
from octodns.yaml import safe_load
from octodns.zone import Zone
from helpers import GeoProvider, NoSshFpProvider, SimpleProvider, \
@ -211,6 +212,17 @@ class TestManager(TestCase):
with self.assertRaises(IOError):
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):
Manager(get_config_filename('simple-validate.yaml')).validate_configs()


Loading…
Cancel
Save