def test_iterator_mixed1(self): gc = CloudGroups(self.clouds, 'iaas') # {0: ['iaas', 'cloud4'], 1: ['cloud1', 'cloud5'], 2: ['cloud2', 'cloud6'], 3: ['cloud3']} gc.register_node('iaas') gc.register_node('iaas') self.assertIn(gc.next()[0], ['cloud1', 'cloud5']) self.assertIn(gc.next()[0], ['cloud2', 'cloud6']) gc.register_node('cloud3') self.assertIn(gc.next()[0], ['cloud1', 'cloud5']) gc.register_node('cloud2') self.assertIn(gc.next()[0], ['cloud3']) self.assertIn(gc.next()[0], ['iaas', 'cloud4'])
def test_get_nodes(self): gc = CloudGroups(self.clouds, 'iaas') reg_key1 = gc.register_node('iaas') reg_key2 = gc.register_node('cloud1') reg_key3 = gc.register_node('cloud1') (cloud4, reg_key4) = gc.next() (cloud5, reg_key5) = gc.next() (cloud6, reg_key6) = gc.next() gc.complete_registration('node1', reg_key1, 'iaas') gc.complete_registration('node2', reg_key2, 'cloud1') gc.complete_registration('node3', reg_key3, 'cloud1') gc.complete_registration('node4', reg_key4, cloud4) gc.complete_registration('node5', reg_key5, cloud5) gc.complete_registration('node6', reg_key6, cloud6) self.assertSetEqual(set(['node1', 'node6', 'node2', 'node3', 'node4', 'node5']), set(gc.nodes))
def test_iterator_mixed2(self): gc = CloudGroups(self.clouds, 'iaas') # {0: ['iaas', 'cloud4'], 1: ['cloud1', 'cloud5'], 2: ['cloud2', 'cloud6'], 3: ['cloud3']} gc.register_node('iaas') gc.register_node('cloud1') gc.register_node('cloud1') gc.register_node('cloud1') cloud1 = gc.next()[0] self.assertIn(cloud1, ['cloud2', 'cloud6']) cloud2 = gc.next()[0] self.assertIn(cloud2, ['cloud3']) cloud3 = gc.next()[0] self.assertIn(cloud3, ['iaas', 'cloud4']) gc.register_node(cloud1) gc.register_node(cloud2) gc.register_node(cloud3)