mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
WIP added TestHetznerProvider.test_apply
This commit is contained in:
@@ -6,13 +6,15 @@
|
||||
from __future__ import absolute_import, division, print_function, \
|
||||
unicode_literals
|
||||
|
||||
from mock import Mock
|
||||
from os.path import dirname, join
|
||||
from requests import HTTPError
|
||||
from requests_mock import ANY, mock as requests_mock
|
||||
from six import text_type
|
||||
from unittest import TestCase
|
||||
|
||||
from octodns.provider.hetzner import HetznerProvider
|
||||
from octodns.provider.hetzner import HetznerClientNotFound, \
|
||||
HetznerProvider
|
||||
from octodns.provider.yaml import YamlProvider
|
||||
from octodns.zone import Zone
|
||||
|
||||
@@ -82,3 +84,24 @@ class TestHetznerProvider(TestCase):
|
||||
|
||||
# bust the cache
|
||||
del provider._zone_records[zone.name]
|
||||
|
||||
def test_apply(self):
|
||||
provider = HetznerProvider('test', 'token')
|
||||
|
||||
resp = Mock()
|
||||
resp.json = Mock()
|
||||
provider._client._do = Mock(return_value=resp)
|
||||
|
||||
# non-existent domain, create everything
|
||||
resp.json.side_effect = [
|
||||
HetznerClientNotFound, # no zone in populate
|
||||
HetznerClientNotFound, # no zone during apply
|
||||
{"zone": {"id": "string"}}
|
||||
]
|
||||
plan = provider.plan(self.expected)
|
||||
|
||||
# No root NS, no ignored, no excluded, no unsupported
|
||||
n = len(self.expected.records) - 9
|
||||
self.assertEquals(n, len(plan.changes))
|
||||
self.assertEquals(n, provider.apply(plan))
|
||||
self.assertFalse(plan.exists)
|
||||
|
||||
Reference in New Issue
Block a user