~racb/maas/systemtesting

« back to all changes in this revision

Viewing changes to src/maasserver/tests/test_nodegroup.py

  • Committer: Tarmac
  • Author(s): Raphael Badin
  • Date: 2012-09-06 11:10:45 UTC
  • mfrom: (972.1.3 bug-1044205-dhcp-dns)
  • Revision ID: ed@carob-20120906111045-2cdzprn53x1anelq
[r=jtv][bug=1044205][author=rvb] Fold the two config items 'enable_dns' and 'manage_dhcp' into one named 'dns_dhcp_management' which can be 'none' (MAAS won't manage DHCP or DNS), 'Manage DHCP' or 'Manage DNS and DHCP'.

The reasoning behind that change is that MAAS cannot manage a DNS server if it does not also manages DHCP.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
 
15
15
import maasserver
16
16
from maasserver.dns import get_dns_server_address
17
 
from maasserver.models import (
18
 
    Config,
19
 
    NodeGroup,
 
17
from maasserver.models import NodeGroup
 
18
from maasserver.testing import (
 
19
    disable_dhcp_management,
 
20
    enable_dhcp_management,
 
21
    reload_object,
20
22
    )
21
 
from maasserver.testing import reload_object
22
23
from maasserver.testing.factory import factory
23
24
from maasserver.testing.testcase import TestCase
24
25
from maasserver.worker_user import get_worker_user
163
164
        )
164
165
 
165
166
    def test_is_dhcp_enabled_returns_True_if_fully_set_up(self):
166
 
        Config.objects.set_config('manage_dhcp', True)
 
167
        enable_dhcp_management()
167
168
        self.assertTrue(factory.make_node_group().is_dhcp_enabled())
168
169
 
169
170
    def test_is_dhcp_enabled_returns_False_if_disabled(self):
170
 
        Config.objects.set_config('manage_dhcp', False)
 
171
        disable_dhcp_management()
171
172
        self.assertFalse(factory.make_node_group().is_dhcp_enabled())
172
173
 
173
174
    def test_is_dhcp_enabled_returns_False_if_config_is_missing(self):
174
 
        Config.objects.set_config('manage_dhcp', True)
 
175
        enable_dhcp_management()
175
176
        required_fields = [
176
177
            'subnet_mask', 'broadcast_ip', 'ip_range_low', 'ip_range_high']
177
178
        # Map each required field's name to a nodegroup that has just