public async Task LeaseBasicTests(string storageConnectionString, string siteName) { if (string.IsNullOrEmpty(storageConnectionString)) { return; } AppServiceSettings.StorageConnectionString = storageConnectionString; AppServiceSettings.SiteName = siteName; AppServiceSettings.WorkerName = "127.0.0.1"; try { var table = AppServiceWorkerTable.Instance; ILockHandle tableLock = null; try { tableLock = await table.AcquireLock(); await tableLock.Release(); tableLock = null; tableLock = await table.AcquireLock(); await tableLock.Release(); tableLock = null; } finally { if (tableLock != null) { await tableLock.Release(); } } Assert.Null(tableLock); } finally { ResetEnvironment(); } }
public async Task LeaseConflictTests(string storageConnectionString, string siteName) { if (string.IsNullOrEmpty(storageConnectionString)) { return; } AppServiceSettings.StorageConnectionString = storageConnectionString; AppServiceSettings.SiteName = siteName; AppServiceSettings.WorkerName = "127.0.0.1"; try { var table = AppServiceWorkerTable.Instance; ILockHandle tableLock = null; try { tableLock = await table.AcquireLock(); var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => await table.AcquireLock()); Assert.Contains("Conflict", exception.Message); await tableLock.Release(); tableLock = null; } finally { if (tableLock != null) { await tableLock.Release(); } } Assert.Null(tableLock); } finally { ResetEnvironment(); } }