85
85
10, factory.pick_choice(options, but_not=but_not))
87
def test_make_node_creates_nodegroup_if_none_given(self):
87
def test_make_Node_creates_nodegroup_if_none_given(self):
88
88
existing_nodegroup_ids = set(
89
89
nodegroup.id for nodegroup in NodeGroup.objects.all())
90
new_node = factory.make_node()
90
new_node = factory.make_Node()
91
91
self.assertIsNotNone(new_node.nodegroup)
92
92
self.assertNotIn(new_node.nodegroup.id, existing_nodegroup_ids)
94
def test_make_node_uses_given_nodegroup(self):
95
nodegroup = factory.make_node_group()
94
def test_make_Node_uses_given_nodegroup(self):
95
nodegroup = factory.make_NodeGroup()
97
nodegroup, factory.make_node(nodegroup=nodegroup).nodegroup)
99
def test_make_zone_returns_physical_zone(self):
100
self.assertIsNotNone(factory.make_zone())
102
def test_make_zone_assigns_name(self):
103
name = factory.make_zone().name
97
nodegroup, factory.make_Node(nodegroup=nodegroup).nodegroup)
99
def test_make_Zone_returns_physical_zone(self):
100
self.assertIsNotNone(factory.make_Zone())
102
def test_make_Zone_assigns_name(self):
103
name = factory.make_Zone().name
104
104
self.assertIsNotNone(name)
105
105
self.assertNotEqual(0, len(name))
107
def test_make_zone_returns_unique_zone(self):
108
self.assertNotEqual(factory.make_zone(), factory.make_zone())
107
def test_make_Zone_returns_unique_zone(self):
108
self.assertNotEqual(factory.make_Zone(), factory.make_Zone())
110
def test_make_zone_adds_nodes(self):
111
node = factory.make_node()
112
zone = factory.make_zone(nodes=[node])
110
def test_make_Zone_adds_nodes(self):
111
node = factory.make_Node()
112
zone = factory.make_Zone(nodes=[node])
113
113
node = reload_object(node)
114
114
self.assertEqual(zone, node.zone)
116
def test_make_zone_does_not_add_other_nodes(self):
117
previous_zone = factory.make_zone()
118
node = factory.make_node(zone=previous_zone)
119
factory.make_zone(nodes=[factory.make_node()])
116
def test_make_Zone_does_not_add_other_nodes(self):
117
previous_zone = factory.make_Zone()
118
node = factory.make_Node(zone=previous_zone)
119
factory.make_Zone(nodes=[factory.make_Node()])
120
120
node = reload_object(node)
121
121
self.assertEqual(previous_zone, node.zone)
123
def test_make_zone_adds_no_nodes_by_default(self):
124
previous_zone = factory.make_zone()
125
node = factory.make_node(zone=previous_zone)
123
def test_make_Zone_adds_no_nodes_by_default(self):
124
previous_zone = factory.make_Zone()
125
node = factory.make_Node(zone=previous_zone)
127
127
node = reload_object(node)
128
128
self.assertEqual(previous_zone, node.zone)
144
144
for _ in range(1000)
147
def test_make_network_lowers_names_if_sortable_name(self):
148
networks = factory.make_networks(10, sortable_name=True)
147
def test_make_Networks_lowers_names_if_sortable_name(self):
148
networks = factory.make_Networks(10, sortable_name=True)
149
149
self.assertEqual(
150
150
[network.name.lower() for network in networks],
151
151
[network.name for network in networks])
153
def test_make_networks_generates_desired_number_of_networks(self):
153
def test_make_Networks_generates_desired_number_of_networks(self):
154
154
number = random.randint(1, 20)
155
networks = factory.make_networks(number)
155
networks = factory.make_Networks(number)
156
156
self.assertEqual(number, len(networks))
157
157
self.assertIsInstance(networks[0], Network)
158
158
self.assertIsInstance(networks[-1], Network)
160
def test_make_networks_passes_on_keyword_arguments(self):
160
def test_make_Networks_passes_on_keyword_arguments(self):
161
161
description = factory.make_string()
162
[network] = factory.make_networks(1, description=description)
162
[network] = factory.make_Networks(1, description=description)
163
163
self.assertEqual(description, network.description)
165
def test_make_networks_includes_VLANs_by_default(self):
165
def test_make_Networks_includes_VLANs_by_default(self):
166
166
class FakeNetwork:
167
167
def __init__(self, vlan_tag, *args, **kwargs):
168
168
self.vlan_tag = vlan_tag
169
self.patch(factory, 'make_network', FakeNetwork)
169
self.patch(factory, 'make_Network', FakeNetwork)
170
170
self.patch(random, 'randint', FakeRandInt(random.randint, 0, 1))
171
networks = factory.make_networks(100)
171
networks = factory.make_Networks(100)
172
172
self.assertEqual({None, 1}, {network.vlan_tag for network in networks})
174
def test_make_networks_excludes_VLANs_if_not_with_vlans(self):
174
def test_make_Networks_excludes_VLANs_if_not_with_vlans(self):
175
175
class FakeNetwork:
176
176
def __init__(self, vlan_tag, *args, **kwargs):
177
177
self.vlan_tag = vlan_tag
178
self.patch(factory, 'make_network', FakeNetwork)
178
self.patch(factory, 'make_Network', FakeNetwork)
179
179
self.patch(random, 'randint', FakeRandInt(random.randint, 0, 1))
180
networks = factory.make_networks(100, with_vlans=False)
180
networks = factory.make_Networks(100, with_vlans=False)
181
181
self.assertEqual({None}, {network.vlan_tag for network in networks})
183
def test_make_networks_gives_up_if_random_tags_keep_clashing(self):
184
self.patch(factory, 'make_network')
183
def test_make_Networks_gives_up_if_random_tags_keep_clashing(self):
184
self.patch(factory, 'make_Network')
185
185
self.patch(random, 'randint', lambda *args: 1)
186
self.assertRaises(TooManyRandomRetries, factory.make_networks, 2)
186
self.assertRaises(TooManyRandomRetries, factory.make_Networks, 2)