def test_backoff_gap(self): """ Validates different node distances generated (to be passed into the StorageDriver) """ scenarios = { 1 * 1024**3: { 'backoff': int(1 * 1024**3 * 0.1), 'trigger': int(1 * 1024**3 * 0.08) }, 2 * 1024**4: { 'backoff': int(500 * 1024**3 * 0.1), # Upper limits based on 500GiB volume 'trigger': int(500 * 1024**3 * 0.08) }, 5: { 'backoff': 2, 'trigger': 1 }, None: { 'backoff': 2 * 1024**3, # Invalid size, return default 'trigger': 1 * 1024**3 } } for size, gap_config in scenarios.iteritems(): self.assertDictEqual( StorageDriverController.generate_backoff_gap_settings(size), gap_config)