public void DeletePermissionTest()
        {
            OneDriveResultWithData <OneDriveFile> file = null;

            try
            {
                file = OneDriveUtility.UploadFile(connection, TestFileFullName, null, testFolder.Id);

                var newPermissionResult = OneDriveUtility.CreateShareLink(connection, file.Data.Id, OneDriveShareType.View, OneDriveShareScope.Anonymous);

                var permissionsResult = OneDriveUtility.GetResourcePermissions(connection, file.Data.Id);

                var deleteResult = OneDriveUtility.DeleteResourcePermission(connection, file.Data.Id, newPermissionResult.Data.Id);
                Assert.IsTrue(deleteResult.IsSucceed);

                var newPermissionsResult = OneDriveUtility.GetResourcePermissions(connection, file.Data.Id);
                Assert.AreEqual(1, permissionsResult.Data.Length - newPermissionsResult.Data.Length);
            }
            finally
            {
                if (file?.Data != null)
                {
                    OneDriveUtility.DeleteResource(connection, file.Data.Id);
                }
            }
        }
        public void ShareLinkTest()
        {
            OneDriveResultWithData <OneDriveFile> file = null;

            try
            {
                file = OneDriveUtility.UploadFile(connection, TestFileFullName, null, testFolder.Id);

                var permissionsResult = OneDriveUtility.GetResourcePermissions(connection, file.Data.Id);
                Assert.IsTrue(permissionsResult.IsSucceed);

                var sharePermissionResults = new List <OneDriveResultWithData <OneDrivePermission> >();
                foreach (OneDriveShareType t in (OneDriveShareType[])Enum.GetValues(typeof(OneDriveShareType)))
                {
                    foreach (OneDriveShareScope s in (OneDriveShareScope[])Enum.GetValues(typeof(OneDriveShareScope)))
                    {
                        var r = OneDriveUtility.CreateShareLink(connection, file.Data.Id, t, s);
                        sharePermissionResults.Add(r);
                    }
                }

                var newPermissionsResult = OneDriveUtility.GetResourcePermissions(connection, file.Data.Id);
                Assert.IsTrue(newPermissionsResult.IsSucceed);
                Assert.IsTrue(newPermissionsResult.Data.Length > permissionsResult.Data.Length);

                foreach (OneDriveResultWithData <OneDrivePermission> r in sharePermissionResults)
                {
                    Assert.IsTrue(r.IsSucceed);
                }
            }
            finally
            {
                if (file != null && file.IsSucceed)
                {
                    OneDriveUtility.DeleteResource(connection, file.Data.Id);
                }
            }
        }