def validate_nsg_name(namespace): from azure.cli.core.commands.client_factory import get_subscription_id vm_id = resource_id(name=namespace.vm_name, resource_group=namespace.resource_group_name, namespace='Microsoft.Compute', type='virtualMachines', subscription=get_subscription_id()) namespace.network_security_group_name = namespace.network_security_group_name \ or '{}_NSG_{}'.format(namespace.vm_name, hash_string(vm_id, length=8))
def _run_test(length, force_lower): import random # test a bunch of random strings for collisions test_values = [] for x in range(100): rand_len = random.randint(50, 100) test_values.append(random_string(rand_len)) # test each value against eachother to verify hashing properties equal_count = 0 for val1 in test_values: result1 = hash_string(val1, length, force_lower) # test against the remaining values and against itself, but not those which have # come before... test_values2 = test_values[test_values.index(val1):] for val2 in test_values2: result2 = hash_string(val2, length, force_lower) if val1 == val2: self.assertEqual(result1, result2) equal_count += 1 else: self.assertNotEqual(result1, result2) self.assertEqual(equal_count, len(test_values))