@@ -21,7 +21,7 @@ def test_node_address_list_single(self):
2121 properties = None )
2222 n .full_clean ()
2323 n .save ()
24- self .assertEqual (n .addresses , '192.168.0.1;' )
24+ self .assertEqual (n .addresses , '; 192.168.0.1;' )
2525 self .assertEqual (n .address_list , ['192.168.0.1' ])
2626
2727 def test_node_address_list_semicolon (self ):
@@ -30,7 +30,7 @@ def test_node_address_list_semicolon(self):
3030 addresses = '192.168.0.1;' )
3131 n .full_clean ()
3232 n .save ()
33- self .assertEqual (n .addresses , '192.168.0.1;' )
33+ self .assertEqual (n .addresses , '; 192.168.0.1;' )
3434 self .assertEqual (n .address_list , ['192.168.0.1' ])
3535
3636 def test_node_address_list_multiple (self ):
@@ -39,8 +39,10 @@ def test_node_address_list_multiple(self):
3939 addresses = '192.168.0.1; 10.0.0.1,10.0.0.2;10.0.0.3' )
4040 n .full_clean ()
4141 n .save ()
42- self .assertEqual (n .addresses , '192.168.0.1; 10.0.0.1; '
43- '10.0.0.2; 10.0.0.3;' )
42+ # repeat _format_addresses() to ensure idempotency
43+ n ._format_addresses ()
44+ self .assertEqual (n .addresses , ';192.168.0.1;10.0.0.1;'
45+ '10.0.0.2;10.0.0.3;' )
4446 self .assertEqual (n .address_list , ['192.168.0.1' ,
4547 '10.0.0.1' ,
4648 '10.0.0.2' ,
@@ -63,7 +65,7 @@ def test_node_name(self):
6365 def test_json (self ):
6466 t = self .topology_model .objects .first ()
6567 n = t ._create_node (label = 'test node' ,
66- addresses = '192.168.0.1;10.0.0.1;' ,
68+ addresses = '; 192.168.0.1;10.0.0.1;' ,
6769 properties = '{"gateway": true}' )
6870 self .assertEqual (dict (n .json (dict = True )), {
6971 'id' : '192.168.0.1' ,
@@ -80,13 +82,24 @@ def test_json(self):
8082 def test_get_from_address (self ):
8183 t = self .topology_model .objects .first ()
8284 n = t ._create_node (addresses = '192.168.0.1,10.0.0.1' )
85+ n .full_clean ()
8386 n .save ()
8487 self .assertIsInstance (self .node_model .get_from_address ('192.168.0.1' , t ), self .node_model )
8588 self .assertIsInstance (self .node_model .get_from_address ('10.0.0.1' , t ), self .node_model )
8689 self .assertIsNone (self .node_model .get_from_address ('wrong' , t ))
8790
8891 def test_count_address (self ):
8992 t = self .topology_model .objects .first ()
90- t ._create_node (addresses = '192.168.0.1,10.0.0.1' )
9193 self .assertEqual (self .node_model .count_address ('192.168.0.1' , t ), 1 )
9294 self .assertEqual (self .node_model .count_address ('0.0.0.0' , t ), 0 )
95+
96+ def test_count_address_issue_58 (self ):
97+ t = self .topology_model .objects .first ()
98+ n1 = t ._create_node (addresses = 'Benz_Kalloni' )
99+ n1 .full_clean ()
100+ n1 .save ()
101+ n2 = t ._create_node (addresses = 'Kalloni' )
102+ n2 .full_clean ()
103+ n2 .save ()
104+ self .assertEqual (self .node_model .count_address ('Benz_Kalloni' , t ), 1 )
105+ self .assertEqual (self .node_model .count_address ('Kalloni' , t ), 1 )
0 commit comments