Merge ~d0ugal/maas:less-underscores-2.8 into maas:2.8
- Git
- lp:~d0ugal/maas
- less-underscores-2.8
- Merge into 2.8
Proposed by
Dougal Matthews
Status: | Merged |
---|---|
Approved by: | Dougal Matthews |
Approved revision: | ac3f303b3b08dc8aa785e2470b95296f7fa0baee |
Merge reported by: | MAAS Lander |
Merged at revision: | not available |
Proposed branch: | ~d0ugal/maas:less-underscores-2.8 |
Merge into: | maas:2.8 |
Diff against target: |
33597 lines (+3793/-3793) 219 files modified
src/maascli/tests/test_utils.py (+5/-5) src/maasserver/api/tests/test_discoveries.py (+34/-34) src/maasserver/api/tests/test_doc.py (+21/-21) src/maasserver/api/tests/test_events.py (+3/-3) src/maasserver/api/tests/test_machine.py (+33/-33) src/maasserver/api/tests/test_machines.py (+1/-1) src/maasserver/api/tests/test_subnets.py (+17/-17) src/maasserver/api/tests/test_support.py (+2/-2) src/maasserver/api/tests/test_users.py (+2/-2) src/maasserver/clusterrpc/tests/test_boot_images.py (+13/-13) src/maasserver/clusterrpc/tests/test_driver_parameters.py (+13/-13) src/maasserver/clusterrpc/tests/test_pods.py (+18/-18) src/maasserver/clusterrpc/tests/test_power.py (+8/-8) src/maasserver/clusterrpc/tests/test_utils.py (+6/-6) src/maasserver/dns/tests/test_config.py (+18/-18) src/maasserver/dns/tests/test_zonegenerator.py (+1/-1) src/maasserver/forms/tests/test_clone.py (+6/-6) src/maasserver/forms/tests/test_controller.py (+6/-6) src/maasserver/forms/tests/test_dhcpsnippet.py (+20/-20) src/maasserver/forms/tests/test_dnsdata.py (+3/-3) src/maasserver/forms/tests/test_dnsresource.py (+7/-7) src/maasserver/forms/tests/test_domain.py (+3/-3) src/maasserver/forms/tests/test_ephemeral.py (+31/-31) src/maasserver/forms/tests/test_fabric.py (+3/-3) src/maasserver/forms/tests/test_fannetwork.py (+6/-6) src/maasserver/forms/tests/test_interface.py (+69/-69) src/maasserver/forms/tests/test_interface_link.py (+42/-42) src/maasserver/forms/tests/test_iprange.py (+10/-10) src/maasserver/forms/tests/test_machinewithmacaddresses.py (+10/-10) src/maasserver/forms/tests/test_notification.py (+4/-4) src/maasserver/forms/tests/test_packagerepository.py (+19/-19) src/maasserver/forms/tests/test_parameters.py (+59/-59) src/maasserver/forms/tests/test_pods.py (+48/-48) src/maasserver/forms/tests/test_script.py (+50/-50) src/maasserver/forms/tests/test_space.py (+4/-4) src/maasserver/forms/tests/test_staticroute.py (+4/-4) src/maasserver/forms/tests/test_subnet.py (+24/-24) src/maasserver/forms/tests/test_vlan.py (+12/-12) src/maasserver/management/commands/tests/test_config.py (+9/-9) src/maasserver/management/commands/tests/test_generate_sample_data.py (+2/-2) src/maasserver/models/migrations/tests/test_create_default_storage_layout.py (+2/-2) src/maasserver/models/signals/tests/test_interfaces.py (+17/-17) src/maasserver/models/signals/tests/test_nodes.py (+4/-4) src/maasserver/models/signals/tests/test_power.py (+6/-6) src/maasserver/models/signals/tests/test_scriptresult.py (+7/-7) src/maasserver/models/signals/tests/test_services.py (+10/-10) src/maasserver/models/tests/test_blockdevice.py (+22/-22) src/maasserver/models/tests/test_bmc.py (+4/-4) src/maasserver/models/tests/test_bootresource.py (+29/-29) src/maasserver/models/tests/test_cacheset.py (+9/-9) src/maasserver/models/tests/test_controllerinfo.py (+10/-10) src/maasserver/models/tests/test_discovery.py (+21/-21) src/maasserver/models/tests/test_dnsdata.py (+6/-6) src/maasserver/models/tests/test_dnsresource.py (+21/-21) src/maasserver/models/tests/test_domain.py (+11/-11) src/maasserver/models/tests/test_fabric.py (+11/-11) src/maasserver/models/tests/test_fannetwork.py (+6/-6) src/maasserver/models/tests/test_filesystemgroup.py (+27/-27) src/maasserver/models/tests/test_interface.py (+121/-121) src/maasserver/models/tests/test_iprange.py (+42/-42) src/maasserver/models/tests/test_iscsiblockdevice.py (+3/-3) src/maasserver/models/tests/test_largefile.py (+1/-1) src/maasserver/models/tests/test_node.py (+166/-166) src/maasserver/models/tests/test_nodeprobeddetails.py (+3/-3) src/maasserver/models/tests/test_rdns.py (+11/-11) src/maasserver/models/tests/test_resourcepool.py (+7/-7) src/maasserver/models/tests/test_space.py (+11/-11) src/maasserver/models/tests/test_staticipaddress.py (+11/-11) src/maasserver/models/tests/test_staticroute.py (+6/-6) src/maasserver/models/tests/test_subnet.py (+75/-75) src/maasserver/models/tests/test_tag.py (+7/-7) src/maasserver/models/tests/test_vlan.py (+8/-8) src/maasserver/prometheus/tests/test_stats.py (+3/-3) src/maasserver/regiondservices/tests/test_active_discovery.py (+11/-11) src/maasserver/regiondservices/tests/test_ntp.py (+3/-3) src/maasserver/regiondservices/tests/test_reverse_dns.py (+6/-6) src/maasserver/regiondservices/tests/test_service_monitor_service.py (+1/-1) src/maasserver/regiondservices/tests/test_syslog.py (+3/-3) src/maasserver/rpc/tests/test_boot.py (+58/-58) src/maasserver/rpc/tests/test_events.py (+11/-11) src/maasserver/rpc/tests/test_nodes.py (+30/-30) src/maasserver/rpc/tests/test_rackcontrollers.py (+8/-8) src/maasserver/rpc/tests/test_regionservice.py (+6/-6) src/maasserver/rpc/tests/test_regionservice_calls.py (+8/-8) src/maasserver/testing/tests/test_sampledata.py (+1/-1) src/maasserver/tests/test_bootresources.py (+30/-30) src/maasserver/tests/test_bootsources.py (+18/-18) src/maasserver/tests/test_compose_preseed.py (+1/-1) src/maasserver/tests/test_config.py (+6/-6) src/maasserver/tests/test_dbviews.py (+7/-7) src/maasserver/tests/test_dhcp.py (+82/-82) src/maasserver/tests/test_eventloop.py (+3/-3) src/maasserver/tests/test_ipc.py (+3/-3) src/maasserver/tests/test_listener.py (+25/-25) src/maasserver/tests/test_macaroon_auth.py (+2/-2) src/maasserver/tests/test_middleware.py (+5/-5) src/maasserver/tests/test_node_action.py (+9/-9) src/maasserver/tests/test_populate_tags.py (+7/-7) src/maasserver/tests/test_preseed.py (+28/-28) src/maasserver/tests/test_preseed_network.py (+26/-26) src/maasserver/tests/test_preseed_storage.py (+18/-18) src/maasserver/tests/test_proxyconfig.py (+11/-11) src/maasserver/tests/test_rbac.py (+1/-1) src/maasserver/tests/test_region_controller.py (+17/-17) src/maasserver/tests/test_routablepairs.py (+9/-9) src/maasserver/tests/test_security.py (+7/-7) src/maasserver/tests/test_server_address.py (+14/-14) src/maasserver/tests/test_service_monitor.py (+1/-1) src/maasserver/tests/test_start_up.py (+13/-13) src/maasserver/tests/test_stats.py (+3/-3) src/maasserver/tests/test_status_monitor.py (+2/-2) src/maasserver/tests/test_storage_layouts.py (+38/-38) src/maasserver/tests/test_webapp.py (+5/-5) src/maasserver/triggers/tests/test_websocket_listener.py (+194/-194) src/maasserver/utils/tests/test_asynchronous.py (+16/-16) src/maasserver/utils/tests/test_converters.py (+6/-6) src/maasserver/utils/tests/test_dbtasks.py (+15/-15) src/maasserver/utils/tests/test_interfaces.py (+4/-4) src/maasserver/utils/tests/test_mac.py (+2/-2) src/maasserver/utils/tests/test_orm.py (+81/-81) src/maasserver/utils/tests/test_osystems.py (+4/-4) src/maasserver/utils/tests/test_signals.py (+9/-9) src/maasserver/utils/tests/test_storage.py (+15/-15) src/maasserver/utils/tests/test_threads.py (+12/-12) src/maasserver/utils/tests/test_utils.py (+12/-12) src/maasserver/utils/tests/test_views.py (+24/-24) src/maasserver/views/tests/test_account.py (+15/-15) src/maasserver/websockets/handlers/tests/test_bootresource.py (+6/-6) src/maasserver/websockets/handlers/tests/test_discovery.py (+7/-7) src/maasserver/websockets/handlers/tests/test_domain.py (+28/-28) src/maasserver/websockets/handlers/tests/test_machine.py (+22/-22) src/maasserver/websockets/handlers/tests/test_pod.py (+1/-1) src/maasserver/websockets/handlers/tests/test_space.py (+3/-3) src/maasserver/websockets/handlers/tests/test_subnet.py (+17/-17) src/maasserver/websockets/handlers/tests/test_vlan.py (+17/-17) src/maasserver/websockets/handlers/tests/test_zone.py (+3/-3) src/maastesting/tests/test_fixtures.py (+13/-13) src/maastesting/tests/test_matchers.py (+35/-35) src/maastesting/tests/test_noseplug.py (+16/-16) src/maastesting/tests/test_parallel.py (+13/-13) src/metadataserver/builtin_scripts/tests/test_hooks.py (+93/-93) src/metadataserver/builtin_scripts/tests/test_smartctl.py (+43/-43) src/metadataserver/models/tests/test_scriptresult.py (+3/-3) src/metadataserver/tests/test_api.py (+10/-10) src/metadataserver/tests/test_api_twisted.py (+20/-20) src/metadataserver/tests/test_vendor_data.py (+2/-2) src/provisioningserver/boot/tests/test_windows.py (+3/-3) src/provisioningserver/dhcp/tests/test_config.py (+25/-25) src/provisioningserver/dhcp/tests/test_detect.py (+20/-20) src/provisioningserver/dhcp/tests/test_omshell.py (+4/-4) src/provisioningserver/dns/tests/test_actions.py (+12/-12) src/provisioningserver/drivers/pod/tests/test_lxd.py (+9/-9) src/provisioningserver/drivers/pod/tests/test_rsd.py (+31/-31) src/provisioningserver/drivers/pod/tests/test_virsh.py (+5/-5) src/provisioningserver/drivers/power/tests/test_amt.py (+17/-17) src/provisioningserver/drivers/power/tests/test_dli.py (+6/-6) src/provisioningserver/drivers/power/tests/test_ipmi.py (+13/-13) src/provisioningserver/drivers/power/tests/test_lxd.py (+6/-6) src/provisioningserver/drivers/power/tests/test_moonshot.py (+3/-3) src/provisioningserver/drivers/power/tests/test_openbmc.py (+2/-2) src/provisioningserver/drivers/power/tests/test_redfish.py (+5/-5) src/provisioningserver/drivers/power/tests/test_seamicro.py (+5/-5) src/provisioningserver/import_images/tests/test_boot_resources.py (+4/-4) src/provisioningserver/import_images/tests/test_download_descriptions.py (+7/-7) src/provisioningserver/logger/tests/test__tftp.py (+2/-2) src/provisioningserver/logger/tests/test__twisted.py (+12/-12) src/provisioningserver/logger/tests/test_logger.py (+8/-8) src/provisioningserver/proxy/tests/test_config.py (+8/-8) src/provisioningserver/rackdservices/tests/test_external.py (+12/-12) src/provisioningserver/rackdservices/tests/test_http.py (+7/-7) src/provisioningserver/rackdservices/tests/test_image_download_service.py (+3/-3) src/provisioningserver/rackdservices/tests/test_service_monitor_service.py (+2/-2) src/provisioningserver/rackdservices/tests/test_tftp.py (+7/-7) src/provisioningserver/refresh/tests/test_maas_api_helper.py (+10/-10) src/provisioningserver/rpc/tests/test_boot_images.py (+22/-22) src/provisioningserver/rpc/tests/test_clusterservice.py (+53/-53) src/provisioningserver/rpc/tests/test_common.py (+4/-4) src/provisioningserver/rpc/tests/test_dhcp.py (+20/-20) src/provisioningserver/rpc/tests/test_power.py (+7/-7) src/provisioningserver/rpc/tests/test_tags.py (+3/-3) src/provisioningserver/syslog/tests/test_config.py (+10/-10) src/provisioningserver/tests/test_config.py (+2/-2) src/provisioningserver/tests/test_events.py (+15/-15) src/provisioningserver/tests/test_monkey.py (+6/-6) src/provisioningserver/tests/test_path.py (+8/-8) src/provisioningserver/tests/test_register_command.py (+12/-12) src/provisioningserver/tests/test_security.py (+33/-33) src/provisioningserver/tests/test_service_monitor.py (+1/-1) src/provisioningserver/tests/test_tags.py (+1/-1) src/provisioningserver/tests/test_upgrade_cluster.py (+19/-19) src/provisioningserver/utils/tests/test_arp.py (+30/-30) src/provisioningserver/utils/tests/test_avahi.py (+18/-18) src/provisioningserver/utils/tests/test_beaconing.py (+31/-31) src/provisioningserver/utils/tests/test_config.py (+5/-5) src/provisioningserver/utils/tests/test_constraints.py (+16/-16) src/provisioningserver/utils/tests/test_dhclient.py (+6/-6) src/provisioningserver/utils/tests/test_dhcp.py (+7/-7) src/provisioningserver/utils/tests/test_env.py (+6/-6) src/provisioningserver/utils/tests/test_ethernet.py (+4/-4) src/provisioningserver/utils/tests/test_fs.py (+34/-34) src/provisioningserver/utils/tests/test_ipaddr.py (+15/-15) src/provisioningserver/utils/tests/test_iproute.py (+2/-2) src/provisioningserver/utils/tests/test_lxd.py (+1/-1) src/provisioningserver/utils/tests/test_network.py (+138/-138) src/provisioningserver/utils/tests/test_pcap.py (+8/-8) src/provisioningserver/utils/tests/test_ps.py (+4/-4) src/provisioningserver/utils/tests/test_registry.py (+3/-3) src/provisioningserver/utils/tests/test_scan_network.py (+22/-22) src/provisioningserver/utils/tests/test_send_beacons.py (+6/-6) src/provisioningserver/utils/tests/test_service_monitor.py (+64/-64) src/provisioningserver/utils/tests/test_services.py (+37/-37) src/provisioningserver/utils/tests/test_shell.py (+21/-21) src/provisioningserver/utils/tests/test_tcpip.py (+21/-21) src/provisioningserver/utils/tests/test_text.py (+12/-12) src/provisioningserver/utils/tests/test_tftp.py (+5/-5) src/provisioningserver/utils/tests/test_twisted.py (+113/-113) src/provisioningserver/utils/tests/test_url.py (+11/-11) src/provisioningserver/utils/tests/test_utils.py (+21/-21) src/provisioningserver/utils/tests/test_version.py (+26/-26) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alberto Donato (community) | Approve | ||
Review via email: mp+385277@code.launchpad.net |
Commit message
Remove extra underscores from test method names
The normal convention in Python is to use test_ as a prefix to test
names. A number of tests in MAAS were prefixed with test__ or test___.
This change removes the superfluous underscores.
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/src/maascli/tests/test_utils.py b/src/maascli/tests/test_utils.py |
2 | index f764598..4840f8b 100644 |
3 | --- a/src/maascli/tests/test_utils.py |
4 | +++ b/src/maascli/tests/test_utils.py |
5 | @@ -217,7 +217,7 @@ class TestIsResponseTextual(MAASTestCase): |
6 | class TestPrintResponseHeaders(MAASTestCase): |
7 | """Tests for `print_response_headers`.""" |
8 | |
9 | - def test__prints_http_headers_in_order(self): |
10 | + def test_prints_http_headers_in_order(self): |
11 | # print_response_headers() prints the given headers, in order, with |
12 | # each hyphen-delimited part of the header name capitalised, to the |
13 | # given file, with the names right aligned, and with a 2 space left |
14 | @@ -236,7 +236,7 @@ class TestPrintResponseHeaders(MAASTestCase): |
15 | class TestPrintResponseContent(MAASTestCase): |
16 | """Tests for `print_response_content`.""" |
17 | |
18 | - def test__prints_textual_response_with_newline(self): |
19 | + def test_prints_textual_response_with_newline(self): |
20 | # If the response content is textual and sys.stdout is connected to a |
21 | # TTY, print_response_content() prints the response with a trailing |
22 | # newline. |
23 | @@ -252,7 +252,7 @@ class TestPrintResponseContent(MAASTestCase): |
24 | utils.print_response_content(response, response["content"], buf) |
25 | self.assertEqual(response["content"] + b"\n", buf.getvalue()) |
26 | |
27 | - def test__prints_textual_response_when_redirected(self): |
28 | + def test_prints_textual_response_when_redirected(self): |
29 | # If the response content is textual and sys.stdout is not connected |
30 | # to a TTY, print_response_content() prints the response without a |
31 | # trailing newline. |
32 | @@ -267,7 +267,7 @@ class TestPrintResponseContent(MAASTestCase): |
33 | utils.print_response_content(response, response["content"], buf) |
34 | self.assertEqual(response["content"], buf.getvalue()) |
35 | |
36 | - def test__writes_binary_response(self): |
37 | + def test_writes_binary_response(self): |
38 | # Non-textual response content is written to the output stream |
39 | # using write(), so it carries no trailing newline, even if |
40 | # stdout is connected to a tty |
41 | @@ -282,7 +282,7 @@ class TestPrintResponseContent(MAASTestCase): |
42 | utils.print_response_content(response, response["content"], buf) |
43 | self.assertEqual(response["content"], buf.getvalue()) |
44 | |
45 | - def test__prints_textual_response_with_success_msg(self): |
46 | + def test_prints_textual_response_with_success_msg(self): |
47 | # When the response has a status code of 2XX, and the response body is |
48 | # textual print_response_content() will print a success message to the |
49 | # TTY. |
50 | diff --git a/src/maasserver/api/tests/test_discoveries.py b/src/maasserver/api/tests/test_discoveries.py |
51 | index 16176f2..a82fec7 100644 |
52 | --- a/src/maasserver/api/tests/test_discoveries.py |
53 | +++ b/src/maasserver/api/tests/test_discoveries.py |
54 | @@ -115,7 +115,7 @@ class TestDiscoveriesAPI(APITestCase.ForUser): |
55 | self.assertTrue(results[0]["last_seen"] >= results[1]["last_seen"]) |
56 | self.assertTrue(results[1]["last_seen"] >= results[2]["last_seen"]) |
57 | |
58 | - def test__by_unknown_mac(self): |
59 | + def test_by_unknown_mac(self): |
60 | rack = factory.make_RackController() |
61 | iface = factory.make_Interface(node=rack) |
62 | discovery = factory.make_Discovery(interface=iface) |
63 | @@ -127,7 +127,7 @@ class TestDiscoveriesAPI(APITestCase.ForUser): |
64 | results = self.get_api_results({"op": "by_unknown_mac"}) |
65 | self.assertThat(len(results), Equals(0)) |
66 | |
67 | - def test__by_unknown_ip(self): |
68 | + def test_by_unknown_ip(self): |
69 | rack = factory.make_RackController() |
70 | iface = factory.make_Interface(node=rack) |
71 | discovery = factory.make_Discovery(interface=iface, ip="10.0.0.1") |
72 | @@ -139,7 +139,7 @@ class TestDiscoveriesAPI(APITestCase.ForUser): |
73 | results = self.get_api_results({"op": "by_unknown_ip"}) |
74 | self.assertThat(len(results), Equals(0)) |
75 | |
76 | - def test__by_unknown_ip_and_mac__known_ip(self): |
77 | + def test_by_unknown_ip_and_mac__known_ip(self): |
78 | rack = factory.make_RackController() |
79 | iface = factory.make_Interface(node=rack) |
80 | discovery = factory.make_Discovery(interface=iface, ip="10.0.0.1") |
81 | @@ -150,7 +150,7 @@ class TestDiscoveriesAPI(APITestCase.ForUser): |
82 | results = self.get_api_results({"op": "by_unknown_ip_and_mac"}) |
83 | self.assertThat(len(results), Equals(0)) |
84 | |
85 | - def test__by_unknown_ip_and_mac__known_mac(self): |
86 | + def test_by_unknown_ip_and_mac__known_mac(self): |
87 | rack = factory.make_RackController() |
88 | iface = factory.make_Interface(node=rack) |
89 | discovery = factory.make_Discovery(interface=iface) |
90 | @@ -187,15 +187,15 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
91 | result = {"result": factory.make_name()} |
92 | self.scan_all_rack_networks_mock.return_value = result |
93 | |
94 | - def test__scan__fails_scan_all_if_not_forced(self): |
95 | + def test_scan__fails_scan_all_if_not_forced(self): |
96 | response = self.post_api_response({"op": "scan"}) |
97 | self.assertThat(response, HasStatusCode(http.client.BAD_REQUEST)) |
98 | |
99 | - def test__scan__threads_must_be_number(self): |
100 | + def test_scan__threads_must_be_number(self): |
101 | response = self.post_api_response({"op": "scan", "threads": "x"}) |
102 | self.assertThat(response, HasStatusCode(http.client.BAD_REQUEST)) |
103 | |
104 | - def test__scan__calls_scan_all_networks_with_scan_all_if_forced(self): |
105 | + def test_scan__calls_scan_all_networks_with_scan_all_if_forced(self): |
106 | result = self.post_api_results({"op": "scan", "force": "true"}) |
107 | self.assertThat(result, Equals(result)) |
108 | self.assertThat( |
109 | @@ -205,7 +205,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
110 | ), |
111 | ) |
112 | |
113 | - def test__scan__passes_ping(self): |
114 | + def test_scan__passes_ping(self): |
115 | result = self.post_api_results( |
116 | {"op": "scan", "force": "true", "always_use_ping": "true"} |
117 | ) |
118 | @@ -217,7 +217,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
119 | ), |
120 | ) |
121 | |
122 | - def test__scan__passes_slow(self): |
123 | + def test_scan__passes_slow(self): |
124 | result = self.post_api_results( |
125 | {"op": "scan", "force": "true", "slow": "true"} |
126 | ) |
127 | @@ -229,7 +229,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
128 | ), |
129 | ) |
130 | |
131 | - def test__scan__passes_threads(self): |
132 | + def test_scan__passes_threads(self): |
133 | result = self.post_api_results( |
134 | {"op": "scan", "force": "true", "threads": "3.14"} |
135 | ) |
136 | @@ -241,7 +241,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
137 | ), |
138 | ) |
139 | |
140 | - def test__scan__calls_scan_all_networks_with_specified_cidrs(self): |
141 | + def test_scan__calls_scan_all_networks_with_specified_cidrs(self): |
142 | result = self.post_api_results( |
143 | { |
144 | "op": "scan", |
145 | @@ -263,17 +263,17 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
146 | ), |
147 | ) |
148 | |
149 | - def test__scan__with_invalid_cidrs_fails(self): |
150 | + def test_scan__with_invalid_cidrs_fails(self): |
151 | response = self.post_api_response( |
152 | {"op": "scan", "cidr": ["x.x.x.x/y"]} |
153 | ) |
154 | self.assertThat(response, HasStatusCode(http.client.BAD_REQUEST)) |
155 | |
156 | - def test__scan__with_no_cidrs_does_not_call_scan_all_networks(self): |
157 | + def test_scan__with_no_cidrs_does_not_call_scan_all_networks(self): |
158 | response = self.post_api_response({"op": "scan"}) |
159 | self.assertThat(response, HasStatusCode(http.client.BAD_REQUEST)) |
160 | |
161 | - def test__clear_not_allowed_for_non_admin(self): |
162 | + def test_clear_not_allowed_for_non_admin(self): |
163 | rack = factory.make_RackController() |
164 | iface = rack.interface_set.first() |
165 | make_discoveries(interface=iface, count=3) |
166 | @@ -283,7 +283,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
167 | http.client.FORBIDDEN, response.status_code, response.content |
168 | ) |
169 | |
170 | - def test__clear_requires_parameters(self): |
171 | + def test_clear_requires_parameters(self): |
172 | self.become_admin() |
173 | rack = factory.make_RackController() |
174 | iface = rack.interface_set.first() |
175 | @@ -294,7 +294,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
176 | http.client.BAD_REQUEST, response.status_code, response.content |
177 | ) |
178 | |
179 | - def test__clear_all_allowed_for_admin(self): |
180 | + def test_clear_all_allowed_for_admin(self): |
181 | self.become_admin() |
182 | rack = factory.make_RackController() |
183 | iface = rack.interface_set.first() |
184 | @@ -303,7 +303,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
185 | response = self.client.post(uri, {"op": "clear", "all": "true"}) |
186 | self.assertEqual(204, response.status_code, response.content) |
187 | |
188 | - def test__clear_mdns_allowed_for_admin(self): |
189 | + def test_clear_mdns_allowed_for_admin(self): |
190 | self.become_admin() |
191 | rack = factory.make_RackController() |
192 | iface = rack.interface_set.first() |
193 | @@ -312,7 +312,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
194 | response = self.client.post(uri, {"op": "clear", "mdns": "true"}) |
195 | self.assertEqual(204, response.status_code, response.content) |
196 | |
197 | - def test__clear_neighbours_allowed_for_admin(self): |
198 | + def test_clear_neighbours_allowed_for_admin(self): |
199 | self.become_admin() |
200 | rack = factory.make_RackController() |
201 | iface = rack.interface_set.first() |
202 | @@ -323,7 +323,7 @@ class TestDiscoveriesScanAPI(APITestCase.ForUser): |
203 | |
204 | |
205 | class TestDiscoveriesClearByMACandIP(APITestCase.ForUser): |
206 | - def test__clear_by_mac_and_ip_not_allowed_for_non_admin(self): |
207 | + def test_clear_by_mac_and_ip_not_allowed_for_non_admin(self): |
208 | rack = factory.make_RackController() |
209 | iface = rack.interface_set.first() |
210 | make_discoveries(interface=iface, count=3) |
211 | @@ -340,7 +340,7 @@ class TestDiscoveriesClearByMACandIP(APITestCase.ForUser): |
212 | http.client.FORBIDDEN, response.status_code, response.content |
213 | ) |
214 | |
215 | - def test__clear_by_mac_and_ip_requires_parameters(self): |
216 | + def test_clear_by_mac_and_ip_requires_parameters(self): |
217 | self.become_admin() |
218 | rack = factory.make_RackController() |
219 | iface = rack.interface_set.first() |
220 | @@ -351,7 +351,7 @@ class TestDiscoveriesClearByMACandIP(APITestCase.ForUser): |
221 | http.client.BAD_REQUEST, response.status_code, response.content |
222 | ) |
223 | |
224 | - def test__clear_by_mac_and_ip_allowed_for_admin(self): |
225 | + def test_clear_by_mac_and_ip_allowed_for_admin(self): |
226 | self.become_admin() |
227 | rack = factory.make_RackController() |
228 | iface = rack.interface_set.first() |
229 | @@ -470,7 +470,7 @@ def make_RPCResults( |
230 | |
231 | |
232 | class TestInterpretsScanAllRackNetworksRPCResults(MAASTestCase): |
233 | - def test__no_racks_available(self): |
234 | + def test_no_racks_available(self): |
235 | results = make_RPCResults(available=[], failed=[]) |
236 | result = get_scan_result_string_for_humans(results) |
237 | self.assertThat( |
238 | @@ -480,7 +480,7 @@ class TestInterpretsScanAllRackNetworksRPCResults(MAASTestCase): |
239 | ), |
240 | ) |
241 | |
242 | - def test__scan_not_started_on_at_least_one_rack(self): |
243 | + def test_scan_not_started_on_at_least_one_rack(self): |
244 | results = make_RPCResults( |
245 | available=["x"], unavailable=["y", "z"], failed=[] |
246 | ) |
247 | @@ -490,12 +490,12 @@ class TestInterpretsScanAllRackNetworksRPCResults(MAASTestCase): |
248 | DocTestMatches("Scanning could not be started on 2 rack..."), |
249 | ) |
250 | |
251 | - def test__scan_in_progress(self): |
252 | + def test_scan_in_progress(self): |
253 | results = make_RPCResults(available=["x"], unavailable=[], failed=[]) |
254 | result = get_scan_result_string_for_humans(results) |
255 | self.assertThat(result, DocTestMatches("Scanning is in-progress...")) |
256 | |
257 | - def test__scan_failed_on_at_least_one_rack(self): |
258 | + def test_scan_failed_on_at_least_one_rack(self): |
259 | results = make_RPCResults( |
260 | available=["x"], failed=["v", "w"], unavailable=["y", "z"] |
261 | ) |
262 | @@ -508,7 +508,7 @@ class TestInterpretsScanAllRackNetworksRPCResults(MAASTestCase): |
263 | ), |
264 | ) |
265 | |
266 | - def test__failed_rack(self): |
267 | + def test_failed_rack(self): |
268 | results = make_RPCResults( |
269 | available=["w"], failed=["w"], unavailable=[] |
270 | ) |
271 | @@ -550,7 +550,7 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
272 | timeout=self.timed_out, |
273 | ) |
274 | |
275 | - def test__populates_results_correctly(self): |
276 | + def test_populates_results_correctly(self): |
277 | result = user_friendly_scan_results(scan_all_rack_networks()) |
278 | self.assertThat( |
279 | result, |
280 | @@ -573,12 +573,12 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
281 | ), |
282 | ) |
283 | |
284 | - def test__results_can_be_converted_to_json_and_back(self): |
285 | + def test_results_can_be_converted_to_json_and_back(self): |
286 | result = user_friendly_scan_results(scan_all_rack_networks()) |
287 | json_result = json.dumps(result) |
288 | self.assertThat(json.loads(json_result), Equals(result)) |
289 | |
290 | - def test__calls_racks_synchronously(self): |
291 | + def test_calls_racks_synchronously(self): |
292 | scan_all_rack_networks() |
293 | self.assertThat( |
294 | self.call_racks_sync_mock, |
295 | @@ -587,7 +587,7 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
296 | ), |
297 | ) |
298 | |
299 | - def test__calls_racks_synchronously_with_scan_all(self): |
300 | + def test_calls_racks_synchronously_with_scan_all(self): |
301 | scan_all_rack_networks(scan_all=True) |
302 | self.assertThat( |
303 | self.call_racks_sync_mock, |
304 | @@ -598,7 +598,7 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
305 | ), |
306 | ) |
307 | |
308 | - def test__calls_racks_synchronously_with_cidrs(self): |
309 | + def test_calls_racks_synchronously_with_cidrs(self): |
310 | subnet_query = Subnet.objects.filter( |
311 | staticipaddress__interface__node__in=self.started |
312 | ) |
313 | @@ -617,7 +617,7 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
314 | controllers = self.call_racks_sync_mock.call_args[1]["controllers"] |
315 | self.assertItemsEqual(self.started, controllers) |
316 | |
317 | - def test__calls_racks_synchronously_with_force_ping(self): |
318 | + def test_calls_racks_synchronously_with_force_ping(self): |
319 | scan_all_rack_networks(ping=True) |
320 | self.assertThat( |
321 | self.call_racks_sync_mock, |
322 | @@ -628,7 +628,7 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
323 | ), |
324 | ) |
325 | |
326 | - def test__calls_racks_synchronously_with_threads(self): |
327 | + def test_calls_racks_synchronously_with_threads(self): |
328 | threads = random.randint(1, 99) |
329 | scan_all_rack_networks(threads=threads) |
330 | self.assertThat( |
331 | @@ -640,7 +640,7 @@ class TestScanAllRackNetworksInterpretsRPCResults(MAASServerTestCase): |
332 | ), |
333 | ) |
334 | |
335 | - def test__calls_racks_synchronously_with_slow(self): |
336 | + def test_calls_racks_synchronously_with_slow(self): |
337 | scan_all_rack_networks(slow=True) |
338 | self.assertThat( |
339 | self.call_racks_sync_mock, |
340 | diff --git a/src/maasserver/api/tests/test_doc.py b/src/maasserver/api/tests/test_doc.py |
341 | index 2b81cb7..8e5bca0 100644 |
342 | --- a/src/maasserver/api/tests/test_doc.py |
343 | +++ b/src/maasserver/api/tests/test_doc.py |
344 | @@ -436,11 +436,11 @@ class TestDescribingAPI(MAASTestCase): |
345 | class TestGeneratePowerTypesDoc(MAASTestCase): |
346 | """Tests for `generate_power_types_doc`.""" |
347 | |
348 | - def test__generate_power_types_doc_generates_doc(self): |
349 | + def test_generate_power_types_doc_generates_doc(self): |
350 | doc = generate_power_types_doc() |
351 | self.assertThat(doc, ContainsAll(["Power types", "IPMI", "virsh"])) |
352 | |
353 | - def test__generate_power_types_doc_generates_describes_power_type(self): |
354 | + def test_generate_power_types_doc_generates_describes_power_type(self): |
355 | power_driver = random.choice( |
356 | [ |
357 | driver |
358 | @@ -465,11 +465,11 @@ class TestGeneratePowerTypesDoc(MAASTestCase): |
359 | class TestGeneratePodTypesDoc(MAASTestCase): |
360 | """Tests for `generate_pod_types_doc`.""" |
361 | |
362 | - def test__generate_pod_types_doc_generates_doc(self): |
363 | + def test_generate_pod_types_doc_generates_doc(self): |
364 | doc = generate_pod_types_doc() |
365 | self.assertThat(doc, ContainsAll(["Pod types", "virsh"])) |
366 | |
367 | - def test__generate_pod_types_doc_generates_describes_types(self): |
368 | + def test_generate_pod_types_doc_generates_describes_types(self): |
369 | pod_driver = random.choice([driver for _, driver in PodDriverRegistry]) |
370 | doc = generate_pod_types_doc() |
371 | self.assertThat( |
372 | @@ -478,12 +478,12 @@ class TestGeneratePodTypesDoc(MAASTestCase): |
373 | |
374 | |
375 | class TestDescribeCanonical(MAASTestCase): |
376 | - def test__passes_True_False_and_None_through(self): |
377 | + def test_passes_True_False_and_None_through(self): |
378 | self.expectThat(describe_canonical(True), Is(True)) |
379 | self.expectThat(describe_canonical(False), Is(False)) |
380 | self.expectThat(describe_canonical(None), Is(None)) |
381 | |
382 | - def test__passes_numbers_through(self): |
383 | + def test_passes_numbers_through(self): |
384 | self.expectThat( |
385 | describe_canonical(1), MatchesAll(IsInstance(int), Equals(1)) |
386 | ) |
387 | @@ -494,12 +494,12 @@ class TestDescribeCanonical(MAASTestCase): |
388 | describe_canonical(1.0), MatchesAll(IsInstance(float), Equals(1.0)) |
389 | ) |
390 | |
391 | - def test__passes_unicode_strings_through(self): |
392 | + def test_passes_unicode_strings_through(self): |
393 | string = factory.make_string() |
394 | self.assertThat(string, IsInstance(str)) |
395 | self.expectThat(describe_canonical(string), Is(string)) |
396 | |
397 | - def test__decodes_byte_strings(self): |
398 | + def test_decodes_byte_strings(self): |
399 | string = factory.make_string().encode("utf-8") |
400 | self.expectThat( |
401 | describe_canonical(string), |
402 | @@ -510,32 +510,32 @@ class TestDescribeCanonical(MAASTestCase): |
403 | ), |
404 | ) |
405 | |
406 | - def test__returns_sequences_as_tuples(self): |
407 | + def test_returns_sequences_as_tuples(self): |
408 | self.expectThat(describe_canonical([1, 2, 3]), Equals((1, 2, 3))) |
409 | |
410 | - def test__recursively_calls_sequence_elements(self): |
411 | + def test_recursively_calls_sequence_elements(self): |
412 | self.expectThat(describe_canonical([1, [2, 3]]), Equals((1, (2, 3)))) |
413 | |
414 | - def test__sorts_sequences(self): |
415 | + def test_sorts_sequences(self): |
416 | self.expectThat(describe_canonical([3, 1, 2]), Equals((1, 2, 3))) |
417 | self.expectThat( |
418 | describe_canonical([[1, 2], [1, 1]]), Equals(((1, 1), (1, 2))) |
419 | ) |
420 | |
421 | - def test__returns_mappings_as_tuples(self): |
422 | + def test_returns_mappings_as_tuples(self): |
423 | self.expectThat(describe_canonical({1: 2}), Equals(((1, 2),))) |
424 | |
425 | - def test__recursively_calls_mapping_keys_and_values(self): |
426 | + def test_recursively_calls_mapping_keys_and_values(self): |
427 | mapping = {"key\u1234".encode("utf-8"): ["b", "a", "r"]} |
428 | expected = (("key\u1234", ("a", "b", "r")),) |
429 | self.expectThat(describe_canonical(mapping), Equals(expected)) |
430 | |
431 | - def test__sorts_mappings(self): |
432 | + def test_sorts_mappings(self): |
433 | self.expectThat( |
434 | describe_canonical({2: 1, 1: 1}), Equals(((1, 1), (2, 1))) |
435 | ) |
436 | |
437 | - def test__sorts_mappings_by_key_and_value(self): |
438 | + def test_sorts_mappings_by_key_and_value(self): |
439 | class inth(int): |
440 | """An `int` that hashes independently from its value. |
441 | |
442 | @@ -560,20 +560,20 @@ class TestDescribeCanonical(MAASTestCase): |
443 | ) |
444 | self.expectThat(describe_canonical(mapping), Equals(expected)) |
445 | |
446 | - def test__rejects_other_types(self): |
447 | + def test_rejects_other_types(self): |
448 | self.assertRaises(TypeError, describe_canonical, lambda: None) |
449 | |
450 | |
451 | class TestHashCanonical(MAASTestCase): |
452 | """Tests for `hash_canonical`.""" |
453 | |
454 | - def test__canonicalizes_argument(self): |
455 | + def test_canonicalizes_argument(self): |
456 | describe_canonical = self.patch(doc_module, "describe_canonical") |
457 | describe_canonical.return_value = "" |
458 | hash_canonical(sentinel.desc) |
459 | self.assertThat(describe_canonical, MockCalledOnceWith(sentinel.desc)) |
460 | |
461 | - def test__returns_hash_object(self): |
462 | + def test_returns_hash_object(self): |
463 | hasher = hash_canonical(factory.make_string()) |
464 | self.assertThat( |
465 | hasher, |
466 | @@ -587,7 +587,7 @@ class TestHashCanonical(MAASTestCase): |
467 | ), |
468 | ) |
469 | |
470 | - def test__misc_digests(self): |
471 | + def test_misc_digests(self): |
472 | def hexdigest(data): |
473 | return hash_canonical(data).hexdigest() |
474 | |
475 | @@ -634,7 +634,7 @@ class TestGetAPIDescriptionHash(MAASTestCase): |
476 | with doc_module.api_description_hash_lock: |
477 | doc_module.api_description_hash = None |
478 | |
479 | - def test__calculates_hash_from_api_description(self): |
480 | + def test_calculates_hash_from_api_description(self): |
481 | # Fake the API description. |
482 | api_description = factory.make_string() |
483 | api_description_hasher = hash_canonical(api_description) |
484 | @@ -645,7 +645,7 @@ class TestGetAPIDescriptionHash(MAASTestCase): |
485 | Equals(api_description_hasher.hexdigest()), |
486 | ) |
487 | |
488 | - def test__caches_hash(self): |
489 | + def test_caches_hash(self): |
490 | # Fake the API description. |
491 | api_description = factory.make_string() |
492 | api_description_hasher = hash_canonical(api_description) |
493 | diff --git a/src/maasserver/api/tests/test_events.py b/src/maasserver/api/tests/test_events.py |
494 | index 70a5e3c..af600ca 100644 |
495 | --- a/src/maasserver/api/tests/test_events.py |
496 | +++ b/src/maasserver/api/tests/test_events.py |
497 | @@ -73,7 +73,7 @@ def AfterBeingDecoded(matcher): |
498 | class TestEventToDict(APITestCase.ForUser): |
499 | """Test for `event_to_dict` function.""" |
500 | |
501 | - def test__node_not_None(self): |
502 | + def test_node_not_None(self): |
503 | event = factory.make_Event() |
504 | self.assertThat( |
505 | event_to_dict(event), |
506 | @@ -93,7 +93,7 @@ class TestEventToDict(APITestCase.ForUser): |
507 | ), |
508 | ) |
509 | |
510 | - def test__node_and_user_is_None(self): |
511 | + def test_node_and_user_is_None(self): |
512 | user = factory.make_User() |
513 | node = factory.make_Node() |
514 | event = factory.make_Event(node=node, user=user) |
515 | @@ -118,7 +118,7 @@ class TestEventToDict(APITestCase.ForUser): |
516 | ), |
517 | ) |
518 | |
519 | - def test__type_level_AUDIT(self): |
520 | + def test_type_level_AUDIT(self): |
521 | event = factory.make_Event() |
522 | self.assertThat( |
523 | event_to_dict(event), |
524 | diff --git a/src/maasserver/api/tests/test_machine.py b/src/maasserver/api/tests/test_machine.py |
525 | index 7642950..d383c02 100644 |
526 | --- a/src/maasserver/api/tests/test_machine.py |
527 | +++ b/src/maasserver/api/tests/test_machine.py |
528 | @@ -2477,7 +2477,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
529 | """Get the API URI for `machine`.""" |
530 | return reverse("machine_handler", args=[machine.system_id]) |
531 | |
532 | - def test__403_when_not_admin(self): |
533 | + def test_403_when_not_admin(self): |
534 | machine = factory.make_Node(status=NODE_STATUS.READY) |
535 | response = self.client.post( |
536 | self.get_machine_uri(machine), {"op": "set_storage_layout"} |
537 | @@ -2486,7 +2486,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
538 | http.client.FORBIDDEN, response.status_code, response.content |
539 | ) |
540 | |
541 | - def test__409_when_machine_not_ready(self): |
542 | + def test_409_when_machine_not_ready(self): |
543 | self.become_admin() |
544 | machine = factory.make_Node(status=NODE_STATUS.ALLOCATED) |
545 | response = self.client.post( |
546 | @@ -2496,7 +2496,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
547 | http.client.CONFLICT, response.status_code, response.content |
548 | ) |
549 | |
550 | - def test__400_when_storage_layout_missing(self): |
551 | + def test_400_when_storage_layout_missing(self): |
552 | self.become_admin() |
553 | machine = factory.make_Node(status=NODE_STATUS.READY) |
554 | response = self.client.post( |
555 | @@ -2510,7 +2510,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
556 | json_load_bytes(response.content), |
557 | ) |
558 | |
559 | - def test__400_when_invalid_optional_param(self): |
560 | + def test_400_when_invalid_optional_param(self): |
561 | self.become_admin() |
562 | machine = factory.make_Node(status=NODE_STATUS.READY) |
563 | factory.make_PhysicalBlockDevice(node=machine) |
564 | @@ -2535,7 +2535,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
565 | json_load_bytes(response.content), |
566 | ) |
567 | |
568 | - def test__400_when_no_boot_disk(self): |
569 | + def test_400_when_no_boot_disk(self): |
570 | self.become_admin() |
571 | machine = factory.make_Node( |
572 | status=NODE_STATUS.READY, with_boot_disk=False |
573 | @@ -2553,7 +2553,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
574 | response.content.decode(settings.DEFAULT_CHARSET), |
575 | ) |
576 | |
577 | - def test__400_when_layout_error(self): |
578 | + def test_400_when_layout_error(self): |
579 | self.become_admin() |
580 | machine = factory.make_Node(status=NODE_STATUS.READY) |
581 | mock_set_storage_layout = self.patch(Machine, "set_storage_layout") |
582 | @@ -2572,7 +2572,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
583 | response.content.decode(settings.DEFAULT_CHARSET), |
584 | ) |
585 | |
586 | - def test__400_when_layout_not_supported(self): |
587 | + def test_400_when_layout_not_supported(self): |
588 | self.become_admin() |
589 | machine = factory.make_Node(status=NODE_STATUS.READY) |
590 | factory.make_PhysicalBlockDevice(node=machine) |
591 | @@ -2589,7 +2589,7 @@ class TestSetStorageLayout(APITestCase.ForUser): |
592 | response.content.decode(settings.DEFAULT_CHARSET), |
593 | ) |
594 | |
595 | - def test__calls_set_storage_layout_on_machine(self): |
596 | + def test_calls_set_storage_layout_on_machine(self): |
597 | self.become_admin() |
598 | machine = factory.make_Node(status=NODE_STATUS.READY) |
599 | mock_set_storage_layout = self.patch(Machine, "set_storage_layout") |
600 | @@ -2613,7 +2613,7 @@ class TestMountSpecial(APITestCase.ForUser): |
601 | """Get the API URI for `machine`.""" |
602 | return reverse("machine_handler", args=[machine.system_id]) |
603 | |
604 | - def test__fstype_and_mount_point_is_required_but_options_is_not(self): |
605 | + def test_fstype_and_mount_point_is_required_but_options_is_not(self): |
606 | machine = factory.make_Node( |
607 | status=NODE_STATUS.ALLOCATED, owner=self.user |
608 | ) |
609 | @@ -2631,7 +2631,7 @@ class TestMountSpecial(APITestCase.ForUser): |
610 | ), |
611 | ) |
612 | |
613 | - def test__fstype_must_be_a_non_storage_type(self): |
614 | + def test_fstype_must_be_a_non_storage_type(self): |
615 | machine = factory.make_Node( |
616 | status=NODE_STATUS.ALLOCATED, owner=self.user |
617 | ) |
618 | @@ -2659,7 +2659,7 @@ class TestMountSpecial(APITestCase.ForUser): |
619 | "using fstype " + fstype, |
620 | ) |
621 | |
622 | - def test__mount_point_must_be_absolute(self): |
623 | + def test_mount_point_must_be_absolute(self): |
624 | machine = factory.make_Node( |
625 | status=NODE_STATUS.ALLOCATED, owner=self.user |
626 | ) |
627 | @@ -2696,7 +2696,7 @@ class TestMountSpecialScenarios(APITestCase.ForUser): |
628 | """Get the API URI for `machine`.""" |
629 | return reverse("machine_handler", args=[machine.system_id]) |
630 | |
631 | - def test__machine_representation_includes_non_storage_filesystem(self): |
632 | + def test_machine_representation_includes_non_storage_filesystem(self): |
633 | self.become_admin() |
634 | machine = factory.make_Node(status=NODE_STATUS.READY) |
635 | filesystem = factory.make_Filesystem(node=machine, fstype=self.fstype) |
636 | @@ -2729,7 +2729,7 @@ class TestMountSpecialScenarios(APITestCase.ForUser): |
637 | ), |
638 | ) |
639 | |
640 | - def test__only_acquired_special_filesystems(self): |
641 | + def test_only_acquired_special_filesystems(self): |
642 | self.become_admin() |
643 | machine = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
644 | factory.make_Filesystem( |
645 | @@ -2767,7 +2767,7 @@ class TestMountSpecialScenarios(APITestCase.ForUser): |
646 | ), |
647 | ) |
648 | |
649 | - def test__only_not_acquired_special_filesystems(self): |
650 | + def test_only_not_acquired_special_filesystems(self): |
651 | self.become_admin() |
652 | machine = factory.make_Node(status=NODE_STATUS.READY) |
653 | filesystem = factory.make_Filesystem( |
654 | @@ -2834,12 +2834,12 @@ class TestMountSpecialScenarios(APITestCase.ForUser): |
655 | ), |
656 | ) |
657 | |
658 | - def test__user_mounts_non_storage_filesystem_on_allocated_machine(self): |
659 | + def test_user_mounts_non_storage_filesystem_on_allocated_machine(self): |
660 | self.assertCanMountFilesystem( |
661 | factory.make_Node(status=NODE_STATUS.ALLOCATED, owner=self.user) |
662 | ) |
663 | |
664 | - def test__conflict_to_mount_on_non_ready_allocated_machine(self): |
665 | + def test_conflict_to_mount_on_non_ready_allocated_machine(self): |
666 | statuses = {name for name, _ in NODE_STATUS_CHOICES} |
667 | statuses -= {NODE_STATUS.READY, NODE_STATUS.ALLOCATED} |
668 | for status in statuses: |
669 | @@ -2859,19 +2859,19 @@ class TestMountSpecialScenarios(APITestCase.ForUser): |
670 | "using status %d" % status, |
671 | ) |
672 | |
673 | - def test__admin_mounts_non_storage_filesystem_on_allocated_machine(self): |
674 | + def test_admin_mounts_non_storage_filesystem_on_allocated_machine(self): |
675 | self.become_admin() |
676 | self.assertCanMountFilesystem( |
677 | factory.make_Node(status=NODE_STATUS.ALLOCATED, owner=self.user) |
678 | ) |
679 | |
680 | - def test__admin_mounts_non_storage_filesystem_on_ready_machine(self): |
681 | + def test_admin_mounts_non_storage_filesystem_on_ready_machine(self): |
682 | self.become_admin() |
683 | self.assertCanMountFilesystem( |
684 | factory.make_Node(status=NODE_STATUS.READY) |
685 | ) |
686 | |
687 | - def test__admin_cannot_mount_on_non_ready_or_allocated_machine(self): |
688 | + def test_admin_cannot_mount_on_non_ready_or_allocated_machine(self): |
689 | self.become_admin() |
690 | statuses = {name for name, _ in NODE_STATUS_CHOICES} |
691 | statuses -= {NODE_STATUS.READY, NODE_STATUS.ALLOCATED} |
692 | @@ -2900,7 +2900,7 @@ class TestUnmountSpecial(APITestCase.ForUser): |
693 | """Get the API URI for `machine`.""" |
694 | return reverse("machine_handler", args=[machine.system_id]) |
695 | |
696 | - def test__mount_point_is_required(self): |
697 | + def test_mount_point_is_required(self): |
698 | machine = factory.make_Node( |
699 | status=NODE_STATUS.ALLOCATED, owner=self.user |
700 | ) |
701 | @@ -2913,7 +2913,7 @@ class TestUnmountSpecial(APITestCase.ForUser): |
702 | Equals({"mount_point": ["This field is required."]}), |
703 | ) |
704 | |
705 | - def test__mount_point_must_be_absolute(self): |
706 | + def test_mount_point_must_be_absolute(self): |
707 | machine = factory.make_Node( |
708 | status=NODE_STATUS.ALLOCATED, owner=self.user |
709 | ) |
710 | @@ -2964,12 +2964,12 @@ class TestUnmountSpecialScenarios(APITestCase.ForUser): |
711 | ) |
712 | self.assertThat(Filesystem.objects.filter(node=machine), HasLength(0)) |
713 | |
714 | - def test__user_unmounts_non_storage_filesystem_on_allocated_machine(self): |
715 | + def test_user_unmounts_non_storage_filesystem_on_allocated_machine(self): |
716 | self.assertCanUnmountFilesystem( |
717 | factory.make_Node(status=NODE_STATUS.ALLOCATED, owner=self.user) |
718 | ) |
719 | |
720 | - def test__conflict_to_unmount_on_non_ready_allocated_machine(self): |
721 | + def test_conflict_to_unmount_on_non_ready_allocated_machine(self): |
722 | statuses = {name for name, _ in NODE_STATUS_CHOICES} |
723 | statuses -= {NODE_STATUS.READY, NODE_STATUS.ALLOCATED} |
724 | for status in statuses: |
725 | @@ -2992,19 +2992,19 @@ class TestUnmountSpecialScenarios(APITestCase.ForUser): |
726 | "using status %d" % status, |
727 | ) |
728 | |
729 | - def test__admin_unmounts_non_storage_filesystem_on_allocated_machine(self): |
730 | + def test_admin_unmounts_non_storage_filesystem_on_allocated_machine(self): |
731 | self.become_admin() |
732 | self.assertCanUnmountFilesystem( |
733 | factory.make_Node(status=NODE_STATUS.ALLOCATED, owner=self.user) |
734 | ) |
735 | |
736 | - def test__admin_unmounts_non_storage_filesystem_on_ready_machine(self): |
737 | + def test_admin_unmounts_non_storage_filesystem_on_ready_machine(self): |
738 | self.become_admin() |
739 | self.assertCanUnmountFilesystem( |
740 | factory.make_Node(status=NODE_STATUS.READY) |
741 | ) |
742 | |
743 | - def test__admin_cannot_unmount_on_non_ready_or_allocated_machine(self): |
744 | + def test_admin_cannot_unmount_on_non_ready_or_allocated_machine(self): |
745 | self.become_admin() |
746 | statuses = {name for name, _ in NODE_STATUS_CHOICES} |
747 | statuses -= {NODE_STATUS.READY, NODE_STATUS.ALLOCATED} |
748 | @@ -3034,7 +3034,7 @@ class TestDefaultGateways(APITestCase.ForUser): |
749 | """Get the API URI for `machine`.""" |
750 | return reverse("machine_handler", args=[machine.system_id]) |
751 | |
752 | - def test__403_when_not_admin(self): |
753 | + def test_403_when_not_admin(self): |
754 | machine = factory.make_Node( |
755 | owner=self.user, status=NODE_STATUS.ALLOCATED |
756 | ) |
757 | @@ -3045,7 +3045,7 @@ class TestDefaultGateways(APITestCase.ForUser): |
758 | http.client.FORBIDDEN, response.status_code, response.content |
759 | ) |
760 | |
761 | - def test__clears_default_gateways(self): |
762 | + def test_clears_default_gateways(self): |
763 | self.become_admin() |
764 | machine = factory.make_Node( |
765 | owner=self.user, status=NODE_STATUS.ALLOCATED |
766 | @@ -3086,7 +3086,7 @@ class TestDefaultGateways(APITestCase.ForUser): |
767 | self.assertIsNone(machine.gateway_link_ipv4) |
768 | self.assertIsNone(machine.gateway_link_ipv6) |
769 | |
770 | - def test__returns_null_gateway_if_no_explicit_gateway_exists(self): |
771 | + def test_returns_null_gateway_if_no_explicit_gateway_exists(self): |
772 | machine = factory.make_Node( |
773 | owner=self.user, status=NODE_STATUS.ALLOCATED |
774 | ) |
775 | @@ -3128,7 +3128,7 @@ class TestDefaultGateways(APITestCase.ForUser): |
776 | ), |
777 | ) |
778 | |
779 | - def test__returns_effective_gateway_if_no_explicit_gateway_set(self): |
780 | + def test_returns_effective_gateway_if_no_explicit_gateway_set(self): |
781 | machine = factory.make_Node( |
782 | owner=self.user, status=NODE_STATUS.ALLOCATED |
783 | ) |
784 | @@ -3176,7 +3176,7 @@ class TestDefaultGateways(APITestCase.ForUser): |
785 | ), |
786 | ) |
787 | |
788 | - def test__returns_links_if_set(self): |
789 | + def test_returns_links_if_set(self): |
790 | machine = factory.make_Node( |
791 | owner=self.user, status=NODE_STATUS.ALLOCATED |
792 | ) |
793 | @@ -3233,7 +3233,7 @@ class TestGetCurtinConfig(APITestCase.ForUser): |
794 | """Get the API URI for `machine`.""" |
795 | return reverse("machine_handler", args=[machine.system_id]) |
796 | |
797 | - def test__500_when_machine_not_in_deployment_state(self): |
798 | + def test_500_when_machine_not_in_deployment_state(self): |
799 | machine = factory.make_Node( |
800 | owner=self.user, |
801 | status=factory.pick_enum( |
802 | @@ -3252,7 +3252,7 @@ class TestGetCurtinConfig(APITestCase.ForUser): |
803 | http.client.BAD_REQUEST, response.status_code, response.content |
804 | ) |
805 | |
806 | - def test__returns_curtin_config_in_yaml(self): |
807 | + def test_returns_curtin_config_in_yaml(self): |
808 | machine = factory.make_Node( |
809 | owner=self.user, status=NODE_STATUS.DEPLOYING |
810 | ) |
811 | diff --git a/src/maasserver/api/tests/test_machines.py b/src/maasserver/api/tests/test_machines.py |
812 | index 9b2e78f..98c4485 100644 |
813 | --- a/src/maasserver/api/tests/test_machines.py |
814 | +++ b/src/maasserver/api/tests/test_machines.py |
815 | @@ -3539,7 +3539,7 @@ class TestPowerState(APITransactionTestCase.ForUser): |
816 | ) # Wait for all pending tasks to run. |
817 | self.assertThat(reload_object(machine).power_state, Equals(state)) |
818 | |
819 | - def test__returns_actual_state(self): |
820 | + def test_returns_actual_state(self): |
821 | machine = factory.make_Node_with_Interface_on_Subnet(power_type="ipmi") |
822 | random_state = random.choice(["on", "off", "error"]) |
823 | self.prepare_rpc( |
824 | diff --git a/src/maasserver/api/tests/test_subnets.py b/src/maasserver/api/tests/test_subnets.py |
825 | index ac33221..c1e8c6e 100644 |
826 | --- a/src/maasserver/api/tests/test_subnets.py |
827 | +++ b/src/maasserver/api/tests/test_subnets.py |
828 | @@ -413,7 +413,7 @@ class TestSubnetAPI(APITestCase.ForUser): |
829 | class TestSubnetAPIAuth(APITestCase.ForAnonymous): |
830 | """Authorization tests for subnet API.""" |
831 | |
832 | - def test__reserved_ip_ranges_fails_if_not_logged_in(self): |
833 | + def test_reserved_ip_ranges_fails_if_not_logged_in(self): |
834 | subnet = factory.make_Subnet() |
835 | response = self.client.get( |
836 | get_subnet_uri(subnet), {"op": "reserved_ip_ranges"} |
837 | @@ -424,7 +424,7 @@ class TestSubnetAPIAuth(APITestCase.ForAnonymous): |
838 | explain_unexpected_response(http.client.UNAUTHORIZED, response), |
839 | ) |
840 | |
841 | - def test__unreserved_ip_ranges_fails_if_not_logged_in(self): |
842 | + def test_unreserved_ip_ranges_fails_if_not_logged_in(self): |
843 | subnet = factory.make_Subnet() |
844 | response = self.client.get( |
845 | get_subnet_uri(subnet), {"op": "unreserved_ip_ranges"} |
846 | @@ -437,7 +437,7 @@ class TestSubnetAPIAuth(APITestCase.ForAnonymous): |
847 | |
848 | |
849 | class TestSubnetReservedIPRangesAPI(APITestCase.ForUser): |
850 | - def test__returns_empty_list_for_empty_ipv4_subnet(self): |
851 | + def test_returns_empty_list_for_empty_ipv4_subnet(self): |
852 | subnet = factory.make_Subnet(version=4, dns_servers=[], gateway_ip="") |
853 | response = self.client.get( |
854 | get_subnet_uri(subnet), {"op": "reserved_ip_ranges"} |
855 | @@ -450,7 +450,7 @@ class TestSubnetReservedIPRangesAPI(APITestCase.ForUser): |
856 | result = json.loads(response.content.decode(settings.DEFAULT_CHARSET)) |
857 | self.assertThat(result, Equals([])) |
858 | |
859 | - def test__returns_reserved_anycast_for_empty_ipv6_subnet(self): |
860 | + def test_returns_reserved_anycast_for_empty_ipv6_subnet(self): |
861 | subnet = factory.make_Subnet(version=6, dns_servers=[], gateway_ip="") |
862 | response = self.client.get( |
863 | get_subnet_uri(subnet), {"op": "reserved_ip_ranges"} |
864 | @@ -465,7 +465,7 @@ class TestSubnetReservedIPRangesAPI(APITestCase.ForUser): |
865 | self.assertThat(result[0]["num_addresses"], Equals(1)) |
866 | self.assertThat(result[0]["purpose"], Contains("rfc-4291-2.6.1")) |
867 | |
868 | - def test__accounts_for_reserved_ip_address(self): |
869 | + def test_accounts_for_reserved_ip_address(self): |
870 | subnet = factory.make_Subnet(dns_servers=[], gateway_ip="") |
871 | ip = factory.pick_ip_in_network(subnet.get_ipnetwork()) |
872 | factory.make_StaticIPAddress( |
873 | @@ -494,7 +494,7 @@ class TestSubnetReservedIPRangesAPI(APITestCase.ForUser): |
874 | |
875 | |
876 | class TestSubnetUnreservedIPRangesAPI(APITestCase.ForUser): |
877 | - def test__returns_full_list_for_empty_subnet(self): |
878 | + def test_returns_full_list_for_empty_subnet(self): |
879 | subnet = factory.make_Subnet( |
880 | cidr=factory.make_ipv4_network(), dns_servers=[], gateway_ip="" |
881 | ) |
882 | @@ -548,7 +548,7 @@ class TestSubnetUnreservedIPRangesAPI(APITestCase.ForUser): |
883 | ) |
884 | self.assertThat(result, Equals([]), str(subnet.get_ipranges_in_use())) |
885 | |
886 | - def test__returns_empty_list_for_full_ipv4_subnet(self): |
887 | + def test_returns_empty_list_for_full_ipv4_subnet(self): |
888 | network = factory.make_ipv4_network() |
889 | subnet = factory.make_Subnet(cidr=str(network.cidr), dns_servers=[]) |
890 | network = subnet.get_ipnetwork() |
891 | @@ -556,7 +556,7 @@ class TestSubnetUnreservedIPRangesAPI(APITestCase.ForUser): |
892 | last_address = inet_ntop(network.last - 1) # Skip broadcast. |
893 | self._unreserved_ip_ranges_empty(subnet, first_address, last_address) |
894 | |
895 | - def test__returns_empty_list_for_full_ipv6_subnet(self): |
896 | + def test_returns_empty_list_for_full_ipv6_subnet(self): |
897 | network = factory.make_ipv6_network(slash=random.randint(112, 119)) |
898 | subnet = factory.make_Subnet(cidr=str(network.cidr), dns_servers=[]) |
899 | network = subnet.get_ipnetwork() |
900 | @@ -565,7 +565,7 @@ class TestSubnetUnreservedIPRangesAPI(APITestCase.ForUser): |
901 | self._unreserved_ip_ranges_empty(subnet, first_address, last_address) |
902 | |
903 | # Slash-64 ipv6 subnets get a special range put in them - test separately. |
904 | - def test__returns_empty_list_for_full_ipv6_slash_64_subnet(self): |
905 | + def test_returns_empty_list_for_full_ipv6_slash_64_subnet(self): |
906 | network = factory.make_ipv6_network(slash=64) |
907 | subnet = factory.make_Subnet(cidr=str(network.cidr), dns_servers=[]) |
908 | network = subnet.get_ipnetwork() |
909 | @@ -575,7 +575,7 @@ class TestSubnetUnreservedIPRangesAPI(APITestCase.ForUser): |
910 | last_address = inet_ntop(network.last) |
911 | self._unreserved_ip_ranges_empty(subnet, first_address, last_address) |
912 | |
913 | - def test__accounts_for_reserved_ip_address(self): |
914 | + def test_accounts_for_reserved_ip_address(self): |
915 | subnet = factory.make_ipv4_Subnet_with_IPRanges( |
916 | with_dynamic_range=False, dns_servers=[], with_router=False |
917 | ) |
918 | @@ -635,7 +635,7 @@ class TestSubnetUnreservedIPRangesAPI(APITestCase.ForUser): |
919 | |
920 | |
921 | class TestSubnetStatisticsAPI(APITestCase.ForUser): |
922 | - def test__default_does_not_include_ranges(self): |
923 | + def test_default_does_not_include_ranges(self): |
924 | subnet = factory.make_Subnet() |
925 | factory.make_StaticIPAddress( |
926 | alloc_type=IPADDRESS_TYPE.USER_RESERVED, subnet=subnet |
927 | @@ -654,7 +654,7 @@ class TestSubnetStatisticsAPI(APITestCase.ForUser): |
928 | expected_result = statistics.render_json(include_ranges=False) |
929 | self.assertThat(result, Equals(expected_result)) |
930 | |
931 | - def test__with_include_ranges(self): |
932 | + def test_with_include_ranges(self): |
933 | subnet = factory.make_Subnet() |
934 | factory.make_StaticIPAddress( |
935 | alloc_type=IPADDRESS_TYPE.USER_RESERVED, subnet=subnet |
936 | @@ -674,7 +674,7 @@ class TestSubnetStatisticsAPI(APITestCase.ForUser): |
937 | expected_result = statistics.render_json(include_ranges=True) |
938 | self.assertThat(result, Equals(expected_result)) |
939 | |
940 | - def test__without_include_ranges(self): |
941 | + def test_without_include_ranges(self): |
942 | subnet = factory.make_Subnet() |
943 | factory.make_StaticIPAddress( |
944 | alloc_type=IPADDRESS_TYPE.USER_RESERVED, subnet=subnet |
945 | @@ -696,7 +696,7 @@ class TestSubnetStatisticsAPI(APITestCase.ForUser): |
946 | |
947 | |
948 | class TestSubnetIPAddressesAPI(APITestCase.ForUser): |
949 | - def test__default_parameters(self): |
950 | + def test_default_parameters(self): |
951 | subnet = factory.make_Subnet() |
952 | user = factory.make_User() |
953 | node = factory.make_Node_with_Interface_on_Subnet( |
954 | @@ -725,7 +725,7 @@ class TestSubnetIPAddressesAPI(APITestCase.ForUser): |
955 | ) |
956 | self.assertThat(result, Equals(expected_result)) |
957 | |
958 | - def test__with_username_false(self): |
959 | + def test_with_username_false(self): |
960 | subnet = factory.make_Subnet() |
961 | user = factory.make_User() |
962 | node = factory.make_Node_with_Interface_on_Subnet( |
963 | @@ -755,7 +755,7 @@ class TestSubnetIPAddressesAPI(APITestCase.ForUser): |
964 | ) |
965 | self.assertThat(result, Equals(expected_result)) |
966 | |
967 | - def test__with_summary_false(self): |
968 | + def test_with_summary_false(self): |
969 | subnet = factory.make_Subnet() |
970 | user = factory.make_User() |
971 | node = factory.make_Node_with_Interface_on_Subnet( |
972 | @@ -785,7 +785,7 @@ class TestSubnetIPAddressesAPI(APITestCase.ForUser): |
973 | ) |
974 | self.assertThat(result, Equals(expected_result)) |
975 | |
976 | - def test__with_deprecated_node_summary_false(self): |
977 | + def test_with_deprecated_node_summary_false(self): |
978 | subnet = factory.make_Subnet() |
979 | user = factory.make_User() |
980 | node = factory.make_Node_with_Interface_on_Subnet( |
981 | diff --git a/src/maasserver/api/tests/test_support.py b/src/maasserver/api/tests/test_support.py |
982 | index 0a75bc3..8f323b6 100644 |
983 | --- a/src/maasserver/api/tests/test_support.py |
984 | +++ b/src/maasserver/api/tests/test_support.py |
985 | @@ -176,7 +176,7 @@ class TestOperationsHandlerMixin(MAASTestCase): |
986 | def make_handler(self, **namespace): |
987 | return type("TestHandler", (OperationsHandlerMixin,), namespace) |
988 | |
989 | - def test__decorate_decorates_exports(self): |
990 | + def test_decorate_decorates_exports(self): |
991 | handler = self.make_handler( |
992 | exports={"foo": sentinel.foo, "bar": sentinel.bar} |
993 | ) |
994 | @@ -185,7 +185,7 @@ class TestOperationsHandlerMixin(MAASTestCase): |
995 | {"foo": "SENTINEL.FOO", "bar": "SENTINEL.BAR"}, handler.exports |
996 | ) |
997 | |
998 | - def test__decorate_decorates_anonymous_exports(self): |
999 | + def test_decorate_decorates_anonymous_exports(self): |
1000 | handler = self.make_handler(exports={"foo": sentinel.foo}) |
1001 | handler.anonymous = self.make_handler(exports={"bar": sentinel.bar}) |
1002 | handler.decorate(lambda thing: str(thing).upper()) |
1003 | diff --git a/src/maasserver/api/tests/test_users.py b/src/maasserver/api/tests/test_users.py |
1004 | index 30aa805..2ecb002 100644 |
1005 | --- a/src/maasserver/api/tests/test_users.py |
1006 | +++ b/src/maasserver/api/tests/test_users.py |
1007 | @@ -253,7 +253,7 @@ class TestUsers(APITestCase.ForUser): |
1008 | ContainsAll([user.username for user in users]), |
1009 | ) |
1010 | |
1011 | - def test__whoami_returns_user(self): |
1012 | + def test_whoami_returns_user(self): |
1013 | factory.make_User() |
1014 | response = self.client.get(reverse("users_handler"), {"op": "whoami"}) |
1015 | self.assertEqual( |
1016 | @@ -262,7 +262,7 @@ class TestUsers(APITestCase.ForUser): |
1017 | result = json.loads(response.content.decode(settings.DEFAULT_CHARSET)) |
1018 | self.assertThat(result["username"], Equals(self.user.username)) |
1019 | |
1020 | - def test__whoami_returns_forbidden_if_not_logged_in(self): |
1021 | + def test_whoami_returns_forbidden_if_not_logged_in(self): |
1022 | self.client.logout() |
1023 | factory.make_User() |
1024 | response = self.client.get(reverse("users_handler"), {"op": "whoami"}) |
1025 | diff --git a/src/maasserver/clusterrpc/tests/test_boot_images.py b/src/maasserver/clusterrpc/tests/test_boot_images.py |
1026 | index 09d4493..f557025 100644 |
1027 | --- a/src/maasserver/clusterrpc/tests/test_boot_images.py |
1028 | +++ b/src/maasserver/clusterrpc/tests/test_boot_images.py |
1029 | @@ -408,7 +408,7 @@ class TestGetBootImagesFor(MAASTransactionServerTestCase): |
1030 | class TestRackControllersImporter(MAASServerTestCase): |
1031 | """Tests for `RackControllersImporter`.""" |
1032 | |
1033 | - def test__init_with_single_system_id(self): |
1034 | + def test_init_with_single_system_id(self): |
1035 | system_id = factory.make_name("system_id") |
1036 | sources = [sentinel.source] |
1037 | proxy = factory.make_simple_http_url() |
1038 | @@ -424,7 +424,7 @@ class TestRackControllersImporter(MAASServerTestCase): |
1039 | ), |
1040 | ) |
1041 | |
1042 | - def test__init_with_multiple_ssytem_ids(self): |
1043 | + def test_init_with_multiple_ssytem_ids(self): |
1044 | system_ids = [factory.make_name("system_id") for _ in range(3)] |
1045 | sources = [sentinel.source] |
1046 | proxy = factory.make_simple_http_url() |
1047 | @@ -440,20 +440,20 @@ class TestRackControllersImporter(MAASServerTestCase): |
1048 | ), |
1049 | ) |
1050 | |
1051 | - def test__init_also_accepts_already_parsed_proxy(self): |
1052 | + def test_init_also_accepts_already_parsed_proxy(self): |
1053 | proxy = urlparse(factory.make_simple_http_url()) |
1054 | importer = RackControllersImporter( |
1055 | sentinel.system_id, [sentinel.source], proxy |
1056 | ) |
1057 | self.assertThat(importer, MatchesStructure(proxy=Is(proxy))) |
1058 | |
1059 | - def test__init_also_accepts_no_proxy(self): |
1060 | + def test_init_also_accepts_no_proxy(self): |
1061 | importer = RackControllersImporter( |
1062 | sentinel.system_id, [sentinel.source] |
1063 | ) |
1064 | self.assertThat(importer, MatchesStructure(proxy=Is(None))) |
1065 | |
1066 | - def test__schedule_arranges_for_later_run(self): |
1067 | + def test_schedule_arranges_for_later_run(self): |
1068 | # Avoid deferring to the database. |
1069 | self.patch(boot_images_module, "deferToDatabase", maybeDeferred) |
1070 | # Avoid actually initiating a run. |
1071 | @@ -495,7 +495,7 @@ class TestRackControllersImporter(MAASServerTestCase): |
1072 | ), |
1073 | ) |
1074 | |
1075 | - def test__run_will_not_error_instead_it_logs(self): |
1076 | + def test_run_will_not_error_instead_it_logs(self): |
1077 | call = self.patch(RackControllersImporter, "__call__") |
1078 | call.return_value = fail(ZeroDivisionError()) |
1079 | |
1080 | @@ -516,11 +516,11 @@ class TestRackControllersImporter(MAASServerTestCase): |
1081 | class TestRackControllersImporterNew(MAASServerTestCase): |
1082 | """Tests for the `RackControllersImporter.new` function.""" |
1083 | |
1084 | - def test__new_obtains_system_ids_if_not_given(self): |
1085 | + def test_new_obtains_system_ids_if_not_given(self): |
1086 | importer = RackControllersImporter.new(sources=[], proxy=None) |
1087 | self.assertThat(importer, MatchesStructure(system_ids=Equals(()))) |
1088 | |
1089 | - def test__new_obtains_system_ids_for_accepted_clusters_if_not_given(self): |
1090 | + def test_new_obtains_system_ids_for_accepted_clusters_if_not_given(self): |
1091 | rack = factory.make_RackController() |
1092 | |
1093 | importer = RackControllersImporter.new(sources=[], proxy=None) |
1094 | @@ -529,14 +529,14 @@ class TestRackControllersImporterNew(MAASServerTestCase): |
1095 | importer, MatchesStructure(system_ids=Equals((rack.system_id,))) |
1096 | ) |
1097 | |
1098 | - def test__new_obtains_sources_if_not_given(self): |
1099 | + def test_new_obtains_sources_if_not_given(self): |
1100 | importer = RackControllersImporter.new(system_ids=[], proxy=None) |
1101 | self.assertThat( |
1102 | importer, |
1103 | MatchesStructure(sources=Equals([get_simplestream_endpoint()])), |
1104 | ) |
1105 | |
1106 | - def test__new_obtains_proxy_if_not_given(self): |
1107 | + def test_new_obtains_proxy_if_not_given(self): |
1108 | # Disable boot source cache signals. |
1109 | self.addCleanup(bootsources.signals.enable) |
1110 | bootsources.signals.disable() |
1111 | @@ -548,7 +548,7 @@ class TestRackControllersImporterNew(MAASServerTestCase): |
1112 | importer, MatchesStructure(proxy=Equals(urlparse(proxy))) |
1113 | ) |
1114 | |
1115 | - def test__new_obtains_None_proxy_if_disabled(self): |
1116 | + def test_new_obtains_None_proxy_if_disabled(self): |
1117 | # Disable boot source cache signals. |
1118 | self.addCleanup(bootsources.signals.enable) |
1119 | bootsources.signals.disable() |
1120 | @@ -572,7 +572,7 @@ class TestRackControllersImporterInAction(MAASTransactionServerTestCase): |
1121 | # This fixture allows us to simulate mock clusters. |
1122 | self.rpc = self.useFixture(MockLiveRegionToClusterRPCFixture()) |
1123 | |
1124 | - def test__calling_importer_issues_rpc_calls_to_clusters(self): |
1125 | + def test_calling_importer_issues_rpc_calls_to_clusters(self): |
1126 | # Some clusters that we'll ask to import resources. |
1127 | rack_1 = factory.make_RackController() |
1128 | rack_2 = factory.make_RackController() |
1129 | @@ -610,7 +610,7 @@ class TestRackControllersImporterInAction(MAASTransactionServerTestCase): |
1130 | ), |
1131 | ) |
1132 | |
1133 | - def test__run_calls_importer_and_reports_results(self): |
1134 | + def test_run_calls_importer_and_reports_results(self): |
1135 | # Some clusters that we'll ask to import resources. |
1136 | rack_1 = factory.make_RackController() |
1137 | rack_2 = factory.make_RackController() |
1138 | diff --git a/src/maasserver/clusterrpc/tests/test_driver_parameters.py b/src/maasserver/clusterrpc/tests/test_driver_parameters.py |
1139 | index 5f1c73a..6e31cad 100644 |
1140 | --- a/src/maasserver/clusterrpc/tests/test_driver_parameters.py |
1141 | +++ b/src/maasserver/clusterrpc/tests/test_driver_parameters.py |
1142 | @@ -87,7 +87,7 @@ class TestGetPowerTypeParametersFromJSON(MAASServerTestCase): |
1143 | for name, field in power_type_parameters.items(): |
1144 | self.assertIsInstance(field, DictCharField) |
1145 | |
1146 | - def test__overrides_defaults(self): |
1147 | + def test_overrides_defaults(self): |
1148 | name = factory.make_name("name") |
1149 | field_name = factory.make_name("field_name") |
1150 | new_default = factory.make_name("new default") |
1151 | @@ -114,7 +114,7 @@ class TestGetPowerTypeParametersFromJSON(MAASServerTestCase): |
1152 | new_default, power_type_parameters[name].fields[0].initial |
1153 | ) |
1154 | |
1155 | - def test__manual_does_not_require_power_params(self): |
1156 | + def test_manual_does_not_require_power_params(self): |
1157 | json_parameters = [ |
1158 | { |
1159 | "driver_type": "power", |
1160 | @@ -140,7 +140,7 @@ class TestGetPowerTypeParametersFromJSON(MAASServerTestCase): |
1161 | class TestMakeFormField(MAASServerTestCase): |
1162 | """Test that make_form_field() converts JSON fields to Django.""" |
1163 | |
1164 | - def test__creates_char_field_for_strings(self): |
1165 | + def test_creates_char_field_for_strings(self): |
1166 | json_field = { |
1167 | "name": "some_field", |
1168 | "label": "Some Field", |
1169 | @@ -150,7 +150,7 @@ class TestMakeFormField(MAASServerTestCase): |
1170 | django_field = make_form_field(json_field) |
1171 | self.assertIsInstance(django_field, forms.CharField) |
1172 | |
1173 | - def test__creates_string_field_for_passwords(self): |
1174 | + def test_creates_string_field_for_passwords(self): |
1175 | json_field = { |
1176 | "name": "some_field", |
1177 | "label": "Some Field", |
1178 | @@ -160,7 +160,7 @@ class TestMakeFormField(MAASServerTestCase): |
1179 | django_field = make_form_field(json_field) |
1180 | self.assertIsInstance(django_field, forms.CharField) |
1181 | |
1182 | - def test__creates_choice_field_for_choices(self): |
1183 | + def test_creates_choice_field_for_choices(self): |
1184 | json_field = { |
1185 | "name": "some_field", |
1186 | "label": "Some Field", |
1187 | @@ -183,7 +183,7 @@ class TestMakeFormField(MAASServerTestCase): |
1188 | ) |
1189 | self.assertEqual(json_field["default"], django_field.initial) |
1190 | |
1191 | - def test__creates_mac_address_field_for_mac_addresses(self): |
1192 | + def test_creates_mac_address_field_for_mac_addresses(self): |
1193 | json_field = { |
1194 | "name": "some_field", |
1195 | "label": "Some Field", |
1196 | @@ -193,7 +193,7 @@ class TestMakeFormField(MAASServerTestCase): |
1197 | django_field = make_form_field(json_field) |
1198 | self.assertIsInstance(django_field, MACAddressFormField) |
1199 | |
1200 | - def test__sets_properties_on_form_field(self): |
1201 | + def test_sets_properties_on_form_field(self): |
1202 | json_field = { |
1203 | "name": "some_field", |
1204 | "label": "Some Field", |
1205 | @@ -206,7 +206,7 @@ class TestMakeFormField(MAASServerTestCase): |
1206 | (django_field.label, django_field.required), |
1207 | ) |
1208 | |
1209 | - def test__sets_initial_to_default(self): |
1210 | + def test_sets_initial_to_default(self): |
1211 | json_field = { |
1212 | "name": "some_field", |
1213 | "label": "Some Field", |
1214 | @@ -221,11 +221,11 @@ class TestMakeFormField(MAASServerTestCase): |
1215 | class TestMakeSettingField(MAASServerTestCase): |
1216 | """Test that make_setting_field() creates JSON-verifiable fields.""" |
1217 | |
1218 | - def test__returns_json_verifiable_dict(self): |
1219 | + def test_returns_json_verifiable_dict(self): |
1220 | json_field = make_setting_field("some_field", "Some Label") |
1221 | jsonschema.validate(json_field, SETTING_PARAMETER_FIELD_SCHEMA) |
1222 | |
1223 | - def test__provides_sane_default_values(self): |
1224 | + def test_provides_sane_default_values(self): |
1225 | json_field = make_setting_field("some_field", "Some Label") |
1226 | expected_field = { |
1227 | "name": "some_field", |
1228 | @@ -238,7 +238,7 @@ class TestMakeSettingField(MAASServerTestCase): |
1229 | } |
1230 | self.assertEqual(expected_field, json_field) |
1231 | |
1232 | - def test__sets_field_values(self): |
1233 | + def test_sets_field_values(self): |
1234 | expected_field = { |
1235 | "name": "yet_another_field", |
1236 | "label": "Can I stop writing tests now?", |
1237 | @@ -251,7 +251,7 @@ class TestMakeSettingField(MAASServerTestCase): |
1238 | json_field = make_setting_field(**expected_field) |
1239 | self.assertEqual(expected_field, json_field) |
1240 | |
1241 | - def test__validates_choices(self): |
1242 | + def test_validates_choices(self): |
1243 | self.assertRaises( |
1244 | jsonschema.ValidationError, |
1245 | make_setting_field, |
1246 | @@ -260,7 +260,7 @@ class TestMakeSettingField(MAASServerTestCase): |
1247 | choices="Nonsense", |
1248 | ) |
1249 | |
1250 | - def test__creates_password_fields(self): |
1251 | + def test_creates_password_fields(self): |
1252 | json_field = make_setting_field( |
1253 | "some_field", "Some Label", field_type="password" |
1254 | ) |
1255 | diff --git a/src/maasserver/clusterrpc/tests/test_pods.py b/src/maasserver/clusterrpc/tests/test_pods.py |
1256 | index 3c8ecbe..3d43d7b 100644 |
1257 | --- a/src/maasserver/clusterrpc/tests/test_pods.py |
1258 | +++ b/src/maasserver/clusterrpc/tests/test_pods.py |
1259 | @@ -52,7 +52,7 @@ class TestDiscoverPod(MAASTransactionServerTestCase): |
1260 | |
1261 | @wait_for_reactor |
1262 | @inlineCallbacks |
1263 | - def test__calls_DiscoverPod_on_all_clients(self): |
1264 | + def test_calls_DiscoverPod_on_all_clients(self): |
1265 | rack_ids = [factory.make_name("system_id") for _ in range(3)] |
1266 | pod = DiscoveredPod( |
1267 | architectures=["amd64/generic"], |
1268 | @@ -82,7 +82,7 @@ class TestDiscoverPod(MAASTransactionServerTestCase): |
1269 | |
1270 | @wait_for_reactor |
1271 | @inlineCallbacks |
1272 | - def test__returns_discovered_pod_and_errors(self): |
1273 | + def test_returns_discovered_pod_and_errors(self): |
1274 | pod_type = factory.make_name("pod") |
1275 | pod = DiscoveredPod( |
1276 | architectures=["amd64/generic"], |
1277 | @@ -120,7 +120,7 @@ class TestDiscoverPod(MAASTransactionServerTestCase): |
1278 | |
1279 | @wait_for_reactor |
1280 | @inlineCallbacks |
1281 | - def test__handles_timeout(self): |
1282 | + def test_handles_timeout(self): |
1283 | def defer_way_later(*args, **kwargs): |
1284 | # Create a defer that will finish in 1 minute. |
1285 | return deferLater(reactor, 60 * 60, lambda: None) |
1286 | @@ -215,7 +215,7 @@ class TestGetBestDiscoveredResult(MAASTestCase): |
1287 | class TestSendPodCommissioningResults(MAASServerTestCase): |
1288 | """Tests for `send_pod_commissioning_results`.""" |
1289 | |
1290 | - def test__calls_and_returns_correctly(self): |
1291 | + def test_calls_and_returns_correctly(self): |
1292 | pod = factory.make_Pod() |
1293 | node = factory.make_Node() |
1294 | token = NodeKey.objects.get_token_for_node(node) |
1295 | @@ -252,7 +252,7 @@ class TestSendPodCommissioningResults(MAASServerTestCase): |
1296 | ), |
1297 | ) |
1298 | |
1299 | - def test__raises_PodProblem_for_UnknownPodType(self): |
1300 | + def test_raises_PodProblem_for_UnknownPodType(self): |
1301 | pod = factory.make_Pod() |
1302 | node = factory.make_Node() |
1303 | token = NodeKey.objects.get_token_for_node(node) |
1304 | @@ -280,7 +280,7 @@ class TestSendPodCommissioningResults(MAASServerTestCase): |
1305 | str(error), |
1306 | ) |
1307 | |
1308 | - def test__raises_PodProblem_for_NotImplementedError(self): |
1309 | + def test_raises_PodProblem_for_NotImplementedError(self): |
1310 | pod = factory.make_Pod() |
1311 | node = factory.make_Node() |
1312 | token = NodeKey.objects.get_token_for_node(node) |
1313 | @@ -309,7 +309,7 @@ class TestSendPodCommissioningResults(MAASServerTestCase): |
1314 | str(error), |
1315 | ) |
1316 | |
1317 | - def test__raises_PodProblem_for_PodActionFail(self): |
1318 | + def test_raises_PodProblem_for_PodActionFail(self): |
1319 | pod = factory.make_Pod() |
1320 | node = factory.make_Node() |
1321 | token = NodeKey.objects.get_token_for_node(node) |
1322 | @@ -338,7 +338,7 @@ class TestSendPodCommissioningResults(MAASServerTestCase): |
1323 | str(error), |
1324 | ) |
1325 | |
1326 | - def test__raises_same_exception(self): |
1327 | + def test_raises_same_exception(self): |
1328 | pod = factory.make_Pod() |
1329 | node = factory.make_Node() |
1330 | token = NodeKey.objects.get_token_for_node(node) |
1331 | @@ -368,7 +368,7 @@ class TestSendPodCommissioningResults(MAASServerTestCase): |
1332 | class TestComposeMachine(MAASServerTestCase): |
1333 | """Tests for `compose_machine`.""" |
1334 | |
1335 | - def test__calls_and_returns_correctly(self): |
1336 | + def test_calls_and_returns_correctly(self): |
1337 | pod = factory.make_Pod() |
1338 | client = Mock() |
1339 | client.return_value = succeed( |
1340 | @@ -398,7 +398,7 @@ class TestComposeMachine(MAASServerTestCase): |
1341 | self.assertEqual(sentinel.machine, machine) |
1342 | self.assertEqual(sentinel.hints, hints) |
1343 | |
1344 | - def test__raises_PodProblem_for_UnknownPodType(self): |
1345 | + def test_raises_PodProblem_for_UnknownPodType(self): |
1346 | pod = factory.make_Pod() |
1347 | client = Mock() |
1348 | client.return_value = fail(UnknownPodType(pod.power_type)) |
1349 | @@ -419,7 +419,7 @@ class TestComposeMachine(MAASServerTestCase): |
1350 | str(error), |
1351 | ) |
1352 | |
1353 | - def test__raises_PodProblem_for_NotImplementedError(self): |
1354 | + def test_raises_PodProblem_for_NotImplementedError(self): |
1355 | pod = factory.make_Pod() |
1356 | client = Mock() |
1357 | client.return_value = fail(NotImplementedError()) |
1358 | @@ -440,7 +440,7 @@ class TestComposeMachine(MAASServerTestCase): |
1359 | str(error), |
1360 | ) |
1361 | |
1362 | - def test__raises_PodProblem_for_PodActionFail(self): |
1363 | + def test_raises_PodProblem_for_PodActionFail(self): |
1364 | pod = factory.make_Pod() |
1365 | error_msg = factory.make_name("error") |
1366 | client = Mock() |
1367 | @@ -460,7 +460,7 @@ class TestComposeMachine(MAASServerTestCase): |
1368 | "Unable to compose machine because: %s" % error_msg, str(error) |
1369 | ) |
1370 | |
1371 | - def test__raises_same_exception(self): |
1372 | + def test_raises_same_exception(self): |
1373 | pod = factory.make_Pod() |
1374 | client = Mock() |
1375 | exception_type = factory.make_exception_type() |
1376 | @@ -483,7 +483,7 @@ class TestComposeMachine(MAASServerTestCase): |
1377 | class TestDecomposeMachine(MAASServerTestCase): |
1378 | """Tests for `decompose_machine`.""" |
1379 | |
1380 | - def test__calls_and_returns_correctly(self): |
1381 | + def test_calls_and_returns_correctly(self): |
1382 | hints = DiscoveredPodHints( |
1383 | cores=random.randint(1, 8), |
1384 | cpu_speed=random.randint(1000, 2000), |
1385 | @@ -510,7 +510,7 @@ class TestDecomposeMachine(MAASServerTestCase): |
1386 | ) |
1387 | self.assertEqual(hints, result) |
1388 | |
1389 | - def test__raises_PodProblem_for_UnknownPodType(self): |
1390 | + def test_raises_PodProblem_for_UnknownPodType(self): |
1391 | pod = factory.make_Pod() |
1392 | client = Mock() |
1393 | client.return_value = fail(UnknownPodType(pod.power_type)) |
1394 | @@ -530,7 +530,7 @@ class TestDecomposeMachine(MAASServerTestCase): |
1395 | str(error), |
1396 | ) |
1397 | |
1398 | - def test__raises_PodProblem_for_NotImplementedError(self): |
1399 | + def test_raises_PodProblem_for_NotImplementedError(self): |
1400 | pod = factory.make_Pod() |
1401 | client = Mock() |
1402 | client.return_value = fail(NotImplementedError()) |
1403 | @@ -550,7 +550,7 @@ class TestDecomposeMachine(MAASServerTestCase): |
1404 | str(error), |
1405 | ) |
1406 | |
1407 | - def test__raises_PodProblem_for_PodActionFail(self): |
1408 | + def test_raises_PodProblem_for_PodActionFail(self): |
1409 | pod = factory.make_Pod() |
1410 | error_msg = factory.make_name("error") |
1411 | client = Mock() |
1412 | @@ -569,7 +569,7 @@ class TestDecomposeMachine(MAASServerTestCase): |
1413 | "Unable to decompose machine because: %s" % error_msg, str(error) |
1414 | ) |
1415 | |
1416 | - def test__raises_same_exception(self): |
1417 | + def test_raises_same_exception(self): |
1418 | pod = factory.make_Pod() |
1419 | client = Mock() |
1420 | exception_type = factory.make_exception_type() |
1421 | diff --git a/src/maasserver/clusterrpc/tests/test_power.py b/src/maasserver/clusterrpc/tests/test_power.py |
1422 | index 5af7672..e125974 100644 |
1423 | --- a/src/maasserver/clusterrpc/tests/test_power.py |
1424 | +++ b/src/maasserver/clusterrpc/tests/test_power.py |
1425 | @@ -54,7 +54,7 @@ class TestPowerNode(MAASServerTestCase): |
1426 | ("PowerOff", {"power_func": power_off_node, "command": PowerOff}), |
1427 | ) |
1428 | |
1429 | - def test__powers_single_node(self): |
1430 | + def test_powers_single_node(self): |
1431 | node = factory.make_Node() |
1432 | client = Mock() |
1433 | |
1434 | @@ -77,7 +77,7 @@ class TestPowerNode(MAASServerTestCase): |
1435 | ), |
1436 | ) |
1437 | |
1438 | - def test__raises_power_problem(self): |
1439 | + def test_raises_power_problem(self): |
1440 | node = factory.make_Node() |
1441 | client = Mock() |
1442 | client.return_value = fail( |
1443 | @@ -96,7 +96,7 @@ class TestPowerNode(MAASServerTestCase): |
1444 | class TestPowerCycle(MAASServerTestCase): |
1445 | """Tests for `power_cycle`.""" |
1446 | |
1447 | - def test__power_cycles_single_node(self): |
1448 | + def test_power_cycles_single_node(self): |
1449 | node = factory.make_Node() |
1450 | client = Mock() |
1451 | |
1452 | @@ -119,7 +119,7 @@ class TestPowerCycle(MAASServerTestCase): |
1453 | ), |
1454 | ) |
1455 | |
1456 | - def test__raises_power_problem(self): |
1457 | + def test_raises_power_problem(self): |
1458 | node = factory.make_Node() |
1459 | client = Mock() |
1460 | client.return_value = fail( |
1461 | @@ -138,7 +138,7 @@ class TestPowerCycle(MAASServerTestCase): |
1462 | class TestPowerQuery(MAASServerTestCase): |
1463 | """Tests for `power_query`.""" |
1464 | |
1465 | - def test__power_querys_single_node(self): |
1466 | + def test_power_querys_single_node(self): |
1467 | node = factory.make_Node() |
1468 | client = Mock() |
1469 | |
1470 | @@ -165,7 +165,7 @@ class TestPowerQuery(MAASServerTestCase): |
1471 | class TestPowerDriverCheck(MAASServerTestCase): |
1472 | """Tests for `power_driver_check`.""" |
1473 | |
1474 | - def test__handled(self): |
1475 | + def test_handled(self): |
1476 | node = factory.make_Node() |
1477 | power_info = node.get_effective_power_info() |
1478 | client = Mock() |
1479 | @@ -191,7 +191,7 @@ class TestPowerQueryAll(MAASTransactionServerTestCase): |
1480 | |
1481 | @wait_for_reactor |
1482 | @inlineCallbacks |
1483 | - def test__calls_PowerQuery_on_all_clients(self): |
1484 | + def test_calls_PowerQuery_on_all_clients(self): |
1485 | node, power_info = yield deferToDatabase( |
1486 | self.make_node_with_power_info |
1487 | ) |
1488 | @@ -232,7 +232,7 @@ class TestPowerQueryAll(MAASTransactionServerTestCase): |
1489 | |
1490 | @wait_for_reactor |
1491 | @inlineCallbacks |
1492 | - def test__handles_timeout(self): |
1493 | + def test_handles_timeout(self): |
1494 | node, power_info = yield deferToDatabase( |
1495 | self.make_node_with_power_info |
1496 | ) |
1497 | diff --git a/src/maasserver/clusterrpc/tests/test_utils.py b/src/maasserver/clusterrpc/tests/test_utils.py |
1498 | index 6769287..9fad892 100644 |
1499 | --- a/src/maasserver/clusterrpc/tests/test_utils.py |
1500 | +++ b/src/maasserver/clusterrpc/tests/test_utils.py |
1501 | @@ -42,7 +42,7 @@ class MockFailure(Failure): |
1502 | class TestCallClusters(MAASServerTestCase): |
1503 | """Tests for `utils.call_clusters`.""" |
1504 | |
1505 | - def test__gets_clients(self): |
1506 | + def test_gets_clients(self): |
1507 | rack = factory.make_RackController() |
1508 | getClientFor = self.patch(utils, "getClientFor") |
1509 | getClientFor.return_value = lambda: None |
1510 | @@ -55,7 +55,7 @@ class TestCallClusters(MAASServerTestCase): |
1511 | self.assertItemsEqual([], utils.call_clusters(sentinel.command)) |
1512 | self.assertThat(getClientFor, MockCalledOnceWith(rack.system_id)) |
1513 | |
1514 | - def test__with_successful_callbacks(self): |
1515 | + def test_with_successful_callbacks(self): |
1516 | rack = factory.make_RackController() |
1517 | getClientFor = self.patch(utils, "getClientFor") |
1518 | getClientFor.return_value = lambda: None |
1519 | @@ -87,7 +87,7 @@ class TestCallClusters(MAASServerTestCase): |
1520 | self.assertThat(failed_callback, MockNotCalled()) |
1521 | self.assertThat(timeout_callback, MockNotCalled()) |
1522 | |
1523 | - def test__with_unavailable_callbacks(self): |
1524 | + def test_with_unavailable_callbacks(self): |
1525 | logger = self.useFixture(FakeLogger("maasserver")) |
1526 | rack = factory.make_RackController() |
1527 | getClientFor = self.patch(utils, "getClientFor") |
1528 | @@ -121,7 +121,7 @@ class TestCallClusters(MAASServerTestCase): |
1529 | logger.output, DocTestMatches("...Unable to get RPC connection...") |
1530 | ) |
1531 | |
1532 | - def test__with_failed_callbacks(self): |
1533 | + def test_with_failed_callbacks(self): |
1534 | logger = self.useFixture(FakeLogger("maasserver")) |
1535 | rack = factory.make_RackController() |
1536 | getClientFor = self.patch(utils, "getClientFor") |
1537 | @@ -160,7 +160,7 @@ class TestCallClusters(MAASServerTestCase): |
1538 | ), |
1539 | ) |
1540 | |
1541 | - def test__with_timeout_callbacks(self): |
1542 | + def test_with_timeout_callbacks(self): |
1543 | logger = self.useFixture(FakeLogger("maasserver")) |
1544 | rack = factory.make_RackController() |
1545 | getClientFor = self.patch(utils, "getClientFor") |
1546 | @@ -198,7 +198,7 @@ class TestCallClusters(MAASServerTestCase): |
1547 | class TestCallRacksSynchronously(MAASServerTestCase): |
1548 | """Tests for `utils.call_rakcks_synchronously`.""" |
1549 | |
1550 | - def test__gets_clients(self): |
1551 | + def test_gets_clients(self): |
1552 | rack = factory.make_RackController() |
1553 | getClientFor = self.patch(utils, "getClientFor") |
1554 | getClientFor.return_value = lambda: None |
1555 | diff --git a/src/maasserver/dns/tests/test_config.py b/src/maasserver/dns/tests/test_config.py |
1556 | index 3b5fc4f..3d955c7 100644 |
1557 | --- a/src/maasserver/dns/tests/test_config.py |
1558 | +++ b/src/maasserver/dns/tests/test_config.py |
1559 | @@ -464,15 +464,15 @@ class TestIPv6DNS(TestDNSServer): |
1560 | class TestGetUpstreamDNS(MAASServerTestCase): |
1561 | """Test for maasserver/dns/config.py:get_upstream_dns()""" |
1562 | |
1563 | - def test__returns_empty_list_if_not_set(self): |
1564 | + def test_returns_empty_list_if_not_set(self): |
1565 | self.assertEqual([], get_upstream_dns()) |
1566 | |
1567 | - def test__returns_list_of_one_address_if_set(self): |
1568 | + def test_returns_list_of_one_address_if_set(self): |
1569 | address = factory.make_ip_address() |
1570 | Config.objects.set_config("upstream_dns", address) |
1571 | self.assertEqual([address], get_upstream_dns()) |
1572 | |
1573 | - def test__returns_list_if_space_separated_ips(self): |
1574 | + def test_returns_list_if_space_separated_ips(self): |
1575 | addresses = [factory.make_ip_address() for _ in range(3)] |
1576 | Config.objects.set_config("upstream_dns", " ".join(addresses)) |
1577 | self.assertEqual(addresses, get_upstream_dns()) |
1578 | @@ -485,16 +485,16 @@ class TestGetTrustedAcls(MAASServerTestCase): |
1579 | super(TestGetTrustedAcls, self).setUp() |
1580 | self.useFixture(RegionConfigurationFixture()) |
1581 | |
1582 | - def test__returns_empty_string_if_no_networks(self): |
1583 | + def test_returns_empty_string_if_no_networks(self): |
1584 | self.assertEqual([], get_trusted_acls()) |
1585 | |
1586 | - def test__returns_single_network(self): |
1587 | + def test_returns_single_network(self): |
1588 | subnet = factory.make_ipv6_network() |
1589 | Config.objects.set_config("dns_trusted_acl", str(subnet)) |
1590 | expected = [str(subnet)] |
1591 | self.assertEqual(expected, get_trusted_acls()) |
1592 | |
1593 | - def test__returns_many_networks(self): |
1594 | + def test_returns_many_networks(self): |
1595 | subnets = [ |
1596 | str(factory.make_ipv4_network()) |
1597 | for _ in range(random.randint(1, 5)) |
1598 | @@ -514,21 +514,21 @@ class TestGetTrustedNetworks(MAASServerTestCase): |
1599 | super(TestGetTrustedNetworks, self).setUp() |
1600 | self.useFixture(RegionConfigurationFixture()) |
1601 | |
1602 | - def test__returns_empty_string_if_no_networks(self): |
1603 | + def test_returns_empty_string_if_no_networks(self): |
1604 | self.assertEqual([], get_trusted_networks()) |
1605 | |
1606 | - def test__returns_single_network(self): |
1607 | + def test_returns_single_network(self): |
1608 | subnet = factory.make_Subnet() |
1609 | expected = [str(subnet.cidr)] |
1610 | self.assertEqual(expected, get_trusted_networks()) |
1611 | |
1612 | - def test__returns_no_networks_if_not_allow_dns(self): |
1613 | + def test_returns_no_networks_if_not_allow_dns(self): |
1614 | factory.make_Subnet(allow_dns=False) |
1615 | subnet_allowed = factory.make_Subnet(allow_dns=True) |
1616 | expected = [str(subnet_allowed.cidr)] |
1617 | self.assertEqual(expected, get_trusted_networks()) |
1618 | |
1619 | - def test__returns_many_networks(self): |
1620 | + def test_returns_many_networks(self): |
1621 | subnets = [factory.make_Subnet() for _ in range(random.randint(1, 5))] |
1622 | expected = [str(subnet.cidr) for subnet in subnets] |
1623 | # Note: This test was seen randomly failing because the networks were |
1624 | @@ -539,13 +539,13 @@ class TestGetTrustedNetworks(MAASServerTestCase): |
1625 | class TestGetInternalDomain(MAASServerTestCase): |
1626 | """Test for maasserver/dns/config.py:get_internal_domain()""" |
1627 | |
1628 | - def test__uses_maas_internal_domain_config(self): |
1629 | + def test_uses_maas_internal_domain_config(self): |
1630 | internal_domain = factory.make_name("internal") |
1631 | Config.objects.set_config("maas_internal_domain", internal_domain) |
1632 | domain = get_internal_domain() |
1633 | self.assertEqual(internal_domain, domain.name) |
1634 | |
1635 | - def test__doesnt_add_disconnected_rack(self): |
1636 | + def test_doesnt_add_disconnected_rack(self): |
1637 | rack = factory.make_RackController() |
1638 | # No `RegionRackRPCConnection` is being created so the rack is |
1639 | # disconnected. |
1640 | @@ -561,7 +561,7 @@ class TestGetInternalDomain(MAASServerTestCase): |
1641 | domain = get_internal_domain() |
1642 | self.assertEqual(0, len(domain.resources)) |
1643 | |
1644 | - def test__adds_connected_rack_ipv4(self): |
1645 | + def test_adds_connected_rack_ipv4(self): |
1646 | rack = factory.make_RackController() |
1647 | factory.make_RegionRackRPCConnection(rack) |
1648 | nic = rack.get_boot_interface() |
1649 | @@ -582,7 +582,7 @@ class TestGetInternalDomain(MAASServerTestCase): |
1650 | domain.resources[0].records[0], |
1651 | ) |
1652 | |
1653 | - def test__adds_connected_rack_ipv6(self): |
1654 | + def test_adds_connected_rack_ipv6(self): |
1655 | rack = factory.make_RackController() |
1656 | factory.make_RegionRackRPCConnection(rack) |
1657 | nic = rack.get_boot_interface() |
1658 | @@ -603,7 +603,7 @@ class TestGetInternalDomain(MAASServerTestCase): |
1659 | domain.resources[0].records[0], |
1660 | ) |
1661 | |
1662 | - def test__adds_connected_multiple_racks_ipv4(self): |
1663 | + def test_adds_connected_multiple_racks_ipv4(self): |
1664 | rack1 = factory.make_RackController() |
1665 | factory.make_RegionRackRPCConnection(rack1) |
1666 | rack2 = factory.make_RackController() |
1667 | @@ -642,7 +642,7 @@ class TestGetInternalDomain(MAASServerTestCase): |
1668 | ), |
1669 | ) |
1670 | |
1671 | - def test__adds_connected_multiple_racks_ipv6(self): |
1672 | + def test_adds_connected_multiple_racks_ipv6(self): |
1673 | rack1 = factory.make_RackController() |
1674 | factory.make_RegionRackRPCConnection(rack1) |
1675 | rack2 = factory.make_RackController() |
1676 | @@ -681,7 +681,7 @@ class TestGetInternalDomain(MAASServerTestCase): |
1677 | ), |
1678 | ) |
1679 | |
1680 | - def test__prefers_static_ip_over_dhcp(self): |
1681 | + def test_prefers_static_ip_over_dhcp(self): |
1682 | rack = factory.make_RackController() |
1683 | factory.make_RegionRackRPCConnection(rack) |
1684 | nic = rack.get_boot_interface() |
1685 | @@ -725,6 +725,6 @@ class TestGetResourceNameForSubnet(MAASServerTestCase): |
1686 | ), |
1687 | ) |
1688 | |
1689 | - def test__returns_valid(self): |
1690 | + def test_returns_valid(self): |
1691 | subnet = factory.make_Subnet(cidr=self.cidr) |
1692 | self.assertEqual(self.result, get_resource_name_for_subnet(subnet)) |
1693 | diff --git a/src/maasserver/dns/tests/test_zonegenerator.py b/src/maasserver/dns/tests/test_zonegenerator.py |
1694 | index 5655873..f47f7d1 100644 |
1695 | --- a/src/maasserver/dns/tests/test_zonegenerator.py |
1696 | +++ b/src/maasserver/dns/tests/test_zonegenerator.py |
1697 | @@ -168,7 +168,7 @@ class TestGetDNSServerAddresses(MAASServerTestCase): |
1698 | |
1699 | |
1700 | class TestGetDNSSearchPaths(MAASServerTestCase): |
1701 | - def test__returns_all_authoritative_domains(self): |
1702 | + def test_returns_all_authoritative_domains(self): |
1703 | domain_names = get_dns_search_paths() |
1704 | domain_names.update( |
1705 | factory.make_Domain(authoritative=True).name for _ in range(3) |
1706 | diff --git a/src/maasserver/forms/tests/test_clone.py b/src/maasserver/forms/tests/test_clone.py |
1707 | index 72cc26d..4d65d40 100644 |
1708 | --- a/src/maasserver/forms/tests/test_clone.py |
1709 | +++ b/src/maasserver/forms/tests/test_clone.py |
1710 | @@ -14,7 +14,7 @@ from maasserver.testing.testcase import MAASServerTestCase |
1711 | |
1712 | |
1713 | class TestCloneForm(MAASServerTestCase): |
1714 | - def test__empty_errors(self): |
1715 | + def test_empty_errors(self): |
1716 | user = factory.make_admin() |
1717 | form = CloneForm(user, data={}) |
1718 | self.assertFalse(form.is_valid()) |
1719 | @@ -27,7 +27,7 @@ class TestCloneForm(MAASServerTestCase): |
1720 | form.errors, |
1721 | ) |
1722 | |
1723 | - def test__source_destination_match_error(self): |
1724 | + def test_source_destination_match_error(self): |
1725 | user = factory.make_admin() |
1726 | source = factory.make_Machine( |
1727 | status=random.choice( |
1728 | @@ -53,7 +53,7 @@ class TestCloneForm(MAASServerTestCase): |
1729 | form.errors, |
1730 | ) |
1731 | |
1732 | - def test__source_destination_smaller_storage(self): |
1733 | + def test_source_destination_smaller_storage(self): |
1734 | user = factory.make_admin() |
1735 | source = factory.make_Machine(with_boot_disk=False) |
1736 | factory.make_PhysicalBlockDevice( |
1737 | @@ -88,7 +88,7 @@ class TestCloneForm(MAASServerTestCase): |
1738 | form.errors, |
1739 | ) |
1740 | |
1741 | - def test__source_destination_missing_nic(self): |
1742 | + def test_source_destination_missing_nic(self): |
1743 | user = factory.make_admin() |
1744 | source = factory.make_Machine(with_boot_disk=False) |
1745 | factory.make_Interface(node=source, name="eth0") |
1746 | @@ -119,7 +119,7 @@ class TestCloneForm(MAASServerTestCase): |
1747 | form.errors, |
1748 | ) |
1749 | |
1750 | - def test__permission_errors(self): |
1751 | + def test_permission_errors(self): |
1752 | user = factory.make_User() |
1753 | source = factory.make_Machine(with_boot_disk=False) |
1754 | factory.make_PhysicalBlockDevice( |
1755 | @@ -157,7 +157,7 @@ class TestCloneForm(MAASServerTestCase): |
1756 | form.errors, |
1757 | ) |
1758 | |
1759 | - def test__performs_clone(self): |
1760 | + def test_performs_clone(self): |
1761 | user = factory.make_admin() |
1762 | source = factory.make_Machine(with_boot_disk=False) |
1763 | factory.make_PhysicalBlockDevice( |
1764 | diff --git a/src/maasserver/forms/tests/test_controller.py b/src/maasserver/forms/tests/test_controller.py |
1765 | index 6300d60..1b892bf 100644 |
1766 | --- a/src/maasserver/forms/tests/test_controller.py |
1767 | +++ b/src/maasserver/forms/tests/test_controller.py |
1768 | @@ -26,19 +26,19 @@ class TestControllerForm(MAASServerTestCase): |
1769 | list(form.fields), |
1770 | ) |
1771 | |
1772 | - def test___populates_power_type_choices(self): |
1773 | + def test_populates_power_type_choices(self): |
1774 | form = ControllerForm() |
1775 | self.assertEqual( |
1776 | [""] + [choice[0] for choice in get_driver_choices()], |
1777 | [choice[0] for choice in form.fields["power_type"].choices], |
1778 | ) |
1779 | |
1780 | - def test___populates_power_type_initial(self): |
1781 | + def test_populates_power_type_initial(self): |
1782 | rack = factory.make_RackController() |
1783 | form = ControllerForm(instance=rack) |
1784 | self.assertEqual(rack.power_type, form.fields["power_type"].initial) |
1785 | |
1786 | - def test__sets_power_type(self): |
1787 | + def test_sets_power_type(self): |
1788 | rack = factory.make_RackController() |
1789 | power_type = factory.pick_power_type() |
1790 | form = ControllerForm( |
1791 | @@ -51,7 +51,7 @@ class TestControllerForm(MAASServerTestCase): |
1792 | rack = form.save() |
1793 | self.assertEqual(power_type, rack.power_type) |
1794 | |
1795 | - def test__sets_power_parameters(self): |
1796 | + def test_sets_power_parameters(self): |
1797 | rack = factory.make_RackController() |
1798 | power_parameters_field = factory.make_string() |
1799 | form = ControllerForm( |
1800 | @@ -66,7 +66,7 @@ class TestControllerForm(MAASServerTestCase): |
1801 | power_parameters_field, rack.power_parameters["field"] |
1802 | ) |
1803 | |
1804 | - def test__sets_zone(self): |
1805 | + def test_sets_zone(self): |
1806 | rack = factory.make_RackController() |
1807 | zone = factory.make_zone() |
1808 | form = ControllerForm( |
1809 | @@ -76,7 +76,7 @@ class TestControllerForm(MAASServerTestCase): |
1810 | rack = form.save() |
1811 | self.assertEqual(zone.name, rack.zone.name) |
1812 | |
1813 | - def test__sets_domain(self): |
1814 | + def test_sets_domain(self): |
1815 | rack = factory.make_RackController() |
1816 | domain = factory.make_Domain() |
1817 | form = ControllerForm( |
1818 | diff --git a/src/maasserver/forms/tests/test_dhcpsnippet.py b/src/maasserver/forms/tests/test_dhcpsnippet.py |
1819 | index 07082ca..62408ed 100644 |
1820 | --- a/src/maasserver/forms/tests/test_dhcpsnippet.py |
1821 | +++ b/src/maasserver/forms/tests/test_dhcpsnippet.py |
1822 | @@ -24,17 +24,17 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1823 | super().setUp() |
1824 | self.patch(dhcpsnippet, "validate_dhcp_config").return_value = {} |
1825 | |
1826 | - def test__create_dhcp_snippet_requies_name(self): |
1827 | + def test_create_dhcp_snippet_requies_name(self): |
1828 | form = DHCPSnippetForm(data={"value": factory.make_string()}) |
1829 | self.assertFalse(form.is_valid()) |
1830 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
1831 | |
1832 | - def test__create_dhcp_snippet_requires_value(self): |
1833 | + def test_create_dhcp_snippet_requires_value(self): |
1834 | form = DHCPSnippetForm(data={"name": factory.make_name("name")}) |
1835 | self.assertFalse(form.is_valid()) |
1836 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
1837 | |
1838 | - def test__creates_dhcp_snippet(self): |
1839 | + def test_creates_dhcp_snippet(self): |
1840 | name = factory.make_name("name") |
1841 | value = factory.make_string() |
1842 | description = factory.make_string() |
1843 | @@ -62,7 +62,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1844 | event.description, "Created DHCP snippet '%s'." % dhcp_snippet.name |
1845 | ) |
1846 | |
1847 | - def test__create_dhcp_snippet_defaults_to_enabled(self): |
1848 | + def test_create_dhcp_snippet_defaults_to_enabled(self): |
1849 | name = factory.make_name("name") |
1850 | value = factory.make_string() |
1851 | description = factory.make_string() |
1852 | @@ -79,7 +79,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1853 | self.assertEqual(description, dhcp_snippet.description) |
1854 | self.assertTrue(dhcp_snippet.enabled) |
1855 | |
1856 | - def test__creates_dhcp_snippet_with_node(self): |
1857 | + def test_creates_dhcp_snippet_with_node(self): |
1858 | node = factory.make_Node() |
1859 | name = factory.make_name("name") |
1860 | value = factory.make_string() |
1861 | @@ -104,7 +104,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1862 | self.assertEqual(enabled, dhcp_snippet.enabled) |
1863 | self.assertEqual(node, dhcp_snippet.node) |
1864 | |
1865 | - def test__creates_dhcp_snippet_with_subnet(self): |
1866 | + def test_creates_dhcp_snippet_with_subnet(self): |
1867 | subnet = factory.make_Subnet() |
1868 | name = factory.make_name("name") |
1869 | value = factory.make_string() |
1870 | @@ -130,7 +130,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1871 | self.assertEqual(enabled, dhcp_snippet.enabled) |
1872 | self.assertEqual(subnet, dhcp_snippet.subnet) |
1873 | |
1874 | - def test__cannt_create_dhcp_snippet_with_node_and_subnet(self): |
1875 | + def test_cannt_create_dhcp_snippet_with_node_and_subnet(self): |
1876 | node = factory.make_Node() |
1877 | subnet = factory.make_Subnet() |
1878 | name = factory.make_name("name") |
1879 | @@ -149,7 +149,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1880 | ) |
1881 | self.assertFalse(form.is_valid()) |
1882 | |
1883 | - def test__fail_validation_on_create_cleans_value(self): |
1884 | + def test_fail_validation_on_create_cleans_value(self): |
1885 | node = factory.make_Node() |
1886 | subnet = factory.make_Subnet() |
1887 | name = factory.make_name("name") |
1888 | @@ -170,7 +170,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1889 | self.assertItemsEqual([], DHCPSnippet.objects.all()) |
1890 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
1891 | |
1892 | - def test__updates_name(self): |
1893 | + def test_updates_name(self): |
1894 | dhcp_snippet = factory.make_DHCPSnippet() |
1895 | name = factory.make_name("name") |
1896 | form = DHCPSnippetForm(instance=dhcp_snippet, data={"name": name}) |
1897 | @@ -186,7 +186,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1898 | event.description, "Updated DHCP snippet '%s'." % dhcp_snippet.name |
1899 | ) |
1900 | |
1901 | - def test__updates_value(self): |
1902 | + def test_updates_value(self): |
1903 | dhcp_snippet = factory.make_DHCPSnippet() |
1904 | old_value = dhcp_snippet.value.data |
1905 | new_value = factory.make_string() |
1906 | @@ -201,7 +201,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1907 | self.assertEqual(new_value, dhcp_snippet.value.data) |
1908 | self.assertEqual(old_value, dhcp_snippet.value.previous_version.data) |
1909 | |
1910 | - def test__updates_description(self): |
1911 | + def test_updates_description(self): |
1912 | dhcp_snippet = factory.make_DHCPSnippet() |
1913 | description = factory.make_string() |
1914 | form = DHCPSnippetForm( |
1915 | @@ -214,7 +214,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1916 | dhcp_snippet = form.save(endpoint, request) |
1917 | self.assertEqual(description, dhcp_snippet.description) |
1918 | |
1919 | - def test__updates_enabled(self): |
1920 | + def test_updates_enabled(self): |
1921 | dhcp_snippet = factory.make_DHCPSnippet() |
1922 | enabled = not dhcp_snippet.enabled |
1923 | form = DHCPSnippetForm( |
1924 | @@ -227,7 +227,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1925 | dhcp_snippet = form.save(endpoint, request) |
1926 | self.assertEqual(enabled, dhcp_snippet.enabled) |
1927 | |
1928 | - def test__updates_node(self): |
1929 | + def test_updates_node(self): |
1930 | dhcp_snippet = factory.make_DHCPSnippet() |
1931 | node = factory.make_Node() |
1932 | form = DHCPSnippetForm( |
1933 | @@ -240,7 +240,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1934 | dhcp_snippet = form.save(endpoint, request) |
1935 | self.assertEqual(node, dhcp_snippet.node) |
1936 | |
1937 | - def test__updates_node_when_subnet_set(self): |
1938 | + def test_updates_node_when_subnet_set(self): |
1939 | dhcp_snippet = factory.make_DHCPSnippet(subnet=factory.make_Subnet()) |
1940 | node = factory.make_Node() |
1941 | form = DHCPSnippetForm( |
1942 | @@ -254,7 +254,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1943 | self.assertIsNone(dhcp_snippet.subnet) |
1944 | self.assertEquals(node, dhcp_snippet.node) |
1945 | |
1946 | - def test__updates_subnet(self): |
1947 | + def test_updates_subnet(self): |
1948 | dhcp_snippet = factory.make_DHCPSnippet() |
1949 | subnet = factory.make_Subnet() |
1950 | form = DHCPSnippetForm( |
1951 | @@ -267,7 +267,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1952 | dhcp_snippet = form.save(endpoint, request) |
1953 | self.assertEqual(subnet, dhcp_snippet.subnet) |
1954 | |
1955 | - def test__updates_subnet_when_node_set(self): |
1956 | + def test_updates_subnet_when_node_set(self): |
1957 | dhcp_snippet = factory.make_DHCPSnippet(node=factory.make_Node()) |
1958 | subnet = factory.make_Subnet() |
1959 | form = DHCPSnippetForm( |
1960 | @@ -281,7 +281,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1961 | self.assertIsNone(dhcp_snippet.node) |
1962 | self.assertEquals(subnet, dhcp_snippet.subnet) |
1963 | |
1964 | - def test__cannot_update_both_node_and_subnet(self): |
1965 | + def test_cannot_update_both_node_and_subnet(self): |
1966 | dhcp_snippet = factory.make_DHCPSnippet() |
1967 | form = DHCPSnippetForm( |
1968 | instance=dhcp_snippet, |
1969 | @@ -292,7 +292,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1970 | ) |
1971 | self.assertFalse(form.is_valid()) |
1972 | |
1973 | - def test__update_failure_doesnt_delete_value(self): |
1974 | + def test_update_failure_doesnt_delete_value(self): |
1975 | dhcp_snippet = factory.make_DHCPSnippet() |
1976 | value = dhcp_snippet.value.data |
1977 | form = DHCPSnippetForm( |
1978 | @@ -305,7 +305,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1979 | self.assertFalse(form.is_valid()) |
1980 | self.assertEquals(value, reload_object(dhcp_snippet).value.data) |
1981 | |
1982 | - def test__update_global_snippet_resets_node(self): |
1983 | + def test_update_global_snippet_resets_node(self): |
1984 | node = factory.make_Node() |
1985 | dhcp_snippet = factory.make_DHCPSnippet(node=node) |
1986 | form = DHCPSnippetForm( |
1987 | @@ -318,7 +318,7 @@ class TestDHCPSnippetForm(MAASServerTestCase): |
1988 | dhcp_snippet = form.save(endpoint, request) |
1989 | self.assertIsNone(dhcp_snippet.node) |
1990 | |
1991 | - def test__update_global_snippet_resets_subnet(self): |
1992 | + def test_update_global_snippet_resets_subnet(self): |
1993 | subnet = factory.make_Subnet() |
1994 | dhcp_snippet = factory.make_DHCPSnippet(subnet=subnet) |
1995 | form = DHCPSnippetForm( |
1996 | diff --git a/src/maasserver/forms/tests/test_dnsdata.py b/src/maasserver/forms/tests/test_dnsdata.py |
1997 | index 8b7d553..71c838e 100644 |
1998 | --- a/src/maasserver/forms/tests/test_dnsdata.py |
1999 | +++ b/src/maasserver/forms/tests/test_dnsdata.py |
2000 | @@ -14,7 +14,7 @@ from maasserver.utils.orm import reload_object |
2001 | |
2002 | |
2003 | class TestDNSDataForm(MAASServerTestCase): |
2004 | - def test__creates_dnsdata(self): |
2005 | + def test_creates_dnsdata(self): |
2006 | name = factory.make_name("dnsdata") |
2007 | (rrtype, rrdata) = factory.pick_rrset() |
2008 | dnsrr = factory.make_DNSResource(no_ip_addresses=True) |
2009 | @@ -77,12 +77,12 @@ class TestDNSDataForm(MAASServerTestCase): |
2010 | self.assertEqual(rrdata, dnsdata.rrdata) |
2011 | self.assertEqual(None, dnsdata.ttl) |
2012 | |
2013 | - def test__doesnt_require_name_on_update(self): |
2014 | + def test_doesnt_require_name_on_update(self): |
2015 | dnsdata = factory.make_DNSData() |
2016 | form = DNSDataForm(instance=dnsdata, data={}) |
2017 | self.assertTrue(form.is_valid(), form.errors) |
2018 | |
2019 | - def test__updates_dnsdata(self): |
2020 | + def test_updates_dnsdata(self): |
2021 | dnsdata = factory.make_DNSData() |
2022 | (rrtype, rrdata) = factory.pick_rrset() |
2023 | new_ttl = random.randint(1, 1000) |
2024 | diff --git a/src/maasserver/forms/tests/test_dnsresource.py b/src/maasserver/forms/tests/test_dnsresource.py |
2025 | index 130c676..f7a5d1b 100644 |
2026 | --- a/src/maasserver/forms/tests/test_dnsresource.py |
2027 | +++ b/src/maasserver/forms/tests/test_dnsresource.py |
2028 | @@ -15,7 +15,7 @@ from maasserver.utils.orm import reload_object |
2029 | |
2030 | |
2031 | class TestDNSResourceForm(MAASServerTestCase): |
2032 | - def test__creates_dnsresource(self): |
2033 | + def test_creates_dnsresource(self): |
2034 | name = factory.make_name("dnsresource") |
2035 | sip = factory.make_StaticIPAddress() |
2036 | domain = factory.make_Domain() |
2037 | @@ -31,7 +31,7 @@ class TestDNSResourceForm(MAASServerTestCase): |
2038 | self.assertEqual(domain.id, dnsresource.domain.id) |
2039 | self.assertEqual(sip.id, dnsresource.ip_addresses.first().id) |
2040 | |
2041 | - def test__accepts_string_for_ip_addresses(self): |
2042 | + def test_accepts_string_for_ip_addresses(self): |
2043 | name = factory.make_name("dnsresource") |
2044 | sip = factory.make_StaticIPAddress() |
2045 | domain = factory.make_Domain() |
2046 | @@ -44,7 +44,7 @@ class TestDNSResourceForm(MAASServerTestCase): |
2047 | self.assertEqual(domain.id, dnsresource.domain.id) |
2048 | self.assertEqual(sip.id, dnsresource.ip_addresses.first().id) |
2049 | |
2050 | - def test__creates_staticipaddresses(self): |
2051 | + def test_creates_staticipaddresses(self): |
2052 | name = factory.make_name("dnsresource") |
2053 | domain = factory.make_Domain() |
2054 | ips = [factory.make_ip_address() for _ in range(3)] |
2055 | @@ -64,7 +64,7 @@ class TestDNSResourceForm(MAASServerTestCase): |
2056 | actual_users = {ip.user_id for ip in actual_ips} |
2057 | self.assertItemsEqual({request.user.id}, actual_users) |
2058 | |
2059 | - def test__accepts_mix_of_id_and_ipaddress(self): |
2060 | + def test_accepts_mix_of_id_and_ipaddress(self): |
2061 | name = factory.make_name("dnsresource") |
2062 | domain = factory.make_Domain() |
2063 | ips = [factory.make_StaticIPAddress() for _ in range(6)] |
2064 | @@ -125,12 +125,12 @@ class TestDNSResourceForm(MAASServerTestCase): |
2065 | self.assertEqual(domain.id, dnsresource.domain.id) |
2066 | self.assertEqual(None, dnsresource.address_ttl) |
2067 | |
2068 | - def test__doesnt_require_name_on_update(self): |
2069 | + def test_doesnt_require_name_on_update(self): |
2070 | dnsresource = factory.make_DNSResource() |
2071 | form = DNSResourceForm(instance=dnsresource, data={}) |
2072 | self.assertTrue(form.is_valid(), form.errors) |
2073 | |
2074 | - def test__updates_dnsresource(self): |
2075 | + def test_updates_dnsresource(self): |
2076 | dnsresource = factory.make_DNSResource() |
2077 | new_name = factory.make_name("new") |
2078 | new_sip_ids = [factory.make_StaticIPAddress().id] |
2079 | @@ -152,7 +152,7 @@ class TestDNSResourceForm(MAASServerTestCase): |
2080 | [ip.id for ip in reload_object(dnsresource).ip_addresses.all()], |
2081 | ) |
2082 | |
2083 | - def test__update_allows_multiple_ips(self): |
2084 | + def test_update_allows_multiple_ips(self): |
2085 | dnsresource = factory.make_DNSResource() |
2086 | new_name = factory.make_name("new") |
2087 | new_sip_ids = [factory.make_StaticIPAddress().id for _ in range(3)] |
2088 | diff --git a/src/maasserver/forms/tests/test_domain.py b/src/maasserver/forms/tests/test_domain.py |
2089 | index 94d78f4..1b74300 100644 |
2090 | --- a/src/maasserver/forms/tests/test_domain.py |
2091 | +++ b/src/maasserver/forms/tests/test_domain.py |
2092 | @@ -14,7 +14,7 @@ from maasserver.utils.orm import reload_object |
2093 | |
2094 | |
2095 | class TestDomainForm(MAASServerTestCase): |
2096 | - def test__creates_domain(self): |
2097 | + def test_creates_domain(self): |
2098 | domain_name = factory.make_name("domain") |
2099 | domain_authoritative = factory.pick_bool() |
2100 | ttl = random.randint(1, 604800) |
2101 | @@ -31,12 +31,12 @@ class TestDomainForm(MAASServerTestCase): |
2102 | self.assertEqual(domain_authoritative, domain.authoritative) |
2103 | self.assertEqual(ttl, domain.ttl) |
2104 | |
2105 | - def test__doest_require_name_on_update(self): |
2106 | + def test_doest_require_name_on_update(self): |
2107 | domain = factory.make_Domain() |
2108 | form = DomainForm(instance=domain, data={}) |
2109 | self.assertTrue(form.is_valid(), form.errors) |
2110 | |
2111 | - def test__updates_domain(self): |
2112 | + def test_updates_domain(self): |
2113 | new_name = factory.make_name("domain") |
2114 | old_authoritative = factory.pick_bool() |
2115 | domain = factory.make_Domain(authoritative=old_authoritative) |
2116 | diff --git a/src/maasserver/forms/tests/test_ephemeral.py b/src/maasserver/forms/tests/test_ephemeral.py |
2117 | index 61fe11b..0bf95cd 100644 |
2118 | --- a/src/maasserver/forms/tests/test_ephemeral.py |
2119 | +++ b/src/maasserver/forms/tests/test_ephemeral.py |
2120 | @@ -21,13 +21,13 @@ from metadataserver.enum import SCRIPT_TYPE |
2121 | |
2122 | |
2123 | class TestTestForm(MAASServerTestCase): |
2124 | - def test__doesnt_require_anything(self): |
2125 | + def test_doesnt_require_anything(self): |
2126 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2127 | user = factory.make_admin() |
2128 | form = TestForm(instance=node, user=user, data={}) |
2129 | self.assertTrue(form.is_valid(), form.errors) |
2130 | |
2131 | - def test__not_allowed_in_bad_state(self): |
2132 | + def test_not_allowed_in_bad_state(self): |
2133 | node = factory.make_Node(status=NODE_STATUS.DEPLOYING) |
2134 | user = factory.make_admin() |
2135 | form = TestForm(instance=node, user=user, data={}) |
2136 | @@ -42,7 +42,7 @@ class TestTestForm(MAASServerTestCase): |
2137 | form.errors, |
2138 | ) |
2139 | |
2140 | - def test__calls_start_testing_if_already_on(self): |
2141 | + def test_calls_start_testing_if_already_on(self): |
2142 | node = factory.make_Node( |
2143 | status=NODE_STATUS.DEPLOYED, power_state=POWER_STATE.ON |
2144 | ) |
2145 | @@ -55,7 +55,7 @@ class TestTestForm(MAASServerTestCase): |
2146 | mock_start_testing, MockCalledOnceWith(user, False, [], {}) |
2147 | ) |
2148 | |
2149 | - def test__calls_start_testing_with_options(self): |
2150 | + def test_calls_start_testing_with_options(self): |
2151 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2152 | user = factory.make_admin() |
2153 | enable_ssh = factory.pick_bool() |
2154 | @@ -80,7 +80,7 @@ class TestTestForm(MAASServerTestCase): |
2155 | MockCalledOnceWith(user, enable_ssh, testing_scripts, {}), |
2156 | ) |
2157 | |
2158 | - def test__class_start_testing_with_storage_param(self): |
2159 | + def test_class_start_testing_with_storage_param(self): |
2160 | node = factory.make_Node( |
2161 | status=NODE_STATUS.DEPLOYED, with_boot_disk=False |
2162 | ) |
2163 | @@ -116,7 +116,7 @@ class TestTestForm(MAASServerTestCase): |
2164 | ), |
2165 | ) |
2166 | |
2167 | - def test__class_start_testing_with_storage_param_errors(self): |
2168 | + def test_class_start_testing_with_storage_param_errors(self): |
2169 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2170 | user = factory.make_admin() |
2171 | script = factory.make_Script( |
2172 | @@ -134,7 +134,7 @@ class TestTestForm(MAASServerTestCase): |
2173 | ) |
2174 | self.assertFalse(form.is_valid()) |
2175 | |
2176 | - def test__class_start_testing_with_interface_param(self): |
2177 | + def test_class_start_testing_with_interface_param(self): |
2178 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED, interface=False) |
2179 | interface = factory.make_Interface(node=node) |
2180 | user = factory.make_admin() |
2181 | @@ -169,7 +169,7 @@ class TestTestForm(MAASServerTestCase): |
2182 | ), |
2183 | ) |
2184 | |
2185 | - def test__class_start_testing_with_interface_param_errors(self): |
2186 | + def test_class_start_testing_with_interface_param_errors(self): |
2187 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2188 | user = factory.make_admin() |
2189 | script = factory.make_Script( |
2190 | @@ -187,7 +187,7 @@ class TestTestForm(MAASServerTestCase): |
2191 | ) |
2192 | self.assertFalse(form.is_valid()) |
2193 | |
2194 | - def test__class_start_testing_with_runtime_param(self): |
2195 | + def test_class_start_testing_with_runtime_param(self): |
2196 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2197 | user = factory.make_admin() |
2198 | script = factory.make_Script( |
2199 | @@ -211,7 +211,7 @@ class TestTestForm(MAASServerTestCase): |
2200 | ), |
2201 | ) |
2202 | |
2203 | - def test__class_start_testing_with_runtime_param_errors(self): |
2204 | + def test_class_start_testing_with_runtime_param_errors(self): |
2205 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2206 | user = factory.make_admin() |
2207 | script = factory.make_Script( |
2208 | @@ -229,7 +229,7 @@ class TestTestForm(MAASServerTestCase): |
2209 | ) |
2210 | self.assertFalse(form.is_valid()) |
2211 | |
2212 | - def test__class_start_testing_with_url_param(self): |
2213 | + def test_class_start_testing_with_url_param(self): |
2214 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2215 | user = factory.make_admin() |
2216 | script = factory.make_Script( |
2217 | @@ -253,7 +253,7 @@ class TestTestForm(MAASServerTestCase): |
2218 | ), |
2219 | ) |
2220 | |
2221 | - def test__class_start_testing_can_override_global_param(self): |
2222 | + def test_class_start_testing_can_override_global_param(self): |
2223 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2224 | bd = factory.make_PhysicalBlockDevice(node=node) |
2225 | user = factory.make_admin() |
2226 | @@ -301,7 +301,7 @@ class TestTestForm(MAASServerTestCase): |
2227 | ), |
2228 | ) |
2229 | |
2230 | - def test__validates_testing_scripts(self): |
2231 | + def test_validates_testing_scripts(self): |
2232 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2233 | user = factory.make_admin() |
2234 | form = TestForm( |
2235 | @@ -311,7 +311,7 @@ class TestTestForm(MAASServerTestCase): |
2236 | ) |
2237 | self.assertFalse(form.is_valid()) |
2238 | |
2239 | - def test__testing_scripts_cannt_be_none(self): |
2240 | + def test_testing_scripts_cannt_be_none(self): |
2241 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2242 | user = factory.make_admin() |
2243 | form = TestForm( |
2244 | @@ -319,7 +319,7 @@ class TestTestForm(MAASServerTestCase): |
2245 | ) |
2246 | self.assertFalse(form.is_valid()) |
2247 | |
2248 | - def test__cannt_run_destructive_test_on_deployed_machine(self): |
2249 | + def test_cannt_run_destructive_test_on_deployed_machine(self): |
2250 | script = factory.make_Script( |
2251 | script_type=SCRIPT_TYPE.TESTING, destructive=True |
2252 | ) |
2253 | @@ -330,7 +330,7 @@ class TestTestForm(MAASServerTestCase): |
2254 | ) |
2255 | self.assertFalse(form.is_valid()) |
2256 | |
2257 | - def test__cannt_run_destructive_test_on_non_machine(self): |
2258 | + def test_cannt_run_destructive_test_on_non_machine(self): |
2259 | script = factory.make_Script( |
2260 | script_type=SCRIPT_TYPE.TESTING, destructive=True |
2261 | ) |
2262 | @@ -347,7 +347,7 @@ class TestTestForm(MAASServerTestCase): |
2263 | |
2264 | |
2265 | class TestCommissionForm(MAASServerTestCase): |
2266 | - def test__doesnt_require_anything(self): |
2267 | + def test_doesnt_require_anything(self): |
2268 | node = factory.make_Node( |
2269 | status=NODE_STATUS.READY, power_state=POWER_STATE.OFF |
2270 | ) |
2271 | @@ -355,7 +355,7 @@ class TestCommissionForm(MAASServerTestCase): |
2272 | form = CommissionForm(instance=node, user=user, data={}) |
2273 | self.assertTrue(form.is_valid(), form.errors) |
2274 | |
2275 | - def test__not_allowed_in_bad_state(self): |
2276 | + def test_not_allowed_in_bad_state(self): |
2277 | node = factory.make_Node( |
2278 | status=NODE_STATUS.DEPLOYING, power_state=POWER_STATE.OFF |
2279 | ) |
2280 | @@ -372,7 +372,7 @@ class TestCommissionForm(MAASServerTestCase): |
2281 | form.errors, |
2282 | ) |
2283 | |
2284 | - def test__calls_start_commissioning_if_already_on(self): |
2285 | + def test_calls_start_commissioning_if_already_on(self): |
2286 | node = factory.make_Node( |
2287 | status=NODE_STATUS.READY, power_state=POWER_STATE.ON |
2288 | ) |
2289 | @@ -397,7 +397,7 @@ class TestCommissionForm(MAASServerTestCase): |
2290 | ), |
2291 | ) |
2292 | |
2293 | - def test__calls_start_commissioning_with_options(self): |
2294 | + def test_calls_start_commissioning_with_options(self): |
2295 | node = factory.make_Node( |
2296 | status=NODE_STATUS.READY, power_state=POWER_STATE.OFF |
2297 | ) |
2298 | @@ -442,7 +442,7 @@ class TestCommissionForm(MAASServerTestCase): |
2299 | ), |
2300 | ) |
2301 | |
2302 | - def test__class_start_commissioning_with_storage_param(self): |
2303 | + def test_class_start_commissioning_with_storage_param(self): |
2304 | node = factory.make_Node( |
2305 | status=NODE_STATUS.READY, with_boot_disk=False |
2306 | ) |
2307 | @@ -512,7 +512,7 @@ class TestCommissionForm(MAASServerTestCase): |
2308 | ), |
2309 | ) |
2310 | |
2311 | - def test__class_start_commissioning_with_storage_param_errors(self): |
2312 | + def test_class_start_commissioning_with_storage_param_errors(self): |
2313 | node = factory.make_Node(status=NODE_STATUS.READY) |
2314 | user = factory.make_admin() |
2315 | commissioning_script = factory.make_Script( |
2316 | @@ -537,7 +537,7 @@ class TestCommissionForm(MAASServerTestCase): |
2317 | ) |
2318 | self.assertFalse(form.is_valid()) |
2319 | |
2320 | - def test__class_start_commissioning_with_interface_param(self): |
2321 | + def test_class_start_commissioning_with_interface_param(self): |
2322 | node = factory.make_Node(status=NODE_STATUS.READY, interface=False) |
2323 | commissioning_interface = factory.make_Interface(node=node) |
2324 | testing_interface = factory.make_Interface(node=node) |
2325 | @@ -613,7 +613,7 @@ class TestCommissionForm(MAASServerTestCase): |
2326 | ), |
2327 | ) |
2328 | |
2329 | - def test__class_start_commissioning_with_interface_param_errors(self): |
2330 | + def test_class_start_commissioning_with_interface_param_errors(self): |
2331 | node = factory.make_Node(status=NODE_STATUS.DEPLOYED) |
2332 | user = factory.make_admin() |
2333 | commissioning_script = factory.make_Script( |
2334 | @@ -638,7 +638,7 @@ class TestCommissionForm(MAASServerTestCase): |
2335 | ) |
2336 | self.assertFalse(form.is_valid()) |
2337 | |
2338 | - def test__class_start_commissioning_with_runtime_param(self): |
2339 | + def test_class_start_commissioning_with_runtime_param(self): |
2340 | node = factory.make_Node(status=NODE_STATUS.READY) |
2341 | user = factory.make_admin() |
2342 | commissioning_script = factory.make_Script( |
2343 | @@ -684,7 +684,7 @@ class TestCommissionForm(MAASServerTestCase): |
2344 | ), |
2345 | ) |
2346 | |
2347 | - def test__class_start_commissioning_with_runtime_param_errors(self): |
2348 | + def test_class_start_commissioning_with_runtime_param_errors(self): |
2349 | node = factory.make_Node(status=NODE_STATUS.READY) |
2350 | user = factory.make_admin() |
2351 | commissioning_script = factory.make_Script( |
2352 | @@ -709,7 +709,7 @@ class TestCommissionForm(MAASServerTestCase): |
2353 | ) |
2354 | self.assertFalse(form.is_valid()) |
2355 | |
2356 | - def test__class_start_commissioning_with_url_param(self): |
2357 | + def test_class_start_commissioning_with_url_param(self): |
2358 | node = factory.make_Node(status=NODE_STATUS.READY) |
2359 | user = factory.make_admin() |
2360 | commissioning_script = factory.make_Script( |
2361 | @@ -755,7 +755,7 @@ class TestCommissionForm(MAASServerTestCase): |
2362 | ), |
2363 | ) |
2364 | |
2365 | - def test__class_start_commissioning_can_override_global_param(self): |
2366 | + def test_class_start_commissioning_can_override_global_param(self): |
2367 | node = factory.make_Node(status=NODE_STATUS.READY) |
2368 | commissioning_bd = factory.make_PhysicalBlockDevice(node=node) |
2369 | testing_bd = factory.make_PhysicalBlockDevice(node=node) |
2370 | @@ -839,7 +839,7 @@ class TestCommissionForm(MAASServerTestCase): |
2371 | ), |
2372 | ) |
2373 | |
2374 | - def test__validates_commissioning_scripts(self): |
2375 | + def test_validates_commissioning_scripts(self): |
2376 | node = factory.make_Node( |
2377 | status=NODE_STATUS.READY, power_state=POWER_STATE.OFF |
2378 | ) |
2379 | @@ -851,7 +851,7 @@ class TestCommissionForm(MAASServerTestCase): |
2380 | ) |
2381 | self.assertFalse(form.is_valid()) |
2382 | |
2383 | - def test__validates_testing_scripts(self): |
2384 | + def test_validates_testing_scripts(self): |
2385 | node = factory.make_Node( |
2386 | status=NODE_STATUS.READY, power_state=POWER_STATE.OFF |
2387 | ) |
2388 | @@ -863,7 +863,7 @@ class TestCommissionForm(MAASServerTestCase): |
2389 | ) |
2390 | self.assertFalse(form.is_valid()) |
2391 | |
2392 | - def test__allows_setting_testing_scripts_to_none(self): |
2393 | + def test_allows_setting_testing_scripts_to_none(self): |
2394 | node = factory.make_Node( |
2395 | status=NODE_STATUS.READY, power_state=POWER_STATE.OFF |
2396 | ) |
2397 | diff --git a/src/maasserver/forms/tests/test_fabric.py b/src/maasserver/forms/tests/test_fabric.py |
2398 | index 1f5ffaa..ea54b06 100644 |
2399 | --- a/src/maasserver/forms/tests/test_fabric.py |
2400 | +++ b/src/maasserver/forms/tests/test_fabric.py |
2401 | @@ -12,7 +12,7 @@ from maasserver.utils.orm import reload_object |
2402 | |
2403 | |
2404 | class TestFabricForm(MAASServerTestCase): |
2405 | - def test__creates_fabric(self): |
2406 | + def test_creates_fabric(self): |
2407 | fabric_name = factory.make_name("fabric") |
2408 | fabric_description = factory.make_name("description") |
2409 | fabric_class_type = factory.make_name("class_type") |
2410 | @@ -29,12 +29,12 @@ class TestFabricForm(MAASServerTestCase): |
2411 | self.assertEqual(fabric_description, fabric.description) |
2412 | self.assertEqual(fabric_class_type, fabric.class_type) |
2413 | |
2414 | - def test__doest_require_name_on_update(self): |
2415 | + def test_doest_require_name_on_update(self): |
2416 | fabric = factory.make_Fabric() |
2417 | form = FabricForm(instance=fabric, data={}) |
2418 | self.assertTrue(form.is_valid(), form.errors) |
2419 | |
2420 | - def test__updates_fabric(self): |
2421 | + def test_updates_fabric(self): |
2422 | new_name = factory.make_name("fabric") |
2423 | new_fabric_description = factory.make_name("description") |
2424 | new_class_type = factory.make_name("class_type") |
2425 | diff --git a/src/maasserver/forms/tests/test_fannetwork.py b/src/maasserver/forms/tests/test_fannetwork.py |
2426 | index db4376d..22bcfe3 100644 |
2427 | --- a/src/maasserver/forms/tests/test_fannetwork.py |
2428 | +++ b/src/maasserver/forms/tests/test_fannetwork.py |
2429 | @@ -14,7 +14,7 @@ from maasserver.utils.orm import reload_object |
2430 | |
2431 | |
2432 | class TestFanNetworkForm(MAASServerTestCase): |
2433 | - def test__requires_name(self): |
2434 | + def test_requires_name(self): |
2435 | slash = random.randint(12, 28) |
2436 | underlay = factory.make_ipv4_network(slash=slash) |
2437 | overlay = factory.make_ipv4_network(slash=slash - 4) |
2438 | @@ -24,7 +24,7 @@ class TestFanNetworkForm(MAASServerTestCase): |
2439 | self.assertFalse(form.is_valid(), form.errors) |
2440 | self.assertEqual({"name": ["This field is required."]}, form.errors) |
2441 | |
2442 | - def test__requires_overlay(self): |
2443 | + def test_requires_overlay(self): |
2444 | slash = random.randint(12, 28) |
2445 | underlay = factory.make_ipv4_network(slash=slash) |
2446 | form = FanNetworkForm( |
2447 | @@ -36,7 +36,7 @@ class TestFanNetworkForm(MAASServerTestCase): |
2448 | self.assertFalse(form.is_valid(), form.errors) |
2449 | self.assertEqual({"overlay": ["This field is required."]}, form.errors) |
2450 | |
2451 | - def test__requires_underlay(self): |
2452 | + def test_requires_underlay(self): |
2453 | slash = random.randint(12, 28) |
2454 | overlay = factory.make_ipv4_network(slash=slash - 4) |
2455 | form = FanNetworkForm( |
2456 | @@ -47,7 +47,7 @@ class TestFanNetworkForm(MAASServerTestCase): |
2457 | {"underlay": ["This field is required."]}, form.errors |
2458 | ) |
2459 | |
2460 | - def test__creates_fannetwork(self): |
2461 | + def test_creates_fannetwork(self): |
2462 | fannetwork_name = factory.make_name("fannetwork") |
2463 | slash = random.randint(12, 28) |
2464 | underlay = factory.make_ipv4_network(slash=slash) |
2465 | @@ -63,12 +63,12 @@ class TestFanNetworkForm(MAASServerTestCase): |
2466 | fannetwork = form.save() |
2467 | self.assertEqual(fannetwork_name, fannetwork.name) |
2468 | |
2469 | - def test__doest_require_name_on_update(self): |
2470 | + def test_doest_require_name_on_update(self): |
2471 | fannetwork = factory.make_FanNetwork() |
2472 | form = FanNetworkForm(instance=fannetwork, data={}) |
2473 | self.assertTrue(form.is_valid(), form.errors) |
2474 | |
2475 | - def test__updates_fannetwork(self): |
2476 | + def test_updates_fannetwork(self): |
2477 | new_name = factory.make_name("fannetwork") |
2478 | fannetwork = factory.make_FanNetwork() |
2479 | form = FanNetworkForm(instance=fannetwork, data={"name": new_name}) |
2480 | diff --git a/src/maasserver/forms/tests/test_interface.py b/src/maasserver/forms/tests/test_interface.py |
2481 | index 17159da..9a223f2 100644 |
2482 | --- a/src/maasserver/forms/tests/test_interface.py |
2483 | +++ b/src/maasserver/forms/tests/test_interface.py |
2484 | @@ -63,7 +63,7 @@ class ControllerInterfaceFormTest(MAASServerTestCase): |
2485 | ("region_rack", {"maker": factory.make_RegionRackController}), |
2486 | ) |
2487 | |
2488 | - def test__edits_interface(self): |
2489 | + def test_edits_interface(self): |
2490 | node = self.maker() |
2491 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
2492 | new_vlan = factory.make_VLAN(vid=33) |
2493 | @@ -79,7 +79,7 @@ class ControllerInterfaceFormTest(MAASServerTestCase): |
2494 | ), |
2495 | ) |
2496 | |
2497 | - def test__allows_no_vlan(self): |
2498 | + def test_allows_no_vlan(self): |
2499 | node = self.maker() |
2500 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
2501 | form = ControllerInterfaceForm(instance=interface, data={"vlan": None}) |
2502 | @@ -92,7 +92,7 @@ class ControllerInterfaceFormTest(MAASServerTestCase): |
2503 | ), |
2504 | ) |
2505 | |
2506 | - def test__updates_interface_links(self): |
2507 | + def test_updates_interface_links(self): |
2508 | interface = factory.make_Interface( |
2509 | INTERFACE_TYPE.PHYSICAL, name="eth0", link_connected=False |
2510 | ) |
2511 | @@ -116,7 +116,7 @@ class ControllerInterfaceFormTest(MAASServerTestCase): |
2512 | ), |
2513 | ) |
2514 | |
2515 | - def test__updates_interface_errors_for_not_link_connected_and_speed(self): |
2516 | + def test_updates_interface_errors_for_not_link_connected_and_speed(self): |
2517 | interface = factory.make_Interface( |
2518 | INTERFACE_TYPE.PHYSICAL, name="eth0", link_connected=False |
2519 | ) |
2520 | @@ -134,7 +134,7 @@ class ControllerInterfaceFormTest(MAASServerTestCase): |
2521 | |
2522 | |
2523 | class DeployedInterfaceFormTest(MAASServerTestCase): |
2524 | - def test__updates_interface(self): |
2525 | + def test_updates_interface(self): |
2526 | interface = factory.make_Interface( |
2527 | INTERFACE_TYPE.PHYSICAL, name="eth0", link_connected=False |
2528 | ) |
2529 | @@ -166,7 +166,7 @@ class DeployedInterfaceFormTest(MAASServerTestCase): |
2530 | ), |
2531 | ) |
2532 | |
2533 | - def test__updates_interface_errors_for_not_link_connected_and_speed(self): |
2534 | + def test_updates_interface_errors_for_not_link_connected_and_speed(self): |
2535 | interface = factory.make_Interface( |
2536 | INTERFACE_TYPE.PHYSICAL, name="eth0", link_connected=False |
2537 | ) |
2538 | @@ -189,7 +189,7 @@ class DeployedInterfaceFormTest(MAASServerTestCase): |
2539 | |
2540 | |
2541 | class TestPhysicalInterfaceForm(MAASServerTestCase): |
2542 | - def test__updates_interface(self): |
2543 | + def test_updates_interface(self): |
2544 | interface = factory.make_Interface( |
2545 | INTERFACE_TYPE.PHYSICAL, name="eth0", link_connected=False |
2546 | ) |
2547 | @@ -225,7 +225,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2548 | ), |
2549 | ) |
2550 | |
2551 | - def test__updates_interface_errors_for_not_link_connected_and_speed(self): |
2552 | + def test_updates_interface_errors_for_not_link_connected_and_speed(self): |
2553 | interface = factory.make_Interface( |
2554 | INTERFACE_TYPE.PHYSICAL, name="eth0", link_connected=False |
2555 | ) |
2556 | @@ -246,7 +246,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2557 | form.errors["__all__"][0], |
2558 | ) |
2559 | |
2560 | - def test__creates_physical_interface(self): |
2561 | + def test_creates_physical_interface(self): |
2562 | node = factory.make_Node() |
2563 | mac_address = factory.make_mac_address() |
2564 | interface_name = "eth0" |
2565 | @@ -276,7 +276,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2566 | ) |
2567 | self.assertItemsEqual([], interface.parents.all()) |
2568 | |
2569 | - def test__creates_physical_interface_with_numa_node(self): |
2570 | + def test_creates_physical_interface_with_numa_node(self): |
2571 | node = factory.make_Node() |
2572 | numa_node = factory.make_NUMANode(node=node) |
2573 | mac_address = factory.make_mac_address() |
2574 | @@ -298,7 +298,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2575 | self.assertEqual(interface.node, node) |
2576 | self.assertEqual(interface.numa_node, numa_node) |
2577 | |
2578 | - def test__creates_physical_interface_generates_name(self): |
2579 | + def test_creates_physical_interface_generates_name(self): |
2580 | node = factory.make_Node() |
2581 | interface_name = factory.make_name("eth") |
2582 | self.patch(node, "get_next_ifname").return_value = interface_name |
2583 | @@ -328,7 +328,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2584 | ) |
2585 | self.assertItemsEqual([], interface.parents.all()) |
2586 | |
2587 | - def test__creates_physical_interface_disconnected(self): |
2588 | + def test_creates_physical_interface_disconnected(self): |
2589 | node = factory.make_Node() |
2590 | mac_address = factory.make_mac_address() |
2591 | interface_name = "eth0" |
2592 | @@ -356,7 +356,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2593 | ) |
2594 | self.assertItemsEqual([], interface.parents.all()) |
2595 | |
2596 | - def test__create_ensures_link_up(self): |
2597 | + def test_create_ensures_link_up(self): |
2598 | node = factory.make_Node() |
2599 | mac_address = factory.make_mac_address() |
2600 | interface_name = "eth0" |
2601 | @@ -377,7 +377,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2602 | interface.ip_addresses.filter(alloc_type=IPADDRESS_TYPE.STICKY) |
2603 | ) |
2604 | |
2605 | - def test__requires_mac_address(self): |
2606 | + def test_requires_mac_address(self): |
2607 | interface_name = "eth0" |
2608 | vlan = factory.make_VLAN() |
2609 | form = PhysicalInterfaceForm( |
2610 | @@ -444,7 +444,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2611 | interface = form.save() |
2612 | self.assertEquals(vlan, interface.vlan) |
2613 | |
2614 | - def test__rejects_parents(self): |
2615 | + def test_rejects_parents(self): |
2616 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2617 | vlan = factory.make_VLAN() |
2618 | form = PhysicalInterfaceForm( |
2619 | @@ -463,7 +463,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2620 | form.errors["parents"][0], |
2621 | ) |
2622 | |
2623 | - def test__edits_interface(self): |
2624 | + def test_edits_interface(self): |
2625 | interface = factory.make_Interface( |
2626 | INTERFACE_TYPE.PHYSICAL, name="eth0" |
2627 | ) |
2628 | @@ -488,7 +488,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2629 | ) |
2630 | self.assertItemsEqual([], interface.parents.all()) |
2631 | |
2632 | - def test__edits_doesnt_overwrite_name(self): |
2633 | + def test_edits_doesnt_overwrite_name(self): |
2634 | interface = factory.make_Interface( |
2635 | INTERFACE_TYPE.PHYSICAL, name="eth0" |
2636 | ) |
2637 | @@ -508,7 +508,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2638 | ) |
2639 | self.assertItemsEqual([], interface.parents.all()) |
2640 | |
2641 | - def test__edits_interface_disconnected(self): |
2642 | + def test_edits_interface_disconnected(self): |
2643 | interface = factory.make_Interface( |
2644 | INTERFACE_TYPE.PHYSICAL, name="eth0" |
2645 | ) |
2646 | @@ -532,7 +532,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2647 | ) |
2648 | self.assertItemsEqual([], interface.parents.all()) |
2649 | |
2650 | - def test__create_sets_interface_parameters(self): |
2651 | + def test_create_sets_interface_parameters(self): |
2652 | node = factory.make_Node() |
2653 | mac_address = factory.make_mac_address() |
2654 | interface_name = "eth0" |
2655 | @@ -560,7 +560,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2656 | interface.params, |
2657 | ) |
2658 | |
2659 | - def test__update_doesnt_change_interface_parameters(self): |
2660 | + def test_update_doesnt_change_interface_parameters(self): |
2661 | interface = factory.make_Interface( |
2662 | INTERFACE_TYPE.PHYSICAL, name="eth0" |
2663 | ) |
2664 | @@ -590,7 +590,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2665 | interface.params, |
2666 | ) |
2667 | |
2668 | - def test__update_does_change_interface_parameters(self): |
2669 | + def test_update_does_change_interface_parameters(self): |
2670 | interface = factory.make_Interface( |
2671 | INTERFACE_TYPE.PHYSICAL, name="eth0" |
2672 | ) |
2673 | @@ -624,7 +624,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2674 | interface.params, |
2675 | ) |
2676 | |
2677 | - def test__update_allows_clearing_interface_parameters(self): |
2678 | + def test_update_allows_clearing_interface_parameters(self): |
2679 | interface = factory.make_Interface( |
2680 | INTERFACE_TYPE.PHYSICAL, name="eth0" |
2681 | ) |
2682 | @@ -646,7 +646,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase): |
2683 | |
2684 | |
2685 | class VLANInterfaceFormTest(MAASServerTestCase): |
2686 | - def test__creates_vlan_interface(self): |
2687 | + def test_creates_vlan_interface(self): |
2688 | vlan = factory.make_VLAN(vid=10) |
2689 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2690 | form = VLANInterfaceForm( |
2691 | @@ -663,7 +663,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2692 | ) |
2693 | self.assertItemsEqual([parent], interface.parents.all()) |
2694 | |
2695 | - def test__create_ensures_link_up(self): |
2696 | + def test_create_ensures_link_up(self): |
2697 | vlan = factory.make_VLAN(vid=10) |
2698 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2699 | form = VLANInterfaceForm( |
2700 | @@ -675,7 +675,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2701 | interface.ip_addresses.filter(alloc_type=IPADDRESS_TYPE.STICKY) |
2702 | ) |
2703 | |
2704 | - def test__create_rejects_interface_without_vlan(self): |
2705 | + def test_create_rejects_interface_without_vlan(self): |
2706 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2707 | form = VLANInterfaceForm( |
2708 | node=parent.node, data={"parents": [parent.id]} |
2709 | @@ -716,7 +716,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2710 | form.errors["vlan"][0], |
2711 | ) |
2712 | |
2713 | - def test__rejects_no_parents(self): |
2714 | + def test_rejects_no_parents(self): |
2715 | vlan = factory.make_VLAN(vid=10) |
2716 | form = VLANInterfaceForm( |
2717 | node=factory.make_Node(), data={"vlan": vlan.id} |
2718 | @@ -728,7 +728,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2719 | form.errors["parents"][0], |
2720 | ) |
2721 | |
2722 | - def test__rejects_vlan_parent(self): |
2723 | + def test_rejects_vlan_parent(self): |
2724 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2725 | vlan_parent = factory.make_Interface( |
2726 | INTERFACE_TYPE.VLAN, parents=[parent] |
2727 | @@ -745,7 +745,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2728 | form.errors["parents"][0], |
2729 | ) |
2730 | |
2731 | - def test__rejects_no_vlan(self): |
2732 | + def test_rejects_no_vlan(self): |
2733 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2734 | form = VLANInterfaceForm( |
2735 | node=parent.node, data={"vlan": None, "parents": [parent.id]} |
2736 | @@ -757,7 +757,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2737 | form.errors["vlan"][0], |
2738 | ) |
2739 | |
2740 | - def test__rejects_vlan_not_on_same_fabric(self): |
2741 | + def test_rejects_vlan_not_on_same_fabric(self): |
2742 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2743 | factory.make_VLAN(fabric=parent.vlan.fabric, vid=10) |
2744 | other_vlan = factory.make_VLAN() |
2745 | @@ -773,7 +773,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2746 | form.errors["vlan"][0], |
2747 | ) |
2748 | |
2749 | - def test__rejects_parent_on_bond(self): |
2750 | + def test_rejects_parent_on_bond(self): |
2751 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2752 | factory.make_Interface(INTERFACE_TYPE.BOND, parents=[parent]) |
2753 | vlan = factory.make_VLAN(vid=10) |
2754 | @@ -787,7 +787,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2755 | form.errors["parents"][0], |
2756 | ) |
2757 | |
2758 | - def test__rejects_more_than_one_parent(self): |
2759 | + def test_rejects_more_than_one_parent(self): |
2760 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2761 | parent2 = factory.make_Interface( |
2762 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2763 | @@ -805,7 +805,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2764 | ) |
2765 | |
2766 | @skip("XXX: GavinPanella 2017-03-29 bug=1677203: Fails spuriously.") |
2767 | - def test__edits_interface(self): |
2768 | + def test_edits_interface(self): |
2769 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2770 | interface = factory.make_Interface( |
2771 | INTERFACE_TYPE.VLAN, parents=[parent] |
2772 | @@ -828,7 +828,7 @@ class VLANInterfaceFormTest(MAASServerTestCase): |
2773 | |
2774 | |
2775 | class BondInterfaceFormTest(MAASServerTestCase): |
2776 | - def test__error_with_invalid_bond_mode(self): |
2777 | + def test_error_with_invalid_bond_mode(self): |
2778 | vlan = factory.make_VLAN(vid=10) |
2779 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2780 | parent2 = factory.make_Interface( |
2781 | @@ -856,7 +856,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2782 | form.errors, |
2783 | ) |
2784 | |
2785 | - def test__creates_bond_interface(self): |
2786 | + def test_creates_bond_interface(self): |
2787 | vlan = factory.make_VLAN(vid=10) |
2788 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2789 | parent2 = factory.make_Interface( |
2790 | @@ -886,7 +886,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2791 | ) |
2792 | self.assertItemsEqual([parent1, parent2], interface.parents.all()) |
2793 | |
2794 | - def test__create_removes_parent_links_and_sets_link_up_on_bond(self): |
2795 | + def test_create_removes_parent_links_and_sets_link_up_on_bond(self): |
2796 | vlan = factory.make_VLAN(vid=10) |
2797 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2798 | parent1.ensure_link_up() |
2799 | @@ -921,7 +921,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2800 | interface.ip_addresses.filter(alloc_type=IPADDRESS_TYPE.STICKY) |
2801 | ) |
2802 | |
2803 | - def test__creates_bond_interface_with_parent_mac_address(self): |
2804 | + def test_creates_bond_interface_with_parent_mac_address(self): |
2805 | vlan = factory.make_VLAN(vid=10) |
2806 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2807 | parent2 = factory.make_Interface( |
2808 | @@ -949,7 +949,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2809 | ) |
2810 | self.assertItemsEqual([parent1, parent2], interface.parents.all()) |
2811 | |
2812 | - def test__creates_bond_interface_with_default_bond_params(self): |
2813 | + def test_creates_bond_interface_with_default_bond_params(self): |
2814 | vlan = factory.make_VLAN(vid=10) |
2815 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2816 | parent2 = factory.make_Interface( |
2817 | @@ -979,7 +979,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2818 | interface.params, |
2819 | ) |
2820 | |
2821 | - def test__creates_bond_interface_with_bond_params(self): |
2822 | + def test_creates_bond_interface_with_bond_params(self): |
2823 | vlan = factory.make_VLAN(vid=10) |
2824 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, vlan=vlan) |
2825 | parent2 = factory.make_Interface( |
2826 | @@ -1025,7 +1025,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2827 | interface.params, |
2828 | ) |
2829 | |
2830 | - def test__rejects_no_parents(self): |
2831 | + def test_rejects_no_parents(self): |
2832 | vlan = factory.make_VLAN(vid=10) |
2833 | interface_name = factory.make_name() |
2834 | form = BondInterfaceForm( |
2835 | @@ -1039,7 +1039,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2836 | form.errors["parents"][0], |
2837 | ) |
2838 | |
2839 | - def test__rejects_when_parents_already_have_children(self): |
2840 | + def test_rejects_when_parents_already_have_children(self): |
2841 | node = factory.make_Node() |
2842 | parent1 = factory.make_Interface( |
2843 | INTERFACE_TYPE.PHYSICAL, node=node, name="eth0" |
2844 | @@ -1064,7 +1064,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2845 | "Interfaces already in-use: eth0, eth1.", form.errors["parents"][0] |
2846 | ) |
2847 | |
2848 | - def test__rejects_when_parents_not_in_same_vlan(self): |
2849 | + def test_rejects_when_parents_not_in_same_vlan(self): |
2850 | node = factory.make_Node() |
2851 | parent1 = factory.make_Interface( |
2852 | INTERFACE_TYPE.PHYSICAL, node=node, name="eth0" |
2853 | @@ -1083,7 +1083,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2854 | form.errors["parents"][0], |
2855 | ) |
2856 | |
2857 | - def test__edits_interface(self): |
2858 | + def test_edits_interface(self): |
2859 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2860 | parent2 = factory.make_Interface( |
2861 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2862 | @@ -1119,7 +1119,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2863 | [parent1, parent2, new_parent], interface.parents.all() |
2864 | ) |
2865 | |
2866 | - def test__edits_interface_allows_disconnected(self): |
2867 | + def test_edits_interface_allows_disconnected(self): |
2868 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2869 | parent2 = factory.make_Interface( |
2870 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2871 | @@ -1139,7 +1139,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2872 | ), |
2873 | ) |
2874 | |
2875 | - def test__edits_interface_removes_parents(self): |
2876 | + def test_edits_interface_removes_parents(self): |
2877 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2878 | parent2 = factory.make_Interface( |
2879 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2880 | @@ -1167,7 +1167,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2881 | ) |
2882 | self.assertItemsEqual([parent1, parent2], interface.parents.all()) |
2883 | |
2884 | - def test__edits_interface_updates_mac_address_when_parent_removed(self): |
2885 | + def test_edits_interface_updates_mac_address_when_parent_removed(self): |
2886 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2887 | parent2 = factory.make_Interface( |
2888 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2889 | @@ -1198,7 +1198,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2890 | interface.mac_address, [parent1.mac_address, parent2.mac_address] |
2891 | ) |
2892 | |
2893 | - def test__edit_doesnt_overwrite_params(self): |
2894 | + def test_edit_doesnt_overwrite_params(self): |
2895 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2896 | parent2 = factory.make_Interface( |
2897 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2898 | @@ -1242,7 +1242,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2899 | interface.params, |
2900 | ) |
2901 | |
2902 | - def test__edit_does_overwrite_params(self): |
2903 | + def test_edit_does_overwrite_params(self): |
2904 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2905 | parent2 = factory.make_Interface( |
2906 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2907 | @@ -1304,7 +1304,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2908 | interface.params, |
2909 | ) |
2910 | |
2911 | - def test__edit_allows_zero_params(self): |
2912 | + def test_edit_allows_zero_params(self): |
2913 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2914 | parent2 = factory.make_Interface( |
2915 | INTERFACE_TYPE.PHYSICAL, node=parent1.node |
2916 | @@ -1368,7 +1368,7 @@ class BondInterfaceFormTest(MAASServerTestCase): |
2917 | |
2918 | |
2919 | class BridgeInterfaceFormTest(MAASServerTestCase): |
2920 | - def test__creates_bridge_interface(self): |
2921 | + def test_creates_bridge_interface(self): |
2922 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2923 | interface_name = factory.make_name() |
2924 | form = BridgeInterfaceForm( |
2925 | @@ -1386,7 +1386,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2926 | self.assertEqual(interface.mac_address, parent.mac_address) |
2927 | self.assertItemsEqual([parent], interface.parents.all()) |
2928 | |
2929 | - def test__allows_bridge_on_parent_with_vlan_bridges(self): |
2930 | + def test_allows_bridge_on_parent_with_vlan_bridges(self): |
2931 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2932 | vlan1 = factory.make_Interface(INTERFACE_TYPE.VLAN, parents=[parent]) |
2933 | factory.make_Interface(INTERFACE_TYPE.BRIDGE, parents=[vlan1]) |
2934 | @@ -1408,7 +1408,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2935 | self.assertEqual(interface.mac_address, parent.mac_address) |
2936 | self.assertItemsEqual([parent], interface.parents.all()) |
2937 | |
2938 | - def test__allows_bridge_on_bond_with_vlan_bridges(self): |
2939 | + def test_allows_bridge_on_bond_with_vlan_bridges(self): |
2940 | node = factory.make_Node() |
2941 | eth0 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
2942 | eth1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
2943 | @@ -1434,7 +1434,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2944 | self.assertEqual(interface.mac_address, bond0.mac_address) |
2945 | self.assertItemsEqual([bond0], interface.parents.all()) |
2946 | |
2947 | - def test__create_removes_parent_links_and_sets_link_up_on_bridge(self): |
2948 | + def test_create_removes_parent_links_and_sets_link_up_on_bridge(self): |
2949 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2950 | parent.ensure_link_up() |
2951 | interface_name = factory.make_name() |
2952 | @@ -1454,7 +1454,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2953 | interface.ip_addresses.filter(alloc_type=IPADDRESS_TYPE.STICKY) |
2954 | ) |
2955 | |
2956 | - def test__creates_bridge_interface_with_parent_mac_address(self): |
2957 | + def test_creates_bridge_interface_with_parent_mac_address(self): |
2958 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
2959 | interface_name = factory.make_name() |
2960 | form = BridgeInterfaceForm( |
2961 | @@ -1477,7 +1477,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2962 | ) |
2963 | self.assertItemsEqual([parent], interface.parents.all()) |
2964 | |
2965 | - def test__rejects_no_parent(self): |
2966 | + def test_rejects_no_parent(self): |
2967 | interface_name = factory.make_name() |
2968 | form = BridgeInterfaceForm( |
2969 | node=factory.make_Node(), data={"name": interface_name} |
2970 | @@ -1489,7 +1489,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2971 | form.errors["parents"][0], |
2972 | ) |
2973 | |
2974 | - def test__rejects_when_parent_already_have_children(self): |
2975 | + def test_rejects_when_parent_already_have_children(self): |
2976 | node = factory.make_Node() |
2977 | eth0 = factory.make_Interface( |
2978 | INTERFACE_TYPE.PHYSICAL, node=node, name="eth0" |
2979 | @@ -1513,7 +1513,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2980 | "Interfaces already in-use: eth0.", form.errors["parents"][0] |
2981 | ) |
2982 | |
2983 | - def test__rejects_when_parent_is_bridge(self): |
2984 | + def test_rejects_when_parent_is_bridge(self): |
2985 | node = factory.make_Node() |
2986 | bridge = factory.make_Interface(INTERFACE_TYPE.BRIDGE, node=node) |
2987 | interface_name = factory.make_name() |
2988 | @@ -1527,7 +1527,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2989 | form.errors["parents"][0], |
2990 | ) |
2991 | |
2992 | - def test__rejects_when_parent_is_already_in_a_bridge(self): |
2993 | + def test_rejects_when_parent_is_already_in_a_bridge(self): |
2994 | node = factory.make_Node() |
2995 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
2996 | factory.make_Interface( |
2997 | @@ -1544,7 +1544,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
2998 | form.errors["parents"][0], |
2999 | ) |
3000 | |
3001 | - def test__rejects_when_parent_is_already_in_a_bond(self): |
3002 | + def test_rejects_when_parent_is_already_in_a_bond(self): |
3003 | node = factory.make_Node() |
3004 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
3005 | parent2 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
3006 | @@ -1562,7 +1562,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
3007 | form.errors["parents"][0], |
3008 | ) |
3009 | |
3010 | - def test__edits_interface(self): |
3011 | + def test_edits_interface(self): |
3012 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3013 | interface = factory.make_Interface( |
3014 | INTERFACE_TYPE.BRIDGE, parents=[parent] |
3015 | @@ -1594,7 +1594,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
3016 | ) |
3017 | self.assertItemsEqual([new_parent], interface.parents.all()) |
3018 | |
3019 | - def test__edits_interface_allows_disconnected(self): |
3020 | + def test_edits_interface_allows_disconnected(self): |
3021 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3022 | interface = factory.make_Interface( |
3023 | INTERFACE_TYPE.BRIDGE, parents=[parent] |
3024 | @@ -1611,7 +1611,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
3025 | ), |
3026 | ) |
3027 | |
3028 | - def test__edit_doesnt_overwrite_params(self): |
3029 | + def test_edit_doesnt_overwrite_params(self): |
3030 | """Check that updating parameters that are not bridge specific do not |
3031 | overwrite the bridge specific parameters.""" |
3032 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3033 | @@ -1640,7 +1640,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
3034 | interface.params, |
3035 | ) |
3036 | |
3037 | - def test__edit_does_overwrite_params(self): |
3038 | + def test_edit_does_overwrite_params(self): |
3039 | """Check that updating specific bridge parameters that do actually |
3040 | update the parameters.""" |
3041 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3042 | @@ -1680,7 +1680,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
3043 | interface.params, |
3044 | ) |
3045 | |
3046 | - def test__edit_allows_zero_params(self): |
3047 | + def test_edit_allows_zero_params(self): |
3048 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3049 | interface = factory.make_Interface( |
3050 | INTERFACE_TYPE.BRIDGE, parents=[parent] |
3051 | @@ -1720,7 +1720,7 @@ class BridgeInterfaceFormTest(MAASServerTestCase): |
3052 | |
3053 | |
3054 | class AcquiredBridgeInterfaceFormTest(MAASServerTestCase): |
3055 | - def test__creates_acquired_bridge_interface(self): |
3056 | + def test_creates_acquired_bridge_interface(self): |
3057 | interface_name = factory.make_name("br") |
3058 | node = factory.make_Node() |
3059 | parent_fabric = factory.make_Fabric() |
3060 | @@ -1760,7 +1760,7 @@ class AcquiredBridgeInterfaceFormTest(MAASServerTestCase): |
3061 | self.assertItemsEqual([parent_sip], interface.ip_addresses.all()) |
3062 | self.assertItemsEqual([], parent.ip_addresses.all()) |
3063 | |
3064 | - def test__rejects_no_parent(self): |
3065 | + def test_rejects_no_parent(self): |
3066 | interface_name = factory.make_name() |
3067 | form = AcquiredBridgeInterfaceForm( |
3068 | node=factory.make_Node(), data={"name": interface_name} |
3069 | @@ -1772,7 +1772,7 @@ class AcquiredBridgeInterfaceFormTest(MAASServerTestCase): |
3070 | form.errors["parents"][0], |
3071 | ) |
3072 | |
3073 | - def test__rejects_when_parent_already_have_non_vlan_children(self): |
3074 | + def test_rejects_when_parent_already_have_non_vlan_children(self): |
3075 | node = factory.make_Node() |
3076 | eth0 = factory.make_Interface( |
3077 | INTERFACE_TYPE.PHYSICAL, node=node, name="eth0" |
3078 | @@ -1794,7 +1794,7 @@ class AcquiredBridgeInterfaceFormTest(MAASServerTestCase): |
3079 | "Interfaces already in-use: eth0.", form.errors["parents"][0] |
3080 | ) |
3081 | |
3082 | - def test__rejects_when_parent_is_bridge(self): |
3083 | + def test_rejects_when_parent_is_bridge(self): |
3084 | node = factory.make_Node() |
3085 | bridge = factory.make_Interface(INTERFACE_TYPE.BRIDGE, node=node) |
3086 | interface_name = factory.make_name() |
3087 | @@ -1808,7 +1808,7 @@ class AcquiredBridgeInterfaceFormTest(MAASServerTestCase): |
3088 | form.errors["parents"][0], |
3089 | ) |
3090 | |
3091 | - def test__rejects_when_parent_is_already_in_a_bridge(self): |
3092 | + def test_rejects_when_parent_is_already_in_a_bridge(self): |
3093 | node = factory.make_Node() |
3094 | parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
3095 | factory.make_Interface( |
3096 | @@ -1825,7 +1825,7 @@ class AcquiredBridgeInterfaceFormTest(MAASServerTestCase): |
3097 | form.errors["parents"][0], |
3098 | ) |
3099 | |
3100 | - def test__rejects_when_parent_is_already_in_a_bond(self): |
3101 | + def test_rejects_when_parent_is_already_in_a_bond(self): |
3102 | node = factory.make_Node() |
3103 | parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
3104 | parent2 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL, node=node) |
3105 | diff --git a/src/maasserver/forms/tests/test_interface_link.py b/src/maasserver/forms/tests/test_interface_link.py |
3106 | index ae4fbc6..42ebce1 100644 |
3107 | --- a/src/maasserver/forms/tests/test_interface_link.py |
3108 | +++ b/src/maasserver/forms/tests/test_interface_link.py |
3109 | @@ -22,20 +22,20 @@ from maasserver.utils.orm import get_one, reload_object |
3110 | |
3111 | |
3112 | class TestInterfaceLinkForm(MAASServerTestCase): |
3113 | - def test__requires_mode(self): |
3114 | + def test_requires_mode(self): |
3115 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3116 | form = InterfaceLinkForm(instance=interface, data={}) |
3117 | self.assertFalse(form.is_valid(), form.errors) |
3118 | self.assertEqual({"mode": ["This field is required."]}, form.errors) |
3119 | |
3120 | - def test__mode_is_case_insensitive(self): |
3121 | + def test_mode_is_case_insensitive(self): |
3122 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3123 | form = InterfaceLinkForm( |
3124 | instance=interface, data={"mode": INTERFACE_LINK_TYPE.DHCP.upper()} |
3125 | ) |
3126 | self.assertTrue(form.is_valid(), form.errors) |
3127 | |
3128 | - def test__sets_subnet_queryset_to_all_on_interface_wihtout_vlan(self): |
3129 | + def test_sets_subnet_queryset_to_all_on_interface_wihtout_vlan(self): |
3130 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3131 | interface.vlan = None |
3132 | interface.save() |
3133 | @@ -44,13 +44,13 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3134 | list(Subnet.objects.all()), list(form.fields["subnet"].queryset) |
3135 | ) |
3136 | |
3137 | - def test__sets_subnet_queryset_to_subnets_on_interface_vlan(self): |
3138 | + def test_sets_subnet_queryset_to_subnets_on_interface_vlan(self): |
3139 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3140 | subnets = [factory.make_Subnet(vlan=interface.vlan) for _ in range(3)] |
3141 | form = InterfaceLinkForm(instance=interface, data={}) |
3142 | self.assertItemsEqual(subnets, form.fields["subnet"].queryset) |
3143 | |
3144 | - def test__AUTO_requires_subnet(self): |
3145 | + def test_AUTO_requires_subnet(self): |
3146 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3147 | form = InterfaceLinkForm( |
3148 | instance=interface, data={"mode": INTERFACE_LINK_TYPE.AUTO} |
3149 | @@ -58,7 +58,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3150 | self.assertFalse(form.is_valid(), form.errors) |
3151 | self.assertEqual({"subnet": ["This field is required."]}, form.errors) |
3152 | |
3153 | - def test__AUTO_creates_link_to_AUTO_with_subnet(self): |
3154 | + def test_AUTO_creates_link_to_AUTO_with_subnet(self): |
3155 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3156 | auto_subnet = factory.make_Subnet(vlan=interface.vlan) |
3157 | form = InterfaceLinkForm( |
3158 | @@ -70,7 +70,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3159 | auto_ip = interface.ip_addresses.get(alloc_type=IPADDRESS_TYPE.AUTO) |
3160 | self.assertEqual(auto_subnet, auto_ip.subnet) |
3161 | |
3162 | - def test__AUTO_sets_node_gateway_link_v4(self): |
3163 | + def test_AUTO_sets_node_gateway_link_v4(self): |
3164 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3165 | network = factory.make_ipv4_network() |
3166 | auto_subnet = factory.make_Subnet( |
3167 | @@ -90,7 +90,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3168 | node = interface.get_node() |
3169 | self.assertEqual(auto_ip, node.gateway_link_ipv4) |
3170 | |
3171 | - def test__AUTO_sets_node_gateway_link_v6(self): |
3172 | + def test_AUTO_sets_node_gateway_link_v6(self): |
3173 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3174 | network = factory.make_ipv6_network() |
3175 | auto_subnet = factory.make_Subnet( |
3176 | @@ -110,7 +110,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3177 | node = interface.get_node() |
3178 | self.assertEqual(auto_ip, node.gateway_link_ipv6) |
3179 | |
3180 | - def test__AUTO_default_gateway_requires_subnet(self): |
3181 | + def test_AUTO_default_gateway_requires_subnet(self): |
3182 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3183 | form = InterfaceLinkForm( |
3184 | instance=interface, |
3185 | @@ -127,7 +127,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3186 | form.errors, |
3187 | ) |
3188 | |
3189 | - def test__AUTO_default_gateway_requires_subnet_with_gateway_ip(self): |
3190 | + def test_AUTO_default_gateway_requires_subnet_with_gateway_ip(self): |
3191 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3192 | auto_subnet = factory.make_Subnet(vlan=interface.vlan) |
3193 | auto_subnet.gateway_ip = None |
3194 | @@ -151,7 +151,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3195 | form.errors, |
3196 | ) |
3197 | |
3198 | - def test__DHCP_not_allowed_if_already_DHCP_with_subnet(self): |
3199 | + def test_DHCP_not_allowed_if_already_DHCP_with_subnet(self): |
3200 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3201 | dhcp_subnet = factory.make_Subnet() |
3202 | factory.make_StaticIPAddress( |
3203 | @@ -173,7 +173,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3204 | form.errors, |
3205 | ) |
3206 | |
3207 | - def test__DHCP_not_allowed_if_already_DHCP_without_subnet(self): |
3208 | + def test_DHCP_not_allowed_if_already_DHCP_without_subnet(self): |
3209 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3210 | static_ip = factory.make_StaticIPAddress( |
3211 | alloc_type=IPADDRESS_TYPE.DHCP, ip="", interface=interface |
3212 | @@ -188,7 +188,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3213 | {"mode": ["Interface is already set to DHCP."]}, form.errors |
3214 | ) |
3215 | |
3216 | - def test__DHCP_not_allowed_default_gateway(self): |
3217 | + def test_DHCP_not_allowed_default_gateway(self): |
3218 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3219 | form = InterfaceLinkForm( |
3220 | instance=interface, |
3221 | @@ -204,7 +204,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3222 | form.errors, |
3223 | ) |
3224 | |
3225 | - def test__DHCP_creates_link_to_DHCP_with_subnet(self): |
3226 | + def test_DHCP_creates_link_to_DHCP_with_subnet(self): |
3227 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3228 | dhcp_subnet = factory.make_Subnet(vlan=interface.vlan) |
3229 | form = InterfaceLinkForm( |
3230 | @@ -216,7 +216,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3231 | dhcp_ip = interface.ip_addresses.get(alloc_type=IPADDRESS_TYPE.DHCP) |
3232 | self.assertEqual(dhcp_subnet, dhcp_ip.subnet) |
3233 | |
3234 | - def test__DHCP_creates_link_to_DHCP_without_subnet(self): |
3235 | + def test_DHCP_creates_link_to_DHCP_without_subnet(self): |
3236 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3237 | form = InterfaceLinkForm( |
3238 | instance=interface, data={"mode": INTERFACE_LINK_TYPE.DHCP} |
3239 | @@ -229,7 +229,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3240 | ) |
3241 | ) |
3242 | |
3243 | - def test__STATIC_requires_subnet(self): |
3244 | + def test_STATIC_requires_subnet(self): |
3245 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3246 | form = InterfaceLinkForm( |
3247 | instance=interface, data={"mode": INTERFACE_LINK_TYPE.STATIC} |
3248 | @@ -237,7 +237,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3249 | self.assertFalse(form.is_valid(), form.errors) |
3250 | self.assertEqual({"subnet": ["This field is required."]}, form.errors) |
3251 | |
3252 | - def test__STATIC_not_allowed_if_ip_address_not_in_subnet(self): |
3253 | + def test_STATIC_not_allowed_if_ip_address_not_in_subnet(self): |
3254 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3255 | network = factory.make_ipv4_network() |
3256 | subnet = factory.make_Subnet( |
3257 | @@ -262,7 +262,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3258 | form.errors, |
3259 | ) |
3260 | |
3261 | - def test__STATIC_not_allowed_if_ip_address_in_dynamic_range(self): |
3262 | + def test_STATIC_not_allowed_if_ip_address_in_dynamic_range(self): |
3263 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3264 | subnet = factory.make_ipv4_Subnet_with_IPRanges(vlan=interface.vlan) |
3265 | dynamic_range = subnet.get_dynamic_ranges()[0] |
3266 | @@ -286,7 +286,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3267 | form.errors, |
3268 | ) |
3269 | |
3270 | - def test__STATIC_sets_ip_in_unmanaged_subnet(self): |
3271 | + def test_STATIC_sets_ip_in_unmanaged_subnet(self): |
3272 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3273 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3274 | ip = factory.pick_ip_in_network(subnet.get_ipnetwork()) |
3275 | @@ -308,7 +308,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3276 | ) |
3277 | ) |
3278 | |
3279 | - def test__STATIC_sets_ip_for_unmanaged_subnet_specifier(self): |
3280 | + def test_STATIC_sets_ip_for_unmanaged_subnet_specifier(self): |
3281 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3282 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3283 | ip = factory.pick_ip_in_network(subnet.get_ipnetwork()) |
3284 | @@ -330,7 +330,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3285 | ) |
3286 | ) |
3287 | |
3288 | - def test__STATIC_sets_ip_for_subnet_cidr_specifier(self): |
3289 | + def test_STATIC_sets_ip_for_subnet_cidr_specifier(self): |
3290 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3291 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3292 | ip = factory.pick_ip_in_network(subnet.get_ipnetwork()) |
3293 | @@ -352,7 +352,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3294 | ) |
3295 | ) |
3296 | |
3297 | - def test__STATIC_sets_ip_in_subnet(self): |
3298 | + def test_STATIC_sets_ip_in_subnet(self): |
3299 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3300 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3301 | ip_in_subnet = factory.pick_ip_in_Subnet(subnet) |
3302 | @@ -376,7 +376,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3303 | ) |
3304 | ) |
3305 | |
3306 | - def test__STATIC_picks_ip_in_subnet(self): |
3307 | + def test_STATIC_picks_ip_in_subnet(self): |
3308 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3309 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3310 | form = InterfaceLinkForm( |
3311 | @@ -393,7 +393,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3312 | self.assertIsNotNone(ip_address) |
3313 | self.assertIn(IPAddress(ip_address.ip), subnet.get_ipnetwork()) |
3314 | |
3315 | - def test__STATIC_sets_node_gateway_link_ipv4(self): |
3316 | + def test_STATIC_sets_node_gateway_link_ipv4(self): |
3317 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3318 | network = factory.make_ipv4_network() |
3319 | subnet = factory.make_Subnet( |
3320 | @@ -417,7 +417,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3321 | node = interface.get_node() |
3322 | self.assertEqual(ip_address, node.gateway_link_ipv4) |
3323 | |
3324 | - def test__STATIC_sets_node_gateway_link_ipv6(self): |
3325 | + def test_STATIC_sets_node_gateway_link_ipv6(self): |
3326 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3327 | network = factory.make_ipv6_network() |
3328 | subnet = factory.make_Subnet( |
3329 | @@ -441,7 +441,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3330 | node = interface.get_node() |
3331 | self.assertEqual(ip_address, node.gateway_link_ipv6) |
3332 | |
3333 | - def test__LINK_UP_not_allowed_with_other_ip_addresses(self): |
3334 | + def test_LINK_UP_not_allowed_with_other_ip_addresses(self): |
3335 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3336 | factory.make_StaticIPAddress( |
3337 | alloc_type=IPADDRESS_TYPE.DHCP, ip="", interface=interface |
3338 | @@ -461,7 +461,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3339 | form.errors, |
3340 | ) |
3341 | |
3342 | - def test__LINK_UP_creates_link_STICKY_with_subnet(self): |
3343 | + def test_LINK_UP_creates_link_STICKY_with_subnet(self): |
3344 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3345 | link_subnet = factory.make_Subnet(vlan=interface.vlan) |
3346 | form = InterfaceLinkForm( |
3347 | @@ -477,7 +477,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3348 | self.assertIsNone(link_ip.ip) |
3349 | self.assertEqual(link_subnet, link_ip.subnet) |
3350 | |
3351 | - def test__LINK_UP_creates_link_STICKY_without_subnet(self): |
3352 | + def test_LINK_UP_creates_link_STICKY_without_subnet(self): |
3353 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3354 | form = InterfaceLinkForm( |
3355 | instance=interface, data={"mode": INTERFACE_LINK_TYPE.LINK_UP} |
3356 | @@ -490,7 +490,7 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3357 | self.assertIsNotNone(link_ip) |
3358 | self.assertIsNone(link_ip.ip) |
3359 | |
3360 | - def test__LINK_UP_not_allowed_default_gateway(self): |
3361 | + def test_LINK_UP_not_allowed_default_gateway(self): |
3362 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3363 | form = InterfaceLinkForm( |
3364 | instance=interface, |
3365 | @@ -541,13 +541,13 @@ class TestInterfaceLinkForm(MAASServerTestCase): |
3366 | |
3367 | |
3368 | class TestInterfaceUnlinkForm(MAASServerTestCase): |
3369 | - def test__requires_id(self): |
3370 | + def test_requires_id(self): |
3371 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3372 | form = InterfaceUnlinkForm(instance=interface, data={}) |
3373 | self.assertFalse(form.is_valid(), form.errors) |
3374 | self.assertEqual({"id": ["This field is required."]}, form.errors) |
3375 | |
3376 | - def test__must_be_valid_id(self): |
3377 | + def test_must_be_valid_id(self): |
3378 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3379 | link_id = random.randint(100, 1000) |
3380 | form = InterfaceUnlinkForm(instance=interface, data={"id": link_id}) |
3381 | @@ -561,7 +561,7 @@ class TestInterfaceUnlinkForm(MAASServerTestCase): |
3382 | form.errors, |
3383 | ) |
3384 | |
3385 | - def test__DHCP_deletes_link_with_subnet(self): |
3386 | + def test_DHCP_deletes_link_with_subnet(self): |
3387 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3388 | dhcp_subnet = factory.make_Subnet(vlan=interface.vlan) |
3389 | interface.link_subnet(INTERFACE_LINK_TYPE.DHCP, dhcp_subnet) |
3390 | @@ -572,7 +572,7 @@ class TestInterfaceUnlinkForm(MAASServerTestCase): |
3391 | form.save() |
3392 | self.assertIsNone(reload_object(dhcp_ip)) |
3393 | |
3394 | - def test__STATIC_deletes_link_in_subnet(self): |
3395 | + def test_STATIC_deletes_link_in_subnet(self): |
3396 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3397 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3398 | ip = factory.pick_ip_in_network(subnet.get_ipnetwork()) |
3399 | @@ -592,7 +592,7 @@ class TestInterfaceUnlinkForm(MAASServerTestCase): |
3400 | form.save() |
3401 | self.assertIsNone(reload_object(static_ip)) |
3402 | |
3403 | - def test__LINK_UP_deletes_link(self): |
3404 | + def test_LINK_UP_deletes_link(self): |
3405 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3406 | subnet = factory.make_Subnet(vlan=interface.vlan) |
3407 | link_ip = factory.make_StaticIPAddress( |
3408 | @@ -622,7 +622,7 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3409 | alloc_type=alloc_type, ip=ip, subnet=subnet, interface=interface |
3410 | ) |
3411 | |
3412 | - def test__interface_needs_gateways(self): |
3413 | + def test_interface_needs_gateways(self): |
3414 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3415 | form = InterfaceSetDefaultGatwayForm(instance=interface, data={}) |
3416 | self.assertFalse(form.is_valid(), form.errors) |
3417 | @@ -631,14 +631,14 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3418 | form.errors, |
3419 | ) |
3420 | |
3421 | - def test__doesnt_require_link_id_if_only_one_gateway_per_family(self): |
3422 | + def test_doesnt_require_link_id_if_only_one_gateway_per_family(self): |
3423 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3424 | self.make_ip_family_link(interface, factory.make_ipv4_network()) |
3425 | self.make_ip_family_link(interface, factory.make_ipv6_network()) |
3426 | form = InterfaceSetDefaultGatwayForm(instance=interface, data={}) |
3427 | self.assertTrue(form.is_valid(), form.errors) |
3428 | |
3429 | - def test__requires_link_id_if_more_than_one_gateway_per_family(self): |
3430 | + def test_requires_link_id_if_more_than_one_gateway_per_family(self): |
3431 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3432 | self.make_ip_family_link(interface, factory.make_ipv4_network()) |
3433 | self.make_ip_family_link(interface, factory.make_ipv6_network()) |
3434 | @@ -656,7 +656,7 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3435 | form.errors, |
3436 | ) |
3437 | |
3438 | - def test__link_id_fields_setup_correctly(self): |
3439 | + def test_link_id_fields_setup_correctly(self): |
3440 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3441 | links = [] |
3442 | for _ in range(2): |
3443 | @@ -676,7 +676,7 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3444 | choice_ids = [choice[0] for choice in form.fields["link_id"].choices] |
3445 | self.assertItemsEqual(link_ids, choice_ids) |
3446 | |
3447 | - def test__sets_gateway_links_works_on_dhcp_with_gateway_ip(self): |
3448 | + def test_sets_gateway_links_works_on_dhcp_with_gateway_ip(self): |
3449 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3450 | ipv4_link = self.make_ip_family_link( |
3451 | interface, factory.make_ipv4_network(), IPADDRESS_TYPE.DHCP |
3452 | @@ -691,7 +691,7 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3453 | self.assertEqual(ipv4_link, node.gateway_link_ipv4) |
3454 | self.assertEqual(ipv6_link, node.gateway_link_ipv6) |
3455 | |
3456 | - def test__sets_gateway_links_on_node_when_no_link_id(self): |
3457 | + def test_sets_gateway_links_on_node_when_no_link_id(self): |
3458 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3459 | ipv4_link = self.make_ip_family_link( |
3460 | interface, factory.make_ipv4_network() |
3461 | @@ -706,7 +706,7 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3462 | self.assertEqual(ipv4_link, node.gateway_link_ipv4) |
3463 | self.assertEqual(ipv6_link, node.gateway_link_ipv6) |
3464 | |
3465 | - def test__sets_gateway_link_v4_on_node_when_link_id(self): |
3466 | + def test_sets_gateway_link_v4_on_node_when_link_id(self): |
3467 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3468 | ipv4_link = self.make_ip_family_link( |
3469 | interface, factory.make_ipv4_network() |
3470 | @@ -720,7 +720,7 @@ class TestInterfaceSetDefaultGatwayForm(MAASServerTestCase): |
3471 | node = interface.get_node() |
3472 | self.assertEqual(ipv4_link, node.gateway_link_ipv4) |
3473 | |
3474 | - def test__sets_gateway_link_v6_on_node_when_link_id(self): |
3475 | + def test_sets_gateway_link_v6_on_node_when_link_id(self): |
3476 | interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL) |
3477 | ipv6_link = self.make_ip_family_link( |
3478 | interface, factory.make_ipv6_network() |
3479 | diff --git a/src/maasserver/forms/tests/test_iprange.py b/src/maasserver/forms/tests/test_iprange.py |
3480 | index b2a6dbb..c8dfb70 100644 |
3481 | --- a/src/maasserver/forms/tests/test_iprange.py |
3482 | +++ b/src/maasserver/forms/tests/test_iprange.py |
3483 | @@ -17,11 +17,11 @@ from maasserver.utils.orm import reload_object |
3484 | |
3485 | |
3486 | class TestIPRangeForm(MAASServerTestCase): |
3487 | - def test__empty_form_fails_validation(self): |
3488 | + def test_empty_form_fails_validation(self): |
3489 | form = IPRangeForm({}) |
3490 | self.assertFalse(form.is_valid(), dict(form.errors)) |
3491 | |
3492 | - def test__requires_start_ip(self): |
3493 | + def test_requires_start_ip(self): |
3494 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3495 | comment = factory.make_name("comment") |
3496 | form = IPRangeForm( |
3497 | @@ -37,7 +37,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3498 | form.errors["start_ip"], Contains("This field is required.") |
3499 | ) |
3500 | |
3501 | - def test__requires_end_ip(self): |
3502 | + def test_requires_end_ip(self): |
3503 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3504 | comment = factory.make_name("comment") |
3505 | form = IPRangeForm( |
3506 | @@ -53,7 +53,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3507 | form.errors["end_ip"], Contains("This field is required.") |
3508 | ) |
3509 | |
3510 | - def test__requires_type(self): |
3511 | + def test_requires_type(self): |
3512 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3513 | comment = factory.make_name("comment") |
3514 | form = IPRangeForm( |
3515 | @@ -69,7 +69,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3516 | form.errors["type"], Contains("This field is required.") |
3517 | ) |
3518 | |
3519 | - def test__requires_subnet(self): |
3520 | + def test_requires_subnet(self): |
3521 | comment = factory.make_name("comment") |
3522 | form = IPRangeForm( |
3523 | { |
3524 | @@ -84,7 +84,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3525 | form.errors["subnet"], Contains("This field is required.") |
3526 | ) |
3527 | |
3528 | - def test__subnet_optional_if_it_can_be_found(self): |
3529 | + def test_subnet_optional_if_it_can_be_found(self): |
3530 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3531 | comment = factory.make_name("comment") |
3532 | form = IPRangeForm( |
3533 | @@ -99,7 +99,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3534 | iprange = form.save() |
3535 | self.assertEqual(iprange.subnet, subnet) |
3536 | |
3537 | - def test__comment_optional(self): |
3538 | + def test_comment_optional(self): |
3539 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3540 | form = IPRangeForm( |
3541 | { |
3542 | @@ -113,7 +113,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3543 | iprange = form.save() |
3544 | self.assertThat(iprange.comment, Equals("")) |
3545 | |
3546 | - def test__creates_iprange(self): |
3547 | + def test_creates_iprange(self): |
3548 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3549 | comment = factory.make_name("comment") |
3550 | form = IPRangeForm( |
3551 | @@ -133,7 +133,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3552 | self.assertEqual(iprange.type, IPRANGE_TYPE.RESERVED) |
3553 | self.assertEqual(iprange.comment, comment) |
3554 | |
3555 | - def test__creates_iprange_with_user(self): |
3556 | + def test_creates_iprange_with_user(self): |
3557 | subnet = factory.make_Subnet(cidr="10.0.0.0/24") |
3558 | comment = factory.make_name("comment") |
3559 | request = Mock() |
3560 | @@ -157,7 +157,7 @@ class TestIPRangeForm(MAASServerTestCase): |
3561 | self.assertEqual(iprange.comment, comment) |
3562 | self.assertEqual(iprange.user, request.user) |
3563 | |
3564 | - def test__updates_iprange(self): |
3565 | + def test_updates_iprange(self): |
3566 | subnet = factory.make_ipv4_Subnet_with_IPRanges() |
3567 | iprange = subnet.get_dynamic_ranges().first() |
3568 | new_comment = factory.make_name("comment") |
3569 | diff --git a/src/maasserver/forms/tests/test_machinewithmacaddresses.py b/src/maasserver/forms/tests/test_machinewithmacaddresses.py |
3570 | index 4959e00..6e78321 100644 |
3571 | --- a/src/maasserver/forms/tests/test_machinewithmacaddresses.py |
3572 | +++ b/src/maasserver/forms/tests/test_machinewithmacaddresses.py |
3573 | @@ -46,7 +46,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3574 | patch_usable_architectures(self, [architecture]) |
3575 | return self.get_QueryDict(params) |
3576 | |
3577 | - def test__valid(self): |
3578 | + def test_valid(self): |
3579 | architecture = make_usable_architecture(self) |
3580 | form = MachineWithMACAddressesForm( |
3581 | data=self.make_params( |
3582 | @@ -62,7 +62,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3583 | ) |
3584 | self.assertEqual(architecture, form.cleaned_data["architecture"]) |
3585 | |
3586 | - def test__simple_invalid(self): |
3587 | + def test_simple_invalid(self): |
3588 | # If the form only has one (invalid) MAC address field to validate, |
3589 | # the error message in form.errors['mac_addresses'] is the |
3590 | # message from the field's validation error. |
3591 | @@ -77,7 +77,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3592 | form.errors["mac_addresses"], |
3593 | ) |
3594 | |
3595 | - def test__multiple_invalid(self): |
3596 | + def test_multiple_invalid(self): |
3597 | # If the form has multiple MAC address fields to validate, |
3598 | # if one or more fields are invalid, a single error message is |
3599 | # present in form.errors['mac_addresses'] after validation. |
3600 | @@ -96,7 +96,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3601 | form.errors["mac_addresses"], |
3602 | ) |
3603 | |
3604 | - def test__mac_in_use_on_current_node_passes(self): |
3605 | + def test_mac_in_use_on_current_node_passes(self): |
3606 | node = factory.make_Node_with_Interface_on_Subnet( |
3607 | address="aa:bb:cc:dd:ee:ff" |
3608 | ) |
3609 | @@ -116,7 +116,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3610 | ) |
3611 | self.assertEqual(architecture, form.cleaned_data["architecture"]) |
3612 | |
3613 | - def test__with_mac_in_use_on_another_node_fails(self): |
3614 | + def test_with_mac_in_use_on_another_node_fails(self): |
3615 | factory.make_Node_with_Interface_on_Subnet(address="aa:bb:cc:dd:ee:ff") |
3616 | architecture = make_usable_architecture(self) |
3617 | node = factory.make_Node_with_Interface_on_Subnet() |
3618 | @@ -131,7 +131,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3619 | self.assertFalse(form.is_valid(), dict(form.errors)) |
3620 | self.assertThat(dict(form.errors), Contains("mac_addresses")) |
3621 | |
3622 | - def test__with_mac_in_use_on_uknown_interface_passes(self): |
3623 | + def test_with_mac_in_use_on_uknown_interface_passes(self): |
3624 | factory.make_Interface( |
3625 | INTERFACE_TYPE.UNKNOWN, mac_address="aa:bb:cc:dd:ee:ff" |
3626 | ) |
3627 | @@ -150,7 +150,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3628 | ) |
3629 | self.assertEqual(architecture, form.cleaned_data["architecture"]) |
3630 | |
3631 | - def test__empty(self): |
3632 | + def test_empty(self): |
3633 | # Empty values in the list of MAC addresses are simply ignored. |
3634 | form = MachineWithMACAddressesForm( |
3635 | data=self.make_params( |
3636 | @@ -160,7 +160,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3637 | |
3638 | self.assertTrue(form.is_valid()) |
3639 | |
3640 | - def test__mac_address_is_required(self): |
3641 | + def test_mac_address_is_required(self): |
3642 | form = MachineWithMACAddressesForm( |
3643 | data=self.make_params(mac_addresses=[]) |
3644 | ) |
3645 | @@ -171,7 +171,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3646 | ["This field is required."], form.errors["mac_addresses"] |
3647 | ) |
3648 | |
3649 | - def test__no_architecture_or_mac_addresses_is_ok_for_ipmi(self): |
3650 | + def test_no_architecture_or_mac_addresses_is_ok_for_ipmi(self): |
3651 | # No architecture or MAC addresses is okay for IPMI power types. |
3652 | params = self.make_params(mac_addresses=[]) |
3653 | params["architecture"] = None |
3654 | @@ -179,7 +179,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase): |
3655 | form = MachineWithMACAddressesForm(data=params) |
3656 | self.assertTrue(form.is_valid()) |
3657 | |
3658 | - def test__save(self): |
3659 | + def test_save(self): |
3660 | macs = ["aa:bb:cc:dd:ee:ff", "9a:bb:c3:33:e5:7f"] |
3661 | form = MachineWithMACAddressesForm( |
3662 | data=self.make_params(mac_addresses=macs) |
3663 | diff --git a/src/maasserver/forms/tests/test_notification.py b/src/maasserver/forms/tests/test_notification.py |
3664 | index cb2196e..632d1f8 100644 |
3665 | --- a/src/maasserver/forms/tests/test_notification.py |
3666 | +++ b/src/maasserver/forms/tests/test_notification.py |
3667 | @@ -18,7 +18,7 @@ categories = "info", "success", "warning", "error" |
3668 | |
3669 | |
3670 | class TestNotificationForm(MAASServerTestCase): |
3671 | - def test__notification_can_be_created_with_just_message(self): |
3672 | + def test_notification_can_be_created_with_just_message(self): |
3673 | notification_message = factory.make_name("message") |
3674 | form = NotificationForm({"message": notification_message}) |
3675 | self.assertTrue(form.is_valid(), form.errors) |
3676 | @@ -36,7 +36,7 @@ class TestNotificationForm(MAASServerTestCase): |
3677 | ), |
3678 | ) |
3679 | |
3680 | - def test__notification_can_be_created_with_empty_fields(self): |
3681 | + def test_notification_can_be_created_with_empty_fields(self): |
3682 | notification_message = factory.make_name("message") |
3683 | form = NotificationForm( |
3684 | { |
3685 | @@ -65,7 +65,7 @@ class TestNotificationForm(MAASServerTestCase): |
3686 | ), |
3687 | ) |
3688 | |
3689 | - def test__notification_can_be_created_with_all_fields(self): |
3690 | + def test_notification_can_be_created_with_all_fields(self): |
3691 | user = factory.make_User() |
3692 | data = { |
3693 | "ident": factory.make_name("ident"), |
3694 | @@ -92,7 +92,7 @@ class TestNotificationForm(MAASServerTestCase): |
3695 | ) |
3696 | self.assertThat(notification, MatchesStructure.byEquality(**expected)) |
3697 | |
3698 | - def test__notification_can_be_updated(self): |
3699 | + def test_notification_can_be_updated(self): |
3700 | notification = factory.make_Notification() |
3701 | user = factory.make_User() |
3702 | data = { |
3703 | diff --git a/src/maasserver/forms/tests/test_packagerepository.py b/src/maasserver/forms/tests/test_packagerepository.py |
3704 | index 8b3b22f..549f73b 100644 |
3705 | --- a/src/maasserver/forms/tests/test_packagerepository.py |
3706 | +++ b/src/maasserver/forms/tests/test_packagerepository.py |
3707 | @@ -48,7 +48,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3708 | } |
3709 | return params |
3710 | |
3711 | - def test__creates_package_repository(self): |
3712 | + def test_creates_package_repository(self): |
3713 | repo = factory.make_PackageRepository() |
3714 | params = self.make_valid_repo_params(repo) |
3715 | form = PackageRepositoryForm(data=params) |
3716 | @@ -65,17 +65,17 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3717 | "Created package repository '%s'." % package_repository.name, |
3718 | ) |
3719 | |
3720 | - def test__create_package_repository_requires_name(self): |
3721 | + def test_create_package_repository_requires_name(self): |
3722 | form = PackageRepositoryForm( |
3723 | data={"url": factory.make_url(scheme="http")} |
3724 | ) |
3725 | self.assertFalse(form.is_valid()) |
3726 | |
3727 | - def test__create_package_repository_requires_url(self): |
3728 | + def test_create_package_repository_requires_url(self): |
3729 | form = PackageRepositoryForm(data={"name": factory.make_name("name")}) |
3730 | self.assertFalse(form.is_valid()) |
3731 | |
3732 | - def test__default_repository_cannot_be_disabled(self): |
3733 | + def test_default_repository_cannot_be_disabled(self): |
3734 | repo = factory.make_PackageRepository(default=True) |
3735 | params = self.make_valid_repo_params(repo) |
3736 | params["enabled"] = False |
3737 | @@ -83,7 +83,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3738 | self.assertFalse(form.is_valid()) |
3739 | self.assertRaises(ValidationError, form.clean) |
3740 | |
3741 | - def test__create_package_repository_defaults_to_enabled(self): |
3742 | + def test_create_package_repository_defaults_to_enabled(self): |
3743 | repo = factory.make_PackageRepository() |
3744 | params = self.make_valid_repo_params(repo) |
3745 | del params["enabled"] |
3746 | @@ -96,7 +96,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3747 | self.assertAttributes(package_repository, params) |
3748 | self.assertTrue(package_repository.enabled) |
3749 | |
3750 | - def test__fail_validation_on_create_cleans_url(self): |
3751 | + def test_fail_validation_on_create_cleans_url(self): |
3752 | PackageRepository.objects.all().delete() |
3753 | repo = factory.make_PackageRepository() |
3754 | params = self.make_valid_repo_params(repo) |
3755 | @@ -106,7 +106,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3756 | self.assertFalse(form.is_valid()) |
3757 | self.assertItemsEqual([], PackageRepository.objects.all()) |
3758 | |
3759 | - def test__updates_name(self): |
3760 | + def test_updates_name(self): |
3761 | package_repository = factory.make_PackageRepository() |
3762 | name = factory.make_name("name") |
3763 | form = PackageRepositoryForm( |
3764 | @@ -125,7 +125,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3765 | "Updated package repository '%s'." % (package_repository.name), |
3766 | ) |
3767 | |
3768 | - def test__updates_url(self): |
3769 | + def test_updates_url(self): |
3770 | package_repository = factory.make_PackageRepository() |
3771 | url = factory.make_url(scheme="http") |
3772 | form = PackageRepositoryForm( |
3773 | @@ -138,7 +138,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3774 | package_repository = form.save(endpoint, request) |
3775 | self.assertEqual(url, package_repository.url) |
3776 | |
3777 | - def test__updates_enabled(self): |
3778 | + def test_updates_enabled(self): |
3779 | package_repository = factory.make_PackageRepository() |
3780 | enabled = not package_repository.enabled |
3781 | form = PackageRepositoryForm( |
3782 | @@ -151,7 +151,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3783 | package_repository = form.save(endpoint, request) |
3784 | self.assertEqual(enabled, package_repository.enabled) |
3785 | |
3786 | - def test__updates_arches(self): |
3787 | + def test_updates_arches(self): |
3788 | package_repository = factory.make_PackageRepository() |
3789 | arch1 = random.choice(PackageRepository.KNOWN_ARCHES) |
3790 | arch2 = random.choice(PackageRepository.KNOWN_ARCHES) |
3791 | @@ -166,7 +166,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3792 | package_repository = form.save(endpoint, request) |
3793 | self.assertEqual([arch1, arch2, arch3], package_repository.arches) |
3794 | |
3795 | - def test__update_failure_doesnt_delete_url(self): |
3796 | + def test_update_failure_doesnt_delete_url(self): |
3797 | package_repository = factory.make_PackageRepository() |
3798 | url = package_repository.url |
3799 | form = PackageRepositoryForm( |
3800 | @@ -176,7 +176,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3801 | self.assertFalse(form.is_valid()) |
3802 | self.assertEquals(url, reload_object(package_repository).url) |
3803 | |
3804 | - def test__creates_package_repository_defaults_main_arches(self): |
3805 | + def test_creates_package_repository_defaults_main_arches(self): |
3806 | repo = factory.make_PackageRepository(arches=[]) |
3807 | params = self.make_valid_repo_params(repo) |
3808 | del params["arches"] |
3809 | @@ -191,7 +191,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3810 | package_repository.arches, PackageRepository.MAIN_ARCHES |
3811 | ) |
3812 | |
3813 | - def test__arches_validation(self): |
3814 | + def test_arches_validation(self): |
3815 | package_repository = factory.make_PackageRepository() |
3816 | form = PackageRepositoryForm( |
3817 | instance=package_repository, data={"arches": ["i286"]} |
3818 | @@ -208,7 +208,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3819 | endpoint = factory.pick_choice(ENDPOINT_CHOICES) |
3820 | self.assertRaises(ValueError, form.save, endpoint, request) |
3821 | |
3822 | - def test__arches_comma_cleaning(self): |
3823 | + def test_arches_comma_cleaning(self): |
3824 | package_repository = factory.make_PackageRepository() |
3825 | form = PackageRepositoryForm( |
3826 | instance=package_repository, data={"arches": ["i386,armhf"]} |
3827 | @@ -229,7 +229,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3828 | repo = form.save(endpoint, request) |
3829 | self.assertItemsEqual(["i386"], repo.arches) |
3830 | |
3831 | - def test__distribution_comma_cleaning(self): |
3832 | + def test_distribution_comma_cleaning(self): |
3833 | package_repository = factory.make_PackageRepository() |
3834 | form = PackageRepositoryForm( |
3835 | instance=package_repository, data={"distributions": ["val1,val2"]} |
3836 | @@ -250,7 +250,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3837 | repo = form.save(endpoint, request) |
3838 | self.assertItemsEqual(["val1"], repo.distributions) |
3839 | |
3840 | - def test__disabled_pocket_comma_cleaning(self): |
3841 | + def test_disabled_pocket_comma_cleaning(self): |
3842 | package_repository = factory.make_PackageRepository() |
3843 | form = PackageRepositoryForm( |
3844 | instance=package_repository, |
3845 | @@ -273,7 +273,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3846 | repo = form.save(endpoint, request) |
3847 | self.assertItemsEqual(["updates"], repo.disabled_pockets) |
3848 | |
3849 | - def test__disabled_component_comma_cleaning(self): |
3850 | + def test_disabled_component_comma_cleaning(self): |
3851 | package_repository = factory.make_PackageRepository( |
3852 | default=True, components=[] |
3853 | ) |
3854 | @@ -303,7 +303,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3855 | repo = form.save(endpoint, request) |
3856 | self.assertItemsEqual(["universe"], repo.disabled_components) |
3857 | |
3858 | - def test__component_comma_cleaning(self): |
3859 | + def test_component_comma_cleaning(self): |
3860 | package_repository = factory.make_PackageRepository() |
3861 | form = PackageRepositoryForm( |
3862 | instance=package_repository, data={"components": ["val1,val2"]} |
3863 | @@ -324,7 +324,7 @@ class TestPackageRepositoryForm(MAASServerTestCase): |
3864 | repo = form.save(endpoint, request) |
3865 | self.assertItemsEqual(["val1"], repo.components) |
3866 | |
3867 | - def test__updates_disable_sources(self): |
3868 | + def test_updates_disable_sources(self): |
3869 | package_repository = factory.make_PackageRepository() |
3870 | form = PackageRepositoryForm( |
3871 | instance=package_repository, data={"disable_sources": True} |
3872 | diff --git a/src/maasserver/forms/tests/test_parameters.py b/src/maasserver/forms/tests/test_parameters.py |
3873 | index a41f24f..d6b7884 100644 |
3874 | --- a/src/maasserver/forms/tests/test_parameters.py |
3875 | +++ b/src/maasserver/forms/tests/test_parameters.py |
3876 | @@ -43,14 +43,14 @@ class TestParametersForm(MAASServerTestCase): |
3877 | ] |
3878 | ) |
3879 | |
3880 | - def test__validates_parameters_is_dict(self): |
3881 | + def test_validates_parameters_is_dict(self): |
3882 | form = ParametersForm(data=[factory.make_name() for _ in range(3)]) |
3883 | self.assertFalse(form.is_valid()) |
3884 | self.assertDictEqual( |
3885 | {"parameters": ["Must be a dictionary"]}, form.errors |
3886 | ) |
3887 | |
3888 | - def test__validates_parameter_is_str(self): |
3889 | + def test_validates_parameter_is_str(self): |
3890 | param = random.randint(0, 1000) |
3891 | form = ParametersForm(data={param: {"type": "storage"}}) |
3892 | self.assertFalse(form.is_valid()) |
3893 | @@ -59,7 +59,7 @@ class TestParametersForm(MAASServerTestCase): |
3894 | form.errors, |
3895 | ) |
3896 | |
3897 | - def test__validates_parameter_field_type_is_str(self): |
3898 | + def test_validates_parameter_field_type_is_str(self): |
3899 | param_type = random.randint(0, 1000) |
3900 | form = ParametersForm( |
3901 | data={"storage": {"type": param_type, "required": False}} |
3902 | @@ -70,7 +70,7 @@ class TestParametersForm(MAASServerTestCase): |
3903 | form.errors, |
3904 | ) |
3905 | |
3906 | - def test__validates_parameter_field_min_is_int(self): |
3907 | + def test_validates_parameter_field_min_is_int(self): |
3908 | param_min = factory.make_name("min") |
3909 | form = ParametersForm( |
3910 | data={"runtime": {"type": "runtime", "min": param_min}} |
3911 | @@ -81,7 +81,7 @@ class TestParametersForm(MAASServerTestCase): |
3912 | form.errors, |
3913 | ) |
3914 | |
3915 | - def test__validates_parameter_field_max_is_int(self): |
3916 | + def test_validates_parameter_field_max_is_int(self): |
3917 | param_max = factory.make_name("max") |
3918 | form = ParametersForm( |
3919 | data={"runtime": {"type": "runtime", "max": param_max}} |
3920 | @@ -92,7 +92,7 @@ class TestParametersForm(MAASServerTestCase): |
3921 | form.errors, |
3922 | ) |
3923 | |
3924 | - def test__validates_parameter_field_title_is_str(self): |
3925 | + def test_validates_parameter_field_title_is_str(self): |
3926 | form = ParametersForm( |
3927 | data={"storage": {"type": "storage", "title": True}} |
3928 | ) |
3929 | @@ -101,7 +101,7 @@ class TestParametersForm(MAASServerTestCase): |
3930 | {"parameters": ["True: title must be a string"]}, form.errors |
3931 | ) |
3932 | |
3933 | - def test__validates_parameter_field_description_is_str(self): |
3934 | + def test_validates_parameter_field_description_is_str(self): |
3935 | form = ParametersForm( |
3936 | data={"storage": {"type": "storage", "description": True}} |
3937 | ) |
3938 | @@ -110,7 +110,7 @@ class TestParametersForm(MAASServerTestCase): |
3939 | {"parameters": ["True: description must be a string"]}, form.errors |
3940 | ) |
3941 | |
3942 | - def test__validates_parameter_field_argument_format_is_str(self): |
3943 | + def test_validates_parameter_field_argument_format_is_str(self): |
3944 | form = ParametersForm( |
3945 | data={"storage": {"type": "storage", "argument_format": []}} |
3946 | ) |
3947 | @@ -120,7 +120,7 @@ class TestParametersForm(MAASServerTestCase): |
3948 | form.errors, |
3949 | ) |
3950 | |
3951 | - def test__validates_parameter_field_argument_format_for_storage_type(self): |
3952 | + def test_validates_parameter_field_argument_format_for_storage_type(self): |
3953 | form = ParametersForm( |
3954 | data={ |
3955 | "storage": { |
3956 | @@ -140,7 +140,7 @@ class TestParametersForm(MAASServerTestCase): |
3957 | form.errors, |
3958 | ) |
3959 | |
3960 | - def test__validates_parameter_field_argument_format_for_interface(self): |
3961 | + def test_validates_parameter_field_argument_format_for_interface(self): |
3962 | form = ParametersForm( |
3963 | data={ |
3964 | "storage": { |
3965 | @@ -160,7 +160,7 @@ class TestParametersForm(MAASServerTestCase): |
3966 | form.errors, |
3967 | ) |
3968 | |
3969 | - def test__validates_parameter_field_argument_format_non_runtime_type(self): |
3970 | + def test_validates_parameter_field_argument_format_non_runtime_type(self): |
3971 | form = ParametersForm( |
3972 | data={ |
3973 | "runtime": { |
3974 | @@ -175,7 +175,7 @@ class TestParametersForm(MAASServerTestCase): |
3975 | form.errors, |
3976 | ) |
3977 | |
3978 | - def test__validates_parameter_field_default_is_str(self): |
3979 | + def test_validates_parameter_field_default_is_str(self): |
3980 | param_default = random.randint(0, 1000) |
3981 | form = ParametersForm( |
3982 | data={"storage": {"type": "storage", "default": param_default}} |
3983 | @@ -186,7 +186,7 @@ class TestParametersForm(MAASServerTestCase): |
3984 | form.errors, |
3985 | ) |
3986 | |
3987 | - def test__validates_parameter_field_required_is_boolean(self): |
3988 | + def test_validates_parameter_field_required_is_boolean(self): |
3989 | param_required = factory.make_name("required") |
3990 | form = ParametersForm( |
3991 | data={"storage": {"type": "storage", "required": param_required}} |
3992 | @@ -201,7 +201,7 @@ class TestParametersForm(MAASServerTestCase): |
3993 | form.errors, |
3994 | ) |
3995 | |
3996 | - def test__validates_parameter_field_allow_list_is_boolean(self): |
3997 | + def test_validates_parameter_field_allow_list_is_boolean(self): |
3998 | param_allow_list = factory.make_name("allow_list") |
3999 | form = ParametersForm( |
4000 | data={"url": {"type": "url", "allow_list": param_allow_list}} |
4001 | @@ -216,7 +216,7 @@ class TestParametersForm(MAASServerTestCase): |
4002 | form.errors, |
4003 | ) |
4004 | |
4005 | - def test__validates_parameter_field_allow_list_only_for_url(self): |
4006 | + def test_validates_parameter_field_allow_list_only_for_url(self): |
4007 | ptype = random.choice(["storage", "interface", "runtime"]) |
4008 | form = ParametersForm( |
4009 | data={ptype: {"type": ptype, "allow_list": factory.pick_bool()}} |
4010 | @@ -227,7 +227,7 @@ class TestParametersForm(MAASServerTestCase): |
4011 | form.errors, |
4012 | ) |
4013 | |
4014 | - def test__checks_for_supported_parameter_types(self): |
4015 | + def test_checks_for_supported_parameter_types(self): |
4016 | form = ParametersForm( |
4017 | data={ |
4018 | "storage": {"type": "storage"}, |
4019 | @@ -238,7 +238,7 @@ class TestParametersForm(MAASServerTestCase): |
4020 | ) |
4021 | self.assertTrue(form.is_valid()) |
4022 | |
4023 | - def test__validates_against_unsupported_parameter_types(self): |
4024 | + def test_validates_against_unsupported_parameter_types(self): |
4025 | unsupported_type = factory.make_name("unsupported") |
4026 | form = ParametersForm(data={"storage": {"type": unsupported_type}}) |
4027 | self.assertFalse(form.is_valid()) |
4028 | @@ -252,14 +252,14 @@ class TestParametersForm(MAASServerTestCase): |
4029 | form.errors, |
4030 | ) |
4031 | |
4032 | - def test__validates_unsupported_parameter_types_if_not_required(self): |
4033 | + def test_validates_unsupported_parameter_types_if_not_required(self): |
4034 | unsupported_type = factory.make_name("unsupported") |
4035 | form = ParametersForm( |
4036 | data={"storage": {"type": unsupported_type, "required": False}} |
4037 | ) |
4038 | self.assertTrue(form.is_valid()) |
4039 | |
4040 | - def test__validates_storage_interface_type_has_no_min_or_max(self): |
4041 | + def test_validates_storage_interface_type_has_no_min_or_max(self): |
4042 | ptype = random.choice(["storage", "interface"]) |
4043 | form = ParametersForm( |
4044 | data={ptype: {"type": ptype, "min": random.randint(0, 1000)}} |
4045 | @@ -269,7 +269,7 @@ class TestParametersForm(MAASServerTestCase): |
4046 | {"parameters": ["Type doesn't support min or max"]}, form.errors |
4047 | ) |
4048 | |
4049 | - def test__validates_runtime_type_min_greater_than_zero(self): |
4050 | + def test_validates_runtime_type_min_greater_than_zero(self): |
4051 | form = ParametersForm( |
4052 | data={ |
4053 | "runtime": {"type": "runtime", "min": random.randint(-100, -1)} |
4054 | @@ -281,7 +281,7 @@ class TestParametersForm(MAASServerTestCase): |
4055 | form.errors, |
4056 | ) |
4057 | |
4058 | - def test__validates_min_less_than_max(self): |
4059 | + def test_validates_min_less_than_max(self): |
4060 | form = ParametersForm( |
4061 | data={ |
4062 | "runtime": { |
4063 | @@ -296,7 +296,7 @@ class TestParametersForm(MAASServerTestCase): |
4064 | {"parameters": ["min must be less than max"]}, form.errors |
4065 | ) |
4066 | |
4067 | - def test__input_errors_on_unknown_paramater(self): |
4068 | + def test_input_errors_on_unknown_paramater(self): |
4069 | script = factory.make_Script() |
4070 | bad_param = factory.make_name("bad_param") |
4071 | form = ParametersForm( |
4072 | @@ -314,7 +314,7 @@ class TestParametersForm(MAASServerTestCase): |
4073 | form.errors, |
4074 | ) |
4075 | |
4076 | - def test__input_runtime(self): |
4077 | + def test_input_runtime(self): |
4078 | script = factory.make_Script( |
4079 | parameters={"runtime": {"type": "runtime"}} |
4080 | ) |
4081 | @@ -329,7 +329,7 @@ class TestParametersForm(MAASServerTestCase): |
4082 | form.cleaned_data["input"][0], |
4083 | ) |
4084 | |
4085 | - def test__input_runtime_gets_default_from_script_timeout(self): |
4086 | + def test_input_runtime_gets_default_from_script_timeout(self): |
4087 | script = factory.make_Script( |
4088 | parameters={"runtime": {"type": "runtime"}} |
4089 | ) |
4090 | @@ -341,7 +341,7 @@ class TestParametersForm(MAASServerTestCase): |
4091 | form.cleaned_data["input"][0], |
4092 | ) |
4093 | |
4094 | - def test__input_runtime_requires_int(self): |
4095 | + def test_input_runtime_requires_int(self): |
4096 | script = factory.make_Script( |
4097 | parameters={"runtime": {"type": "runtime"}} |
4098 | ) |
4099 | @@ -353,7 +353,7 @@ class TestParametersForm(MAASServerTestCase): |
4100 | self.assertFalse(form.is_valid()) |
4101 | self.assertDictEqual({"runtime": ["Must be an int"]}, form.errors) |
4102 | |
4103 | - def test__input_runtime_validates_required(self): |
4104 | + def test_input_runtime_validates_required(self): |
4105 | script = factory.make_Script( |
4106 | parameters={ |
4107 | "runtime": { |
4108 | @@ -367,7 +367,7 @@ class TestParametersForm(MAASServerTestCase): |
4109 | self.assertFalse(form.is_valid()) |
4110 | self.assertDictEqual({"runtime": ["Field is required"]}, form.errors) |
4111 | |
4112 | - def test__input_runtime_validates_min(self): |
4113 | + def test_input_runtime_validates_min(self): |
4114 | min_runtime = random.randint(1, 100) |
4115 | script = factory.make_Script( |
4116 | parameters={"runtime": {"type": "runtime", "min": min_runtime}} |
4117 | @@ -381,7 +381,7 @@ class TestParametersForm(MAASServerTestCase): |
4118 | {"runtime": ["Must be greater than %s" % min_runtime]}, form.errors |
4119 | ) |
4120 | |
4121 | - def test__input_runtime_validates_max(self): |
4122 | + def test_input_runtime_validates_max(self): |
4123 | max_runtime = random.randint(0, 100) |
4124 | script = factory.make_Script( |
4125 | parameters={"runtime": {"type": "runtime", "max": max_runtime}} |
4126 | @@ -395,7 +395,7 @@ class TestParametersForm(MAASServerTestCase): |
4127 | {"runtime": ["Must be less than %s" % max_runtime]}, form.errors |
4128 | ) |
4129 | |
4130 | - def test__input_storage_validates_required(self): |
4131 | + def test_input_storage_validates_required(self): |
4132 | script = factory.make_Script( |
4133 | parameters={ |
4134 | "storage": { |
4135 | @@ -409,7 +409,7 @@ class TestParametersForm(MAASServerTestCase): |
4136 | self.assertFalse(form.is_valid()) |
4137 | self.assertDictEqual({"storage": ["Field is required"]}, form.errors) |
4138 | |
4139 | - def test__input_storage_defaults_all_with_no_disks(self): |
4140 | + def test_input_storage_defaults_all_with_no_disks(self): |
4141 | script = factory.make_Script( |
4142 | parameters={ |
4143 | "runtime": {"type": "runtime"}, |
4144 | @@ -434,7 +434,7 @@ class TestParametersForm(MAASServerTestCase): |
4145 | form.cleaned_data["input"][0], |
4146 | ) |
4147 | |
4148 | - def test__input_storage_all(self): |
4149 | + def test_input_storage_all(self): |
4150 | node = factory.make_Node() |
4151 | for _ in range(3): |
4152 | factory.make_PhysicalBlockDevice(node=node) |
4153 | @@ -466,7 +466,7 @@ class TestParametersForm(MAASServerTestCase): |
4154 | i["storage"]["value"], |
4155 | ) |
4156 | |
4157 | - def test__input_storage_id(self): |
4158 | + def test_input_storage_id(self): |
4159 | node = factory.make_Node() |
4160 | for _ in range(3): |
4161 | factory.make_PhysicalBlockDevice(node=node) |
4162 | @@ -497,7 +497,7 @@ class TestParametersForm(MAASServerTestCase): |
4163 | input[0]["storage"]["value"], |
4164 | ) |
4165 | |
4166 | - def test__input_storage_id_errors(self): |
4167 | + def test_input_storage_id_errors(self): |
4168 | node = factory.make_Node() |
4169 | for _ in range(3): |
4170 | factory.make_PhysicalBlockDevice(node=node) |
4171 | @@ -517,7 +517,7 @@ class TestParametersForm(MAASServerTestCase): |
4172 | {"storage": ["Physical block id does not exist"]}, form.errors |
4173 | ) |
4174 | |
4175 | - def test__input_storage_list(self): |
4176 | + def test_input_storage_list(self): |
4177 | node = factory.make_Node() |
4178 | for _ in range(10): |
4179 | factory.make_PhysicalBlockDevice(node=node) |
4180 | @@ -560,7 +560,7 @@ class TestParametersForm(MAASServerTestCase): |
4181 | i["storage"]["value"], |
4182 | ) |
4183 | |
4184 | - def test__input_storage_name_errors(self): |
4185 | + def test_input_storage_name_errors(self): |
4186 | node = factory.make_Node() |
4187 | for _ in range(3): |
4188 | factory.make_PhysicalBlockDevice(node=node) |
4189 | @@ -586,7 +586,7 @@ class TestParametersForm(MAASServerTestCase): |
4190 | form.errors, |
4191 | ) |
4192 | |
4193 | - def test__input_interface_validates_required(self): |
4194 | + def test_input_interface_validates_required(self): |
4195 | script = factory.make_Script( |
4196 | parameters={ |
4197 | "interface": { |
4198 | @@ -600,7 +600,7 @@ class TestParametersForm(MAASServerTestCase): |
4199 | self.assertFalse(form.is_valid()) |
4200 | self.assertDictEqual({"interface": ["Field is required"]}, form.errors) |
4201 | |
4202 | - def test__input_interface_defaults_all_with_no_nics(self): |
4203 | + def test_input_interface_defaults_all_with_no_nics(self): |
4204 | script = factory.make_Script( |
4205 | parameters={"interface": {"type": "interface"}} |
4206 | ) |
4207 | @@ -614,7 +614,7 @@ class TestParametersForm(MAASServerTestCase): |
4208 | form.cleaned_data["input"][0], |
4209 | ) |
4210 | |
4211 | - def test__input_interface_defaults_boot_interface_during_commiss(self): |
4212 | + def test_input_interface_defaults_boot_interface_during_commiss(self): |
4213 | node = factory.make_Node_with_Interface_on_Subnet( |
4214 | status=NODE_STATUS.COMMISSIONING |
4215 | ) |
4216 | @@ -635,7 +635,7 @@ class TestParametersForm(MAASServerTestCase): |
4217 | form.cleaned_data["input"][0]["interface"]["value"], |
4218 | ) |
4219 | |
4220 | - def test__input_interface_all(self): |
4221 | + def test_input_interface_all(self): |
4222 | node = factory.make_Node() |
4223 | subnet = factory.make_Subnet() |
4224 | usable_interfaces = [ |
4225 | @@ -672,7 +672,7 @@ class TestParametersForm(MAASServerTestCase): |
4226 | i["interface"]["value"], |
4227 | ) |
4228 | |
4229 | - def test__input_interface_all_only_includes_children(self): |
4230 | + def test_input_interface_all_only_includes_children(self): |
4231 | node = factory.make_Node(interface=False) |
4232 | subnet = factory.make_Subnet() |
4233 | bond = factory.make_Interface( |
4234 | @@ -701,7 +701,7 @@ class TestParametersForm(MAASServerTestCase): |
4235 | input[0]["interface"]["value"], |
4236 | ) |
4237 | |
4238 | - def test__input_interface_id(self): |
4239 | + def test_input_interface_id(self): |
4240 | node = factory.make_Node() |
4241 | subnet = factory.make_Subnet() |
4242 | for _ in range(3): |
4243 | @@ -731,7 +731,7 @@ class TestParametersForm(MAASServerTestCase): |
4244 | input[0]["interface"]["value"], |
4245 | ) |
4246 | |
4247 | - def test__input_interface_id_errors(self): |
4248 | + def test_input_interface_id_errors(self): |
4249 | node = factory.make_Node() |
4250 | for _ in range(3): |
4251 | factory.make_Interface(node=node) |
4252 | @@ -748,7 +748,7 @@ class TestParametersForm(MAASServerTestCase): |
4253 | {"interface": ["Interface id does not exist"]}, form.errors |
4254 | ) |
4255 | |
4256 | - def test__input_interface_id_errors_on_parent(self): |
4257 | + def test_input_interface_id_errors_on_parent(self): |
4258 | node = factory.make_Node(interface=False) |
4259 | parents = [factory.make_Interface(node=node) for _ in range(2)] |
4260 | factory.make_Interface( |
4261 | @@ -767,7 +767,7 @@ class TestParametersForm(MAASServerTestCase): |
4262 | {"interface": ["Interface id does not exist"]}, form.errors |
4263 | ) |
4264 | |
4265 | - def test__input_interface_id_errors_on_unconfigured_or_disabled(self): |
4266 | + def test_input_interface_id_errors_on_unconfigured_or_disabled(self): |
4267 | node = factory.make_Node() |
4268 | bad_interface = random.choice( |
4269 | [ |
4270 | @@ -783,7 +783,7 @@ class TestParametersForm(MAASServerTestCase): |
4271 | ) |
4272 | self.assertFalse(form.is_valid()) |
4273 | |
4274 | - def test__input_interface_list(self): |
4275 | + def test_input_interface_list(self): |
4276 | node = factory.make_Node() |
4277 | subnet = factory.make_Subnet() |
4278 | for _ in range(10): |
4279 | @@ -826,7 +826,7 @@ class TestParametersForm(MAASServerTestCase): |
4280 | i["interface"]["value"], |
4281 | ) |
4282 | |
4283 | - def test__input_interface_name_errors(self): |
4284 | + def test_input_interface_name_errors(self): |
4285 | node = factory.make_Node() |
4286 | for _ in range(3): |
4287 | factory.make_Interface(node=node) |
4288 | @@ -849,7 +849,7 @@ class TestParametersForm(MAASServerTestCase): |
4289 | form.errors, |
4290 | ) |
4291 | |
4292 | - def test__input_interface_name_errors_on_parent(self): |
4293 | + def test_input_interface_name_errors_on_parent(self): |
4294 | node = factory.make_Node(interface=False) |
4295 | parents = [factory.make_Interface(node=node) for _ in range(2)] |
4296 | factory.make_Interface( |
4297 | @@ -874,7 +874,7 @@ class TestParametersForm(MAASServerTestCase): |
4298 | form.errors, |
4299 | ) |
4300 | |
4301 | - def test__input_interface_name_errors_on_unconfigured_or_disabled(self): |
4302 | + def test_input_interface_name_errors_on_unconfigured_or_disabled(self): |
4303 | node = factory.make_Node() |
4304 | bad_interface = random.choice( |
4305 | [ |
4306 | @@ -890,7 +890,7 @@ class TestParametersForm(MAASServerTestCase): |
4307 | ) |
4308 | self.assertFalse(form.is_valid()) |
4309 | |
4310 | - def test__input_url_validates_required(self): |
4311 | + def test_input_url_validates_required(self): |
4312 | script = factory.make_Script( |
4313 | parameters={"url": {"type": "url", "required": True}} |
4314 | ) |
4315 | @@ -898,13 +898,13 @@ class TestParametersForm(MAASServerTestCase): |
4316 | self.assertFalse(form.is_valid()) |
4317 | self.assertDictEqual({"url": ["Field is required"]}, form.errors) |
4318 | |
4319 | - def test__input_url_defaults_empty_with_no_input(self): |
4320 | + def test_input_url_defaults_empty_with_no_input(self): |
4321 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4322 | form = ParametersForm(data={}, script=script, node=factory.make_Node()) |
4323 | self.assertTrue(form.is_valid()) |
4324 | self.assertDictEqual({}, form.cleaned_data["input"][0]) |
4325 | |
4326 | - def test__input_url_allows_ipv4(self): |
4327 | + def test_input_url_allows_ipv4(self): |
4328 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4329 | input = factory.make_ipv4_address() |
4330 | form = ParametersForm( |
4331 | @@ -916,7 +916,7 @@ class TestParametersForm(MAASServerTestCase): |
4332 | form.cleaned_data["input"][0], |
4333 | ) |
4334 | |
4335 | - def test__input_url_allows_ipv4_url(self): |
4336 | + def test_input_url_allows_ipv4_url(self): |
4337 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4338 | input = "%s://%s:%d/%s" % ( |
4339 | self.pick_scheme(), |
4340 | @@ -933,7 +933,7 @@ class TestParametersForm(MAASServerTestCase): |
4341 | form.cleaned_data["input"][0], |
4342 | ) |
4343 | |
4344 | - def test__input_url_allows_ipv6(self): |
4345 | + def test_input_url_allows_ipv6(self): |
4346 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4347 | input = factory.make_ipv6_address() |
4348 | form = ParametersForm( |
4349 | @@ -945,7 +945,7 @@ class TestParametersForm(MAASServerTestCase): |
4350 | form.cleaned_data["input"][0], |
4351 | ) |
4352 | |
4353 | - def test__input_url_allows_ipv6_url(self): |
4354 | + def test_input_url_allows_ipv6_url(self): |
4355 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4356 | input = "%s://[%s]:%d/%s" % ( |
4357 | self.pick_scheme(), |
4358 | @@ -962,7 +962,7 @@ class TestParametersForm(MAASServerTestCase): |
4359 | form.cleaned_data["input"][0], |
4360 | ) |
4361 | |
4362 | - def test__input_url_allows_hostname(self): |
4363 | + def test_input_url_allows_hostname(self): |
4364 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4365 | input = factory.make_hostname() |
4366 | form = ParametersForm( |
4367 | @@ -974,7 +974,7 @@ class TestParametersForm(MAASServerTestCase): |
4368 | form.cleaned_data["input"][0], |
4369 | ) |
4370 | |
4371 | - def test__input_url_allows_hostname_url(self): |
4372 | + def test_input_url_allows_hostname_url(self): |
4373 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4374 | input = factory.make_url(scheme=self.pick_scheme()) |
4375 | form = ParametersForm( |
4376 | @@ -986,7 +986,7 @@ class TestParametersForm(MAASServerTestCase): |
4377 | form.cleaned_data["input"][0], |
4378 | ) |
4379 | |
4380 | - def test__input_url_allows_list(self): |
4381 | + def test_input_url_allows_list(self): |
4382 | script = factory.make_Script( |
4383 | parameters={"url": {"type": "url", "allow_list": True}} |
4384 | ) |
4385 | @@ -1021,7 +1021,7 @@ class TestParametersForm(MAASServerTestCase): |
4386 | form.cleaned_data["input"][0], |
4387 | ) |
4388 | |
4389 | - def test__input_url_list_requires_allow_list(self): |
4390 | + def test_input_url_list_requires_allow_list(self): |
4391 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4392 | inputs = ",".join( |
4393 | [ |
4394 | @@ -1051,7 +1051,7 @@ class TestParametersForm(MAASServerTestCase): |
4395 | self.assertFalse(form.is_valid()) |
4396 | self.assertDictEqual({"url": ["Invalid URL"]}, form.errors) |
4397 | |
4398 | - def test__input_url_list_errors(self): |
4399 | + def test_input_url_list_errors(self): |
4400 | script = factory.make_Script(parameters={"url": {"type": "url"}}) |
4401 | form = ParametersForm( |
4402 | data={"url": factory.make_name("bad!")}, |
4403 | diff --git a/src/maasserver/forms/tests/test_pods.py b/src/maasserver/forms/tests/test_pods.py |
4404 | index 10828ad..2a349de 100644 |
4405 | --- a/src/maasserver/forms/tests/test_pods.py |
4406 | +++ b/src/maasserver/forms/tests/test_pods.py |
4407 | @@ -917,18 +917,18 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4408 | ) |
4409 | return composed_machine, pod_hints |
4410 | |
4411 | - def test__requires_request_kwarg(self): |
4412 | + def test_requires_request_kwarg(self): |
4413 | error = self.assertRaises(ValueError, ComposeMachineForm) |
4414 | self.assertEqual("'request' kwargs is required.", str(error)) |
4415 | |
4416 | - def test__requires_pod_kwarg(self): |
4417 | + def test_requires_pod_kwarg(self): |
4418 | request = MagicMock() |
4419 | error = self.assertRaises( |
4420 | ValueError, ComposeMachineForm, request=request |
4421 | ) |
4422 | self.assertEqual("'pod' kwargs is required.", str(error)) |
4423 | |
4424 | - def test__sets_up_fields_based_on_pod(self): |
4425 | + def test_sets_up_fields_based_on_pod(self): |
4426 | request = MagicMock() |
4427 | pod = make_pod_with_hints() |
4428 | form = ComposeMachineForm(request=request, pod=pod) |
4429 | @@ -995,7 +995,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4430 | ), |
4431 | ) |
4432 | |
4433 | - def test__sets_up_fields_based_on_pod_no_max_cpu_speed(self): |
4434 | + def test_sets_up_fields_based_on_pod_no_max_cpu_speed(self): |
4435 | request = MagicMock() |
4436 | pod = make_pod_with_hints() |
4437 | pod.hints.cpu_speed = 0 |
4438 | @@ -1014,7 +1014,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4439 | ), |
4440 | ) |
4441 | |
4442 | - def test__sets_up_pool_default(self): |
4443 | + def test_sets_up_pool_default(self): |
4444 | request = MagicMock() |
4445 | pod = make_pod_with_hints() |
4446 | pool = factory.make_ResourcePool() |
4447 | @@ -1023,7 +1023,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4448 | form = ComposeMachineForm(request=request, pod=pod) |
4449 | self.assertEqual(pool, form.initial["pool"]) |
4450 | |
4451 | - def test__get_machine_uses_all_initial_values(self): |
4452 | + def test_get_machine_uses_all_initial_values(self): |
4453 | request = MagicMock() |
4454 | pod = make_pod_with_hints() |
4455 | form = ComposeMachineForm(data={}, request=request, pod=pod) |
4456 | @@ -1060,7 +1060,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4457 | ), |
4458 | ) |
4459 | |
4460 | - def test__get_machine_uses_passed_values(self): |
4461 | + def test_get_machine_uses_passed_values(self): |
4462 | request = MagicMock() |
4463 | pod = make_pod_with_hints() |
4464 | architecture = random.choice(pod.architectures) |
4465 | @@ -1127,7 +1127,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4466 | ), |
4467 | ) |
4468 | |
4469 | - def test__get_machine_handles_no_tags_in_storage(self): |
4470 | + def test_get_machine_handles_no_tags_in_storage(self): |
4471 | request = MagicMock() |
4472 | pod = make_pod_with_hints() |
4473 | disk_1 = random.randint(8, 16) * (1000 ** 3) |
4474 | @@ -1168,7 +1168,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4475 | ), |
4476 | ) |
4477 | |
4478 | - def test__get_machine_with_multiple_disks_fails_for_lxd_pods(self): |
4479 | + def test_get_machine_with_multiple_disks_fails_for_lxd_pods(self): |
4480 | request = MagicMock() |
4481 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4482 | pod_host.boot_interface.vlan.dhcp_on = False |
4483 | @@ -1191,7 +1191,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4484 | ): |
4485 | form.get_requested_machine(make_known_host_interfaces(pod)) |
4486 | |
4487 | - def test__get_machine_with_interfaces_fails_no_dhcp_for_vlan(self): |
4488 | + def test_get_machine_with_interfaces_fails_no_dhcp_for_vlan(self): |
4489 | request = MagicMock() |
4490 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4491 | pod_host.boot_interface.vlan.dhcp_on = False |
4492 | @@ -1209,7 +1209,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4493 | ): |
4494 | form.get_requested_machine(make_known_host_interfaces(pod)) |
4495 | |
4496 | - def test__get_machine_with_interfaces_fails_for_no_matching_network(self): |
4497 | + def test_get_machine_with_interfaces_fails_for_no_matching_network(self): |
4498 | request = MagicMock() |
4499 | pod = make_pod_with_hints(with_host=True) |
4500 | # Make a subnet that won't match the host via the constraint. |
4501 | @@ -1224,7 +1224,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4502 | ): |
4503 | form.get_requested_machine(make_known_host_interfaces(pod)) |
4504 | |
4505 | - def test__get_machine_with_interfaces_by_subnet(self): |
4506 | + def test_get_machine_with_interfaces_by_subnet(self): |
4507 | request = MagicMock() |
4508 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4509 | space = factory.make_Space("dmz") |
4510 | @@ -1270,7 +1270,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4511 | ), |
4512 | ) |
4513 | |
4514 | - def test__get_machine_with_interfaces_with_empty_interfaces_input(self): |
4515 | + def test_get_machine_with_interfaces_with_empty_interfaces_input(self): |
4516 | request = MagicMock() |
4517 | host = factory.make_Machine_with_Interface_on_Subnet() |
4518 | space = factory.make_Space("dmz") |
4519 | @@ -1307,7 +1307,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4520 | ), |
4521 | ) |
4522 | |
4523 | - def test__get_machine_with_interfaces_with_unreserved_ip(self): |
4524 | + def test_get_machine_with_interfaces_with_unreserved_ip(self): |
4525 | # Mock the RPC client. |
4526 | client = MagicMock() |
4527 | mock_getClient = self.patch(pods_module, "getClientFromIdentifiers") |
4528 | @@ -1376,7 +1376,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4529 | ), |
4530 | ) |
4531 | |
4532 | - def test__get_machine_with_interfaces_by_subnet_with_default_mode(self): |
4533 | + def test_get_machine_with_interfaces_by_subnet_with_default_mode(self): |
4534 | request = MagicMock() |
4535 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4536 | space = factory.make_Space("dmz") |
4537 | @@ -1421,7 +1421,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4538 | ), |
4539 | ) |
4540 | |
4541 | - def test__get_machine_with_interfaces_by_subnet_with_empty_mode(self): |
4542 | + def test_get_machine_with_interfaces_by_subnet_with_empty_mode(self): |
4543 | request = MagicMock() |
4544 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4545 | space = factory.make_Space("dmz") |
4546 | @@ -1468,7 +1468,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4547 | ), |
4548 | ) |
4549 | |
4550 | - def test__get_machine_with_interfaces_by_space(self): |
4551 | + def test_get_machine_with_interfaces_by_space(self): |
4552 | request = MagicMock() |
4553 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4554 | space = factory.make_Space("dmz") |
4555 | @@ -1508,7 +1508,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4556 | ), |
4557 | ) |
4558 | |
4559 | - def test__get_machine_with_interfaces_by_spaces(self): |
4560 | + def test_get_machine_with_interfaces_by_spaces(self): |
4561 | request = MagicMock() |
4562 | pod_host = factory.make_Machine_with_Interface_on_Subnet() |
4563 | dmz_space = factory.make_Space("dmz") |
4564 | @@ -1562,7 +1562,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4565 | ), |
4566 | ) |
4567 | |
4568 | - def test__get_machine_with_interfaces_by_subnets_bridge(self): |
4569 | + def test_get_machine_with_interfaces_by_subnets_bridge(self): |
4570 | request = MagicMock() |
4571 | cidr1 = "10.0.0.0/24" |
4572 | cidr2 = "192.168.100.0/24" |
4573 | @@ -1623,7 +1623,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4574 | ), |
4575 | ) |
4576 | |
4577 | - def test__get_machine_with_interfaces_by_subnets_bond(self): |
4578 | + def test_get_machine_with_interfaces_by_subnets_bond(self): |
4579 | request = MagicMock() |
4580 | cidr1 = "10.0.0.0/24" |
4581 | cidr2 = "192.168.100.0/24" |
4582 | @@ -1689,7 +1689,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4583 | ), |
4584 | ) |
4585 | |
4586 | - def test__get_machine_with_interfaces_by_subnets_bond_inside_bridge(self): |
4587 | + def test_get_machine_with_interfaces_by_subnets_bond_inside_bridge(self): |
4588 | request = MagicMock() |
4589 | cidr1 = "10.0.0.0/24" |
4590 | cidr2 = "192.168.100.0/24" |
4591 | @@ -1762,7 +1762,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4592 | ), |
4593 | ) |
4594 | |
4595 | - def test__get_machine_with_interfaces_by_space_as_bridge(self): |
4596 | + def test_get_machine_with_interfaces_by_space_as_bridge(self): |
4597 | request = MagicMock() |
4598 | pod_host = factory.make_Machine_with_Interface_on_Subnet( |
4599 | status=NODE_STATUS.READY |
4600 | @@ -1807,7 +1807,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4601 | ), |
4602 | ) |
4603 | |
4604 | - def test__get_machine_with_known_host_interfaces(self): |
4605 | + def test_get_machine_with_known_host_interfaces(self): |
4606 | # Need to test that it can actually find the pod host's data correctly |
4607 | # and that this matches what is expected. |
4608 | request = MagicMock() |
4609 | @@ -1850,7 +1850,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4610 | ), |
4611 | ) |
4612 | |
4613 | - def test__compose_with_interfaces_with_reserved_ip_fails(self): |
4614 | + def test_compose_with_interfaces_with_reserved_ip_fails(self): |
4615 | # Mock the RPC client. |
4616 | client = MagicMock() |
4617 | mock_getClient = self.patch(pods_module, "getClientFromIdentifiers") |
4618 | @@ -1891,7 +1891,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4619 | with ExpectedException(StaticIPAddressUnavailable): |
4620 | form.compose() |
4621 | |
4622 | - def test__compose_with_interfaces_with_unreserved_ip(self): |
4623 | + def test_compose_with_interfaces_with_unreserved_ip(self): |
4624 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4625 | # Mock the RPC client. |
4626 | client = MagicMock() |
4627 | @@ -1938,7 +1938,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4628 | self.assertThat(ip.get_interface().node, Equals(machine)) |
4629 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4630 | |
4631 | - def test__compose_with_commissioning(self): |
4632 | + def test_compose_with_commissioning(self): |
4633 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4634 | request = MagicMock() |
4635 | pod = make_pod_with_hints() |
4636 | @@ -1975,7 +1975,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4637 | self.assertThat(mock_commissioning, MockCalledOnce()) |
4638 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4639 | |
4640 | - def test__compose_sends_default_storage_pool_id(self): |
4641 | + def test_compose_sends_default_storage_pool_id(self): |
4642 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4643 | request = MagicMock() |
4644 | pod = make_pod_with_hints() |
4645 | @@ -2014,7 +2014,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4646 | ) |
4647 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4648 | |
4649 | - def test__compose_duplicated_hostname(self): |
4650 | + def test_compose_duplicated_hostname(self): |
4651 | factory.make_Node(hostname="test") |
4652 | |
4653 | request = MagicMock() |
4654 | @@ -2029,7 +2029,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4655 | form.errors, |
4656 | ) |
4657 | |
4658 | - def test__compose_hostname_with_underscore(self): |
4659 | + def test_compose_hostname_with_underscore(self): |
4660 | request = MagicMock() |
4661 | pod = make_pod_with_hints() |
4662 | |
4663 | @@ -2046,7 +2046,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4664 | form.errors, |
4665 | ) |
4666 | |
4667 | - def test__compose_without_commissioning(self): |
4668 | + def test_compose_without_commissioning(self): |
4669 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4670 | request = MagicMock() |
4671 | pod = make_pod_with_hints() |
4672 | @@ -2085,7 +2085,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4673 | self.assertThat(mock_commissioning, MockNotCalled()) |
4674 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4675 | |
4676 | - def test__compose_with_skip_commissioning_passed(self): |
4677 | + def test_compose_with_skip_commissioning_passed(self): |
4678 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4679 | request = MagicMock() |
4680 | pod = make_pod_with_hints() |
4681 | @@ -2122,7 +2122,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4682 | self.assertThat(mock_commissioning, MockNotCalled()) |
4683 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4684 | |
4685 | - def test__compose_sets_domain_and_zone(self): |
4686 | + def test_compose_sets_domain_and_zone(self): |
4687 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4688 | request = MagicMock() |
4689 | pod = make_pod_with_hints() |
4690 | @@ -2161,7 +2161,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4691 | ) |
4692 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4693 | |
4694 | - def test__compose_sets_resource_pool(self): |
4695 | + def test_compose_sets_resource_pool(self): |
4696 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4697 | request = MagicMock() |
4698 | pod = make_pod_with_hints() |
4699 | @@ -2189,7 +2189,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4700 | self.assertEqual(pool, created_machine.pool) |
4701 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4702 | |
4703 | - def test__compose_uses_pod_pool(self): |
4704 | + def test_compose_uses_pod_pool(self): |
4705 | mock_post_commit_do = self.patch(pods_module, "post_commit_do") |
4706 | request = MagicMock() |
4707 | pod = make_pod_with_hints() |
4708 | @@ -2216,7 +2216,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4709 | self.assertEqual(pod.pool, created_machine.pool) |
4710 | self.assertThat(mock_post_commit_do, MockCalledOnce()) |
4711 | |
4712 | - def test__compose_check_over_commit_ratios_raises_error_for_cores(self): |
4713 | + def test_compose_check_over_commit_ratios_raises_error_for_cores(self): |
4714 | request = MagicMock() |
4715 | pod = make_pod_with_hints() |
4716 | pod.cores = 0 |
4717 | @@ -2238,7 +2238,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4718 | str(error), |
4719 | ) |
4720 | |
4721 | - def test__compose_check_over_commit_ratios_raises_error_for_memory(self): |
4722 | + def test_compose_check_over_commit_ratios_raises_error_for_memory(self): |
4723 | request = MagicMock() |
4724 | pod = make_pod_with_hints() |
4725 | pod.memory = 0 |
4726 | @@ -2265,7 +2265,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4727 | str(error), |
4728 | ) |
4729 | |
4730 | - def test__compose_handles_timeout_error(self): |
4731 | + def test_compose_handles_timeout_error(self): |
4732 | request = MagicMock() |
4733 | pod = make_pod_with_hints() |
4734 | |
4735 | @@ -2286,7 +2286,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4736 | |
4737 | @wait_for_reactor |
4738 | @inlineCallbacks |
4739 | - def test__compose_with_commissioning_in_reactor(self): |
4740 | + def test_compose_with_commissioning_in_reactor(self): |
4741 | request = MagicMock() |
4742 | pod = yield deferToDatabase(make_pod_with_hints, with_host=True) |
4743 | mock_request_commissioning_results = self.patch( |
4744 | @@ -2344,7 +2344,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase): |
4745 | self.assertThat(mock_commissioning, MockCalledOnce()) |
4746 | self.assertThat(mock_request_commissioning_results, MockCalledOnce()) |
4747 | |
4748 | - def test__save_raises_AttributeError(self): |
4749 | + def test_save_raises_AttributeError(self): |
4750 | request = MagicMock() |
4751 | pod = make_pod_with_hints() |
4752 | form = ComposeMachineForm(data={}, request=request, pod=pod) |
4753 | @@ -2372,18 +2372,18 @@ class TestComposeMachineForPodsForm(MAASServerTestCase): |
4754 | def make_pods(self): |
4755 | return [make_pod_with_hints() for _ in range(3)] |
4756 | |
4757 | - def test__requires_request_kwarg(self): |
4758 | + def test_requires_request_kwarg(self): |
4759 | error = self.assertRaises(ValueError, ComposeMachineForPodsForm) |
4760 | self.assertEqual("'request' kwargs is required.", str(error)) |
4761 | |
4762 | - def test__requires_pods_kwarg(self): |
4763 | + def test_requires_pods_kwarg(self): |
4764 | request = MagicMock() |
4765 | error = self.assertRaises( |
4766 | ValueError, ComposeMachineForPodsForm, request=request |
4767 | ) |
4768 | self.assertEqual("'pods' kwargs is required.", str(error)) |
4769 | |
4770 | - def test__sets_up_pod_forms_based_on_pods(self): |
4771 | + def test_sets_up_pod_forms_based_on_pods(self): |
4772 | request = MagicMock() |
4773 | pods = self.make_pods() |
4774 | data = self.make_data(pods) |
4775 | @@ -2406,7 +2406,7 @@ class TestComposeMachineForPodsForm(MAASServerTestCase): |
4776 | ), |
4777 | ) |
4778 | |
4779 | - def test__save_raises_AttributeError(self): |
4780 | + def test_save_raises_AttributeError(self): |
4781 | request = MagicMock() |
4782 | pods = self.make_pods() |
4783 | data = self.make_data(pods) |
4784 | @@ -2490,13 +2490,13 @@ class TestComposeMachineForPodsForm(MAASServerTestCase): |
4785 | |
4786 | |
4787 | class TestGetKnownHostInterfaces(MAASServerTestCase): |
4788 | - def test__returns_empty_list_if_no_interfaces(self): |
4789 | + def test_returns_empty_list_if_no_interfaces(self): |
4790 | node = factory.make_Machine_with_Interface_on_Subnet() |
4791 | node.interface_set.all().delete() |
4792 | interfaces = get_known_host_interfaces(node) |
4793 | self.assertThat(interfaces, HasLength(0)) |
4794 | |
4795 | - def test__returns_appropriate_attach_type(self): |
4796 | + def test_returns_appropriate_attach_type(self): |
4797 | node = factory.make_Machine_with_Interface_on_Subnet() |
4798 | vlan = factory.make_VLAN(dhcp_on=False) |
4799 | node.interface_set.all().delete() |
4800 | @@ -2523,7 +2523,7 @@ class TestGetKnownHostInterfaces(MAASServerTestCase): |
4801 | ], |
4802 | ) |
4803 | |
4804 | - def test__behaves_correctly_when_vlan_is_none(self): |
4805 | + def test_behaves_correctly_when_vlan_is_none(self): |
4806 | node = factory.make_Machine_with_Interface_on_Subnet() |
4807 | node.interface_set.all().delete() |
4808 | bridge = factory.make_Interface( |
4809 | @@ -2549,7 +2549,7 @@ class TestGetKnownHostInterfaces(MAASServerTestCase): |
4810 | ], |
4811 | ) |
4812 | |
4813 | - def test__gets_dhcp_status_for_directly_enabled_vlan(self): |
4814 | + def test_gets_dhcp_status_for_directly_enabled_vlan(self): |
4815 | node = factory.make_Machine_with_Interface_on_Subnet() |
4816 | vlan = factory.make_VLAN(dhcp_on=True) |
4817 | node.interface_set.all().delete() |
4818 | @@ -2576,7 +2576,7 @@ class TestGetKnownHostInterfaces(MAASServerTestCase): |
4819 | ], |
4820 | ) |
4821 | |
4822 | - def test__gets_dhcp_status_for_indirectly_enabled_vlan(self): |
4823 | + def test_gets_dhcp_status_for_indirectly_enabled_vlan(self): |
4824 | node = factory.make_Machine_with_Interface_on_Subnet() |
4825 | relay_vlan = factory.make_VLAN(dhcp_on=True) |
4826 | vlan = factory.make_VLAN(dhcp_on=False, relay_vlan=relay_vlan) |
4827 | diff --git a/src/maasserver/forms/tests/test_script.py b/src/maasserver/forms/tests/test_script.py |
4828 | index ba9d743..3dbe295 100644 |
4829 | --- a/src/maasserver/forms/tests/test_script.py |
4830 | +++ b/src/maasserver/forms/tests/test_script.py |
4831 | @@ -34,17 +34,17 @@ from provisioningserver.events import AUDIT |
4832 | |
4833 | |
4834 | class TestScriptForm(MAASServerTestCase): |
4835 | - def test__create_requires_name(self): |
4836 | + def test_create_requires_name(self): |
4837 | form = ScriptForm(data={"script": factory.make_script_content()}) |
4838 | self.assertFalse(form.is_valid()) |
4839 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
4840 | |
4841 | - def test__create_requires_script(self): |
4842 | + def test_create_requires_script(self): |
4843 | form = ScriptForm(data={"name": factory.make_string()}) |
4844 | self.assertFalse(form.is_valid()) |
4845 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
4846 | |
4847 | - def test__create_with_default_values(self): |
4848 | + def test_create_with_default_values(self): |
4849 | name = factory.make_name("name") |
4850 | script_content = factory.make_script_content() |
4851 | |
4852 | @@ -70,7 +70,7 @@ class TestScriptForm(MAASServerTestCase): |
4853 | self.assertFalse(script.may_reboot) |
4854 | self.assertFalse(script.recommission) |
4855 | |
4856 | - def test__create_with_defined_values(self): |
4857 | + def test_create_with_defined_values(self): |
4858 | name = factory.make_name("name") |
4859 | title = factory.make_name("title") |
4860 | description = factory.make_name("description") |
4861 | @@ -144,7 +144,7 @@ class TestScriptForm(MAASServerTestCase): |
4862 | self.assertEquals(recommission, script.recommission) |
4863 | self.assertFalse(script.default) |
4864 | |
4865 | - def test__create_setting_default_has_no_effect(self): |
4866 | + def test_create_setting_default_has_no_effect(self): |
4867 | form = ScriptForm( |
4868 | data={ |
4869 | "name": factory.make_name("name"), |
4870 | @@ -156,7 +156,7 @@ class TestScriptForm(MAASServerTestCase): |
4871 | script = form.save() |
4872 | self.assertFalse(script.default) |
4873 | |
4874 | - def test__update(self): |
4875 | + def test_update(self): |
4876 | script = factory.make_Script() |
4877 | name = factory.make_name("name") |
4878 | title = factory.make_name("title") |
4879 | @@ -238,19 +238,19 @@ class TestScriptForm(MAASServerTestCase): |
4880 | ) |
4881 | self.assertFalse(script.default) |
4882 | |
4883 | - def test__update_no_fields_mandatory(self): |
4884 | + def test_update_no_fields_mandatory(self): |
4885 | script = factory.make_Script() |
4886 | form = ScriptForm(data={}, instance=script) |
4887 | self.assertTrue(form.is_valid(), form.errors) |
4888 | |
4889 | - def test__update_setting_default_has_no_effect(self): |
4890 | + def test_update_setting_default_has_no_effect(self): |
4891 | script = factory.make_Script(default=True) |
4892 | form = ScriptForm(data={"default": False}, instance=script) |
4893 | self.assertTrue(form.is_valid(), form.errors) |
4894 | script = form.save() |
4895 | self.assertTrue(script.default) |
4896 | |
4897 | - def test__update_prohibits_most_field_updates_on_default_script(self): |
4898 | + def test_update_prohibits_most_field_updates_on_default_script(self): |
4899 | script = factory.make_Script(default=True) |
4900 | for name, field in ScriptForm.base_fields.items(): |
4901 | if name in ["tags", "timeout"]: |
4902 | @@ -279,7 +279,7 @@ class TestScriptForm(MAASServerTestCase): |
4903 | self.assertFalse(form.is_valid()) |
4904 | self.assertEquals(1, VersionedTextFile.objects.all().count()) |
4905 | |
4906 | - def test__update_edit_default_allows_update_of_all_fields(self): |
4907 | + def test_update_edit_default_allows_update_of_all_fields(self): |
4908 | script = factory.make_Script(default=True) |
4909 | for name, field in ScriptForm.base_fields.items(): |
4910 | if name == "script_type": |
4911 | @@ -309,7 +309,7 @@ class TestScriptForm(MAASServerTestCase): |
4912 | ) |
4913 | self.assertTrue(form.is_valid(), form.errors) |
4914 | |
4915 | - def test__update_allows_editing_tag_and_timeout_on_default_script(self): |
4916 | + def test_update_allows_editing_tag_and_timeout_on_default_script(self): |
4917 | script = factory.make_Script(default=True, destructive=False) |
4918 | tags = [factory.make_name("tag") for _ in range(3)] |
4919 | timeout = random.randint(0, 1000) |
4920 | @@ -324,7 +324,7 @@ class TestScriptForm(MAASServerTestCase): |
4921 | self.assertThat(script.tags, ContainsAll(tags)) |
4922 | self.assertEquals(timedelta(0, timeout), script.timeout) |
4923 | |
4924 | - def test__update_requires_script_with_comment(self): |
4925 | + def test_update_requires_script_with_comment(self): |
4926 | script = factory.make_Script() |
4927 | form = ScriptForm( |
4928 | data={"comment": factory.make_name("comment")}, instance=script |
4929 | @@ -340,7 +340,7 @@ class TestScriptForm(MAASServerTestCase): |
4930 | form.errors, |
4931 | ) |
4932 | |
4933 | - def test__update_script_doesnt_effect_other_fields(self): |
4934 | + def test_update_script_doesnt_effect_other_fields(self): |
4935 | script = factory.make_Script() |
4936 | script_content = factory.make_script_content() |
4937 | name = script.name |
4938 | @@ -381,7 +381,7 @@ class TestScriptForm(MAASServerTestCase): |
4939 | self.assertItemsEqual(for_hardware, script.for_hardware) |
4940 | self.assertEquals(recommission, script.recommission) |
4941 | |
4942 | - def test__yaml_doesnt_update_tags(self): |
4943 | + def test_yaml_doesnt_update_tags(self): |
4944 | script = factory.make_Script() |
4945 | orig_tags = script.tags |
4946 | |
4947 | @@ -397,7 +397,7 @@ class TestScriptForm(MAASServerTestCase): |
4948 | script = form.save() |
4949 | self.assertItemsEqual(orig_tags, script.tags) |
4950 | |
4951 | - def test__yaml_doesnt_update_timeout(self): |
4952 | + def test_yaml_doesnt_update_timeout(self): |
4953 | script = factory.make_Script() |
4954 | orig_timeout = script.timeout |
4955 | |
4956 | @@ -413,7 +413,7 @@ class TestScriptForm(MAASServerTestCase): |
4957 | script = form.save() |
4958 | self.assertEquals(orig_timeout, script.timeout) |
4959 | |
4960 | - def test__can_use_script_type_name(self): |
4961 | + def test_can_use_script_type_name(self): |
4962 | script_type = factory.pick_choice(SCRIPT_TYPE_CHOICES) |
4963 | form = ScriptForm( |
4964 | data={ |
4965 | @@ -427,7 +427,7 @@ class TestScriptForm(MAASServerTestCase): |
4966 | |
4967 | self.assertEquals(script_type, script.script_type) |
4968 | |
4969 | - def test__errors_on_invalid_script_type(self): |
4970 | + def test_errors_on_invalid_script_type(self): |
4971 | form = ScriptForm( |
4972 | data={ |
4973 | "name": factory.make_name("name"), |
4974 | @@ -442,7 +442,7 @@ class TestScriptForm(MAASServerTestCase): |
4975 | ) |
4976 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
4977 | |
4978 | - def test__can_use_hardware_type_name(self): |
4979 | + def test_can_use_hardware_type_name(self): |
4980 | hardware_type = factory.pick_choice(HARDWARE_TYPE_CHOICES) |
4981 | form = ScriptForm( |
4982 | data={ |
4983 | @@ -456,7 +456,7 @@ class TestScriptForm(MAASServerTestCase): |
4984 | |
4985 | self.assertEquals(hardware_type, script.hardware_type) |
4986 | |
4987 | - def test__errors_on_invalid_hardware_type(self): |
4988 | + def test_errors_on_invalid_hardware_type(self): |
4989 | form = ScriptForm( |
4990 | data={ |
4991 | "name": factory.make_name("name"), |
4992 | @@ -475,7 +475,7 @@ class TestScriptForm(MAASServerTestCase): |
4993 | ) |
4994 | self.assertItemsEqual([], VersionedTextFile.objects.all()) |
4995 | |
4996 | - def test__can_use_parallel(self): |
4997 | + def test_can_use_parallel(self): |
4998 | script_parallel = factory.pick_choice(SCRIPT_PARALLEL_CHOICES) |
4999 | form = ScriptForm( |
5000 | data={ |
The diff has been truncated for viewing.
+1