How to use the octodns.provider.yaml.SplitYamlProvider function in octodns

To help you get started, we’ve selected a few octodns examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github github / octodns / tests / test_octodns_provider_splityaml.py View on Github external
def test_subzone_handling(self):
        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'))

        # If we add `sub` as a sub-zone we'll reject `www.sub`
        zone = Zone('unit.tests.', ['sub'])
        with self.assertRaises(SubzoneRecordException) as ctx:
            source.populate(zone)
        self.assertEquals('Record www.sub.unit.tests. is under a managed '
                          'subzone', ctx.exception.message)
github github / octodns / tests / test_octodns_provider_yaml.py View on Github external
def test_unsorted(self):
        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'))

        zone = Zone('unordered.', [])

        with self.assertRaises(ConstructorError):
            source.populate(zone)

        zone = Zone('unordered.', [])

        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'),
            enforce_order=False)
        # no exception
        source.populate(zone)
        self.assertEqual(2, len(zone.records))
github github / octodns / tests / test_octodns_provider_yaml.py View on Github external
def test_empty(self):
        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'))

        zone = Zone('empty.', [])

        # without it we see everything
        source.populate(zone)
        self.assertEquals(0, len(zone.records))
github github / octodns / tests / test_octodns_provider_yaml.py View on Github external
def test_subzone_handling(self):
        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'))

        # If we add `sub` as a sub-zone we'll reject `www.sub`
        zone = Zone('unit.tests.', ['sub'])
        with self.assertRaises(SubzoneRecordException) as ctx:
            source.populate(zone)
        self.assertEquals('Record www.sub.unit.tests. is under a managed '
                          'subzone', ctx.exception.message)
github github / octodns / tests / test_octodns_provider_yaml.py View on Github external
source.populate(zone, target=source)
        self.assertEquals(0, len(zone.records))

        # without it we see everything
        source.populate(zone)
        self.assertEquals(18, len(zone.records))

        source.populate(dynamic_zone)
        self.assertEquals(5, len(dynamic_zone.records))

        with TemporaryDirectory() as td:
            # Add some subdirs to make sure that it can create them
            directory = join(td.dirname, 'sub', 'dir')
            zone_dir = join(directory, 'unit.tests.')
            dynamic_zone_dir = join(directory, 'dynamic.tests.')
            target = SplitYamlProvider('test', directory)

            # We add everything
            plan = target.plan(zone)
            self.assertEquals(15, len(filter(lambda c: isinstance(c, Create),
                                             plan.changes)))
            self.assertFalse(isdir(zone_dir))

            # Now actually do it
            self.assertEquals(15, target.apply(plan))

            # Dynamic plan
            plan = target.plan(dynamic_zone)
            self.assertEquals(5, len(filter(lambda c: isinstance(c, Create),
                                            plan.changes)))
            self.assertFalse(isdir(dynamic_zone_dir))
            # Apply it
github github / octodns / tests / test_octodns_provider_yaml.py View on Github external
def test_apply_handles_existing_zone_directory(self):
        with TemporaryDirectory() as td:
            provider = SplitYamlProvider('test', join(td.dirname, 'config'))
            makedirs(join(td.dirname, 'config', 'does.exist.'))

            zone = Zone('does.exist.', [])
            self.assertTrue(isdir(provider._zone_directory(zone)))
            provider.apply(Plan(None, zone, [], True))
            self.assertTrue(isdir(provider._zone_directory(zone)))
github github / octodns / tests / test_octodns_provider_splityaml.py View on Github external
source.populate(zone, target=source)
        self.assertEquals(0, len(zone.records))

        # without it we see everything
        source.populate(zone)
        self.assertEquals(18, len(zone.records))

        source.populate(dynamic_zone)
        self.assertEquals(5, len(dynamic_zone.records))

        with TemporaryDirectory() as td:
            # Add some subdirs to make sure that it can create them
            directory = join(td.dirname, 'sub', 'dir')
            zone_dir = join(directory, 'unit.tests.')
            dynamic_zone_dir = join(directory, 'dynamic.tests.')
            target = SplitYamlProvider('test', directory)

            # We add everything
            plan = target.plan(zone)
            self.assertEquals(15, len(filter(lambda c: isinstance(c, Create),
                                             plan.changes)))
            self.assertFalse(isdir(zone_dir))

            # Now actually do it
            self.assertEquals(15, target.apply(plan))

            # Dynamic plan
            plan = target.plan(dynamic_zone)
            self.assertEquals(5, len(filter(lambda c: isinstance(c, Create),
                                            plan.changes)))
            self.assertFalse(isdir(dynamic_zone_dir))
            # Apply it
github github / octodns / tests / test_octodns_provider_splityaml.py View on Github external
def test_empty(self):
        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'))

        zone = Zone('empty.', [])

        # without it we see everything
        source.populate(zone)
        self.assertEquals(0, len(zone.records))
github github / octodns / tests / test_octodns_provider_yaml.py View on Github external
def test_unsorted(self):
        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'))

        zone = Zone('unordered.', [])

        with self.assertRaises(ConstructorError):
            source.populate(zone)

        zone = Zone('unordered.', [])

        source = SplitYamlProvider(
            'test', join(dirname(__file__), 'config/split'),
            enforce_order=False)
        # no exception
        source.populate(zone)
        self.assertEqual(2, len(zone.records))
github github / octodns / octodns / provider / yaml.py View on Github external
def __init__(self, id, directory, *args, **kwargs):
        super(SplitYamlProvider, self).__init__(id, directory, *args, **kwargs)