mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Test that Manager passes fh to _PlanOutputs
This commit is contained in:
@@ -270,8 +270,9 @@ class Manager(object):
|
|||||||
def sync(self, eligible_zones=[], eligible_sources=[], eligible_targets=[],
|
def sync(self, eligible_zones=[], eligible_sources=[], eligible_targets=[],
|
||||||
dry_run=True, force=False, plan_output_fh=stdout):
|
dry_run=True, force=False, plan_output_fh=stdout):
|
||||||
self.log.info('sync: eligible_zones=%s, eligible_targets=%s, '
|
self.log.info('sync: eligible_zones=%s, eligible_targets=%s, '
|
||||||
'dry_run=%s, force=%s', eligible_zones, eligible_targets,
|
'dry_run=%s, force=%s, plan_output_fh=%s',
|
||||||
dry_run, force)
|
eligible_zones, eligible_targets, dry_run, force,
|
||||||
|
plan_output_fh)
|
||||||
|
|
||||||
zones = self.config['zones'].items()
|
zones = self.config['zones'].items()
|
||||||
if eligible_zones:
|
if eligible_zones:
|
||||||
|
6
tests/config/plan-output-filehandle.yaml
Normal file
6
tests/config/plan-output-filehandle.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
manager:
|
||||||
|
plan_outputs:
|
||||||
|
"doesntexist":
|
||||||
|
class: octodns.provider.plan.DoesntExist
|
||||||
|
providers: {}
|
||||||
|
zones: {}
|
@@ -8,7 +8,6 @@ from __future__ import absolute_import, division, print_function, \
|
|||||||
from os import environ
|
from os import environ
|
||||||
from os.path import dirname, join
|
from os.path import dirname, join
|
||||||
from six import text_type
|
from six import text_type
|
||||||
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, \
|
||||||
@@ -16,6 +15,10 @@ from octodns.manager import _AggregateTarget, MainThreadExecutor, Manager, \
|
|||||||
from octodns.yaml import safe_load
|
from octodns.yaml import safe_load
|
||||||
from octodns.zone import Zone
|
from octodns.zone import Zone
|
||||||
|
|
||||||
|
from mock import MagicMock, patch
|
||||||
|
from unittest import TestCase
|
||||||
|
|
||||||
|
|
||||||
from helpers import DynamicProvider, GeoProvider, NoSshFpProvider, \
|
from helpers import DynamicProvider, GeoProvider, NoSshFpProvider, \
|
||||||
SimpleProvider, TemporaryDirectory
|
SimpleProvider, TemporaryDirectory
|
||||||
|
|
||||||
@@ -371,6 +374,24 @@ class TestManager(TestCase):
|
|||||||
with self.assertRaises(TypeError):
|
with self.assertRaises(TypeError):
|
||||||
manager._populate_and_plan('unit.tests.', [NoZone()], [])
|
manager._populate_and_plan('unit.tests.', [NoZone()], [])
|
||||||
|
|
||||||
|
@patch('octodns.manager.Manager._get_named_class')
|
||||||
|
def test_sync_passes_file_handle(self, mock):
|
||||||
|
plan_output_mock = MagicMock()
|
||||||
|
plan_output_class_mock = MagicMock()
|
||||||
|
plan_output_class_mock.return_value = plan_output_mock
|
||||||
|
mock.return_value = plan_output_class_mock
|
||||||
|
fh_mock = MagicMock()
|
||||||
|
|
||||||
|
Manager(get_config_filename('plan-output-filehandle.yaml')
|
||||||
|
).sync(plan_output_fh=fh_mock)
|
||||||
|
|
||||||
|
# Since we only care about the fh kwarg, and different _PlanOutputs are
|
||||||
|
# are free to require arbitrary kwargs anyway, we concern ourselves
|
||||||
|
# with checking the value of fh only.
|
||||||
|
plan_output_mock.run.assert_called()
|
||||||
|
_, kwargs = plan_output_mock.run.call_args
|
||||||
|
self.assertEqual(fh_mock, kwargs.get('fh'))
|
||||||
|
|
||||||
|
|
||||||
class TestMainThreadExecutor(TestCase):
|
class TestMainThreadExecutor(TestCase):
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user