public async Task CloudFileShareClearPermissionsAsync() { CloudFileShare share = GetRandomShareReference(); try { await share.CreateAsync(); FileSharePermissions permissions = await share.GetPermissionsAsync(); Assert.AreEqual(0, permissions.SharedAccessPolicies.Count); // We do not have precision at milliseconds level. Hence, we need // to recreate the start DateTime to be able to compare it later. DateTime start = DateTime.UtcNow; start = new DateTime(start.Year, start.Month, start.Day, start.Hour, start.Minute, start.Second, DateTimeKind.Utc); DateTime expiry = start.AddMinutes(30); KeyValuePair <String, SharedAccessFilePolicy> sharedAccessPolicy = new KeyValuePair <string, SharedAccessFilePolicy>("key1", new SharedAccessFilePolicy() { SharedAccessStartTime = start, SharedAccessExpiryTime = expiry, Permissions = SharedAccessFilePermissions.List, }); permissions.SharedAccessPolicies.Add(sharedAccessPolicy); await share.SetPermissionsAsync(permissions); await Task.Delay(3 * 1000); Assert.AreEqual(1, permissions.SharedAccessPolicies.Count); Assert.AreEqual(true, permissions.SharedAccessPolicies.Contains(sharedAccessPolicy)); Assert.AreEqual(true, permissions.SharedAccessPolicies.ContainsKey("key1")); permissions.SharedAccessPolicies.Clear(); await share.SetPermissionsAsync(permissions); await Task.Delay(3 * 1000); permissions = await share.GetPermissionsAsync(); Assert.AreEqual(0, permissions.SharedAccessPolicies.Count); } finally { share.DeleteIfExistsAsync().Wait(); } }
public async Task CloudFileShareSetPermissionsAsync() { CloudFileShare share = GetRandomShareReference(); try { await share.CreateAsync(); FileSharePermissions permissions = await share.GetPermissionsAsync(); Assert.AreEqual(0, permissions.SharedAccessPolicies.Count); // We do not have precision at milliseconds level. Hence, we need // to recreate the start DateTime to be able to compare it later. DateTime start = DateTime.UtcNow; start = new DateTime(start.Year, start.Month, start.Day, start.Hour, start.Minute, start.Second, DateTimeKind.Utc); DateTime expiry = start.AddMinutes(30); permissions.SharedAccessPolicies.Add("key1", new SharedAccessFilePolicy() { SharedAccessStartTime = start, SharedAccessExpiryTime = expiry, Permissions = SharedAccessFilePermissions.List, }); await share.SetPermissionsAsync(permissions); await Task.Delay(30 * 1000); CloudFileShare share2 = share.ServiceClient.GetShareReference(share.Name); permissions = await share2.GetPermissionsAsync(); Assert.AreEqual(1, permissions.SharedAccessPolicies.Count); Assert.IsTrue(permissions.SharedAccessPolicies["key1"].SharedAccessStartTime.HasValue); Assert.AreEqual(start, permissions.SharedAccessPolicies["key1"].SharedAccessStartTime.Value.UtcDateTime); Assert.IsTrue(permissions.SharedAccessPolicies["key1"].SharedAccessExpiryTime.HasValue); Assert.AreEqual(expiry, permissions.SharedAccessPolicies["key1"].SharedAccessExpiryTime.Value.UtcDateTime); Assert.AreEqual(SharedAccessFilePermissions.List, permissions.SharedAccessPolicies["key1"].Permissions); } finally { share.DeleteIfExistsAsync().Wait(); } }