def test_action_performs_action(self): user = factory.make_admin() request = HttpRequest() request.user = user device = factory.make_Node(owner=user, node_type=NODE_TYPE.DEVICE) handler = DeviceHandler(user, {}, request) handler.action({ "request": request, "system_id": device.system_id, "action": "delete", }) self.assertIsNone(reload_object(device))
def test_action_performs_action_passing_extra(self): user = factory.make_admin() device = self.make_device_with_ip_address(owner=user) zone = factory.make_Zone() handler = DeviceHandler(user, {}) handler.action({ "system_id": device.system_id, "action": "set-zone", "extra": { "zone_id": zone.id, }}) device = reload_object(device) self.expectThat(device.zone, Equals(zone))
def test_missing_action_raises_error(self): user = factory.make_User() device = self.make_device_with_ip_address(owner=user) handler = DeviceHandler(user, {}) with ExpectedException(NodeActionError): handler.action({"system_id": device.system_id})