def test_updates_fannetwork(self): new_name = factory.make_name("fannetwork") fannetwork = factory.make_FanNetwork() form = FanNetworkForm(instance=fannetwork, data={"name": new_name}) self.assertTrue(form.is_valid(), form.errors) form.save() self.assertEqual(new_name, reload_object(fannetwork).name)
def create(self, request): """@description Create a fan network @description-title Create a fan network. @param (string) "name" [required=true] Name of the fan network. @param (string) "overlay" [required=true] The overlay network. @param (string) "underlay" [required=true] The underlay network. @param (boolean) "dhcp" [required=false] Configure DHCP server for overlay network. @param (int) "host_reserve" [required=false] The number of IP addresses to reserve for host. @param (string) "bridge" [required=false] Override bridge name. @param (boolean) "off" [required=false] Put this fan network in the configuration, but disable it. @success (http-status-code) "server-success" 200 @success (json) "success-json" A JSON object containing the new fan network. @success-example "success-json" [exkey=fannetworks-read] placeholder text """ form = FanNetworkForm(data=request.data) if form.is_valid(): return form.save() else: raise MAASAPIValidationError(form.errors)
def test_requires_overlay(self): slash = random.randint(12, 28) underlay = factory.make_ipv4_network(slash=slash) form = FanNetworkForm({ "name": factory.make_name("fannetwork"), "underlay": str(underlay), }) self.assertFalse(form.is_valid(), form.errors) self.assertEqual({"overlay": ["This field is required."]}, form.errors)
def test_creates_fannetwork(self): fannetwork_name = factory.make_name("fannetwork") slash = random.randint(12, 28) underlay = factory.make_ipv4_network(slash=slash) overlay = factory.make_ipv4_network(slash=slash - 4) form = FanNetworkForm({ "name": fannetwork_name, "overlay": str(overlay), "underlay": str(underlay), }) self.assertTrue(form.is_valid(), form.errors) fannetwork = form.save() self.assertEqual(fannetwork_name, fannetwork.name)
def create(self, request): """Create a fannetwork. :param name: Name of the fannetwork. :param overlay: Overlay network :param underlay: Underlay network :param dhcp: confiugre dhcp server for overlay net :param host_reserve: number of IP addresses to reserve for host :param bridge: override bridge name :param off: put this int he config, but disable it. """ form = FanNetworkForm(data=request.data) if form.is_valid(): return form.save() else: raise MAASAPIValidationError(form.errors)
def update(self, request, id): """@description-title Update a fan network @description Update a fan network with the given id. @param (int) "{id}" [required=true] The fan network id. @param (string) "name" [required=false] Name of the fan network. @param (string) "overlay" [required=false] The overlay network. @param (string) "underlay" [required=false] The underlay network. @param (boolean) "dhcp" [required=false] Configure DHCP server for overlay network. @param (int) "host_reserve" [required=false] The number of IP addresses to reserve for host. @param (string) "bridge" [required=false] Override bridge name. @param (boolean) "off" [required=false] Put this fan network in the configuration, but disable it. @success (http-status-code) "server-success" 200 @success (json) "success-json" A JSON object containing the updated fan network. @success-example "success-json" [exkey=fannetworks-update] placeholder text @error (http-status-code) "404" 404 @error (content) "not-found" The requested fan network is not found. @error-example "not-found" Not Found """ fannetwork = FanNetwork.objects.get_fannetwork_or_404( id, request.user, NodePermission.admin ) form = FanNetworkForm(instance=fannetwork, data=request.data) if form.is_valid(): return form.save() else: raise MAASAPIValidationError(form.errors)
def update(self, request, id): """Update fannetwork. :param name: Name of the fannetwork. :param overlay: Overlay network :param underlay: Underlay network :param dhcp: confiugre dhcp server for overlay net :param host_reserve: number of IP addresses to reserve for host :param bridge: override bridge name :param off: put this int he config, but disable it. Returns 404 if the fannetwork is not found. """ fannetwork = FanNetwork.objects.get_fannetwork_or_404( id, request.user, NODE_PERMISSION.ADMIN) form = FanNetworkForm(instance=fannetwork, data=request.data) if form.is_valid(): return form.save() else: raise MAASAPIValidationError(form.errors)
def test_doest_require_name_on_update(self): fannetwork = factory.make_FanNetwork() form = FanNetworkForm(instance=fannetwork, data={}) self.assertTrue(form.is_valid(), form.errors)