2020-11-12 03:55:14 +00:00
|
|
|
|
using ASC.Api.Documents;
|
2020-11-25 19:57:57 +00:00
|
|
|
|
using ASC.Core;
|
|
|
|
|
using ASC.Web.Api.Models;
|
2020-11-12 03:55:14 +00:00
|
|
|
|
using ASC.Web.Files.Services.WCFService.FileOperations;
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
using System;
|
2020-11-25 19:57:57 +00:00
|
|
|
|
using System.Collections.Generic;
|
2020-11-12 03:55:14 +00:00
|
|
|
|
|
|
|
|
|
namespace ASC.Files.Tests
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
2020-11-25 19:57:57 +00:00
|
|
|
|
class SharedWithMeTest : BaseFilesTests
|
2020-11-12 03:55:14 +00:00
|
|
|
|
{
|
2020-11-25 19:57:57 +00:00
|
|
|
|
private FolderWrapper<int> TestFolder { get; set; }
|
|
|
|
|
public IEnumerable<FileShareParams> TestFolderParam { get; private set; }
|
|
|
|
|
private FileWrapper<int> aa { get; set; }
|
|
|
|
|
|
|
|
|
|
//private const int CURRENT_TENANT = 0;
|
|
|
|
|
//public const string PASSWORD = "111111";
|
|
|
|
|
//public const string DOMAIN = "test_mail.com";
|
|
|
|
|
|
|
|
|
|
public TenantManager tenantManager { get; private set; }
|
|
|
|
|
public EmployeeWraperFull TestUser { get; private set; }
|
|
|
|
|
|
2020-11-12 03:55:14 +00:00
|
|
|
|
[SetUp]
|
|
|
|
|
public override void SetUp()
|
|
|
|
|
{
|
|
|
|
|
base.SetUp();
|
2020-11-25 19:57:57 +00:00
|
|
|
|
TestFolder = FilesControllerHelper.CreateFolder(GlobalFolderHelper.FolderMy, "TestFolder");
|
|
|
|
|
TestUser = new EmployeeWraperFull { Id = Guid.NewGuid(), Email = "test@mail.com", FirstName = "Test", LastName = "Test", IsAdmin = true };
|
|
|
|
|
//Guid OwnerId = Guid.Parse("005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5");
|
2020-11-30 23:47:19 +00:00
|
|
|
|
UserManager.GetUsers(Guid.Parse("005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5"));
|
|
|
|
|
TestFolderParam = new List<FileShareParams> { new FileShareParams { Access = Core.Security.FileShare.Read, ShareTo = TestUser.Id } };
|
2020-11-25 19:57:57 +00:00
|
|
|
|
|
|
|
|
|
var TestFolderShare = (FolderWrapper<int>)FilesControllerHelper.SetFolderSecurityInfo(TestFolder.Id, TestFolderParam, true, "test");
|
2020-11-12 03:55:14 +00:00
|
|
|
|
}
|
|
|
|
|
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetCreateFolderItems))]
|
|
|
|
|
[Category("section 'Shared Documents'")]
|
|
|
|
|
public void CreateSharedFolderReturnsFolderWrapperTest(string folderTitle)
|
|
|
|
|
{
|
|
|
|
|
var folderWrapper = Assert.Throws<InvalidOperationException>(() => FilesControllerHelper.CreateFolder(GlobalFolderHelper.FolderShare, folderTitle));
|
|
|
|
|
Assert.That(folderWrapper.Message == "You don't have enough permission to create");
|
|
|
|
|
}
|
|
|
|
|
|
2020-11-25 19:57:57 +00:00
|
|
|
|
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.ShareParamToFolder))]
|
|
|
|
|
[Category("section 'Shared Documents'")]
|
|
|
|
|
public void ShareFolderToAnotherUser (string folderTitle, bool notify, string message)
|
|
|
|
|
{
|
|
|
|
|
var folderWrapper = FilesControllerHelper.CreateFolder(GlobalFolderHelper.FolderMy, folderTitle);
|
|
|
|
|
var shareFolder = FilesControllerHelper.SetFolderSecurityInfo(folderWrapper.Id, TestFolderParam, notify, message);
|
|
|
|
|
Assert.IsNotNull(shareFolder);
|
2020-11-30 23:47:19 +00:00
|
|
|
|
Assert.AreEqual(folderWrapper.Id, shareFolder);
|
2020-11-25 19:57:57 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetFolderInfoItems))]
|
|
|
|
|
[Category("section 'Shared Documents'")]
|
|
|
|
|
public void GetSharedFolderInfo(string folderTitleExpected)
|
|
|
|
|
{
|
|
|
|
|
SecurityContext.AuthenticateMe(TestUser.Id);
|
2020-11-30 23:47:19 +00:00
|
|
|
|
var folderWrapper = FilesControllerHelper.GetFolderInfo(TestFolder.Id);
|
2020-11-25 19:57:57 +00:00
|
|
|
|
Assert.IsNotNull(folderWrapper);
|
|
|
|
|
//Assert.AreEqual(folderTitleExpected, folderWrapper.Title);
|
|
|
|
|
|
|
|
|
|
}
|
2020-11-12 03:55:14 +00:00
|
|
|
|
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetRenameFolderItems))]
|
|
|
|
|
[Category("section 'Shared Documents'")]
|
|
|
|
|
public void RenameSharedFolderReturnsFolderWrapperTest(int folderId, string folderTitle)
|
|
|
|
|
{
|
2020-11-25 19:57:57 +00:00
|
|
|
|
SecurityContext.AuthenticateMe(TestUser.Id);
|
|
|
|
|
var fileWrapper = Assert.Throws<InvalidOperationException>(() => FilesControllerHelper.RenameFolder(TestFolder.Id, folderTitle));
|
2020-11-12 03:55:14 +00:00
|
|
|
|
Assert.That(fileWrapper.Message == "You don't have enough permission to rename the folder");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetDeleteFolderItems))]
|
|
|
|
|
[Category("section 'Shared Documents'")]
|
|
|
|
|
public void DeleteSharedFolderTest(int folderId, bool deleteAfter, bool immediately)
|
|
|
|
|
{
|
2020-11-25 19:57:57 +00:00
|
|
|
|
SecurityContext.AuthenticateMe(TestUser.Id);
|
2020-11-12 03:55:14 +00:00
|
|
|
|
var statuses = FilesControllerHelper.DeleteFolder(
|
2020-11-25 19:57:57 +00:00
|
|
|
|
TestFolder.Id,
|
2020-11-12 03:55:14 +00:00
|
|
|
|
deleteAfter,
|
|
|
|
|
immediately);
|
|
|
|
|
|
|
|
|
|
FileOperationWraper status = null;
|
|
|
|
|
foreach (var item in statuses)
|
|
|
|
|
{
|
|
|
|
|
if (item.OperationType == FileOperationType.Delete)
|
|
|
|
|
{
|
|
|
|
|
status = item;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var statusDelete = FileOperationType.Delete;
|
|
|
|
|
|
|
|
|
|
Assert.IsNotNull(status);
|
|
|
|
|
Assert.AreEqual(statusDelete, status.OperationType);
|
|
|
|
|
}
|
|
|
|
|
|
2020-11-25 19:57:57 +00:00
|
|
|
|
|
2020-11-12 03:55:14 +00:00
|
|
|
|
|
|
|
|
|
[TearDown]
|
|
|
|
|
public override void TearDown()
|
|
|
|
|
{
|
|
|
|
|
base.TearDown();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|