~smoser/ubuntu/trusty/maas/lp-1172566

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2014-04-03 13:45:02 UTC
  • mto: This revision was merged to the branch mainline in revision 58.
  • Revision ID: package-import@ubuntu.com-20140403134502-8a6wvuqwyuekufh0
Tags: upstream-1.5+bzr2227
ImportĀ upstreamĀ versionĀ 1.5+bzr2227

Show diffs side-by-side

added added

removed removed

Lines of Context:
1731
1731
        network = reload_object(network)
1732
1732
        self.assertItemsEqual(new_macs, network.macaddress_set.all())
1733
1733
 
 
1734
    def test_reports_clashes(self):
 
1735
        # The uniqueness test on the Network model raises a ValidationError
 
1736
        # when it finds a clash, but Django is prone to crashing when the
 
1737
        # exception doesn't take the expected form (bug 1299114).
 
1738
        big_network = IPNetwork('10.9.0.0/16')
 
1739
        nested_network = IPNetwork('10.9.9.0/24')
 
1740
 
 
1741
        existing_network = factory.make_network(network=big_network)
 
1742
        form = NetworkForm(data={
 
1743
            'name': factory.make_name('clashing-network'),
 
1744
            'ip': "%s" % nested_network.cidr.ip,
 
1745
            'netmask': "%s" % nested_network.netmask,
 
1746
            'vlan_tag': factory.make_vlan_tag(),
 
1747
            })
 
1748
        self.assertFalse(form.is_valid())
 
1749
        message = "IP range clashes with network '%s'." % existing_network.name
 
1750
        self.assertEqual(
 
1751
            {
 
1752
                'ip': [message],
 
1753
                'netmask': [message],
 
1754
            },
 
1755
            form.errors)
 
1756
 
1734
1757
 
1735
1758
class TestInstanceListField(MAASServerTestCase):
1736
1759
    """Tests for `InstanceListingField`."""