public void MSASCMD_S02_TC03_FolderCreate_Status2()
        {
            #region Call method FolderCreate to create a new folder as a child folder of the mailbox Root folder.
            string folderName = Common.GenerateResourceName(Site, "FolderCreate", 1);
            FolderCreateRequest  folderCreateRequest  = Common.CreateFolderCreateRequest(this.LastFolderSyncKey, (byte)FolderType.UserCreatedMail, folderName, "0");
            FolderCreateResponse folderCreateResponse = this.CMDAdapter.FolderCreate(folderCreateRequest);
            Site.Assert.AreEqual <int>(1, int.Parse(folderCreateResponse.ResponseData.Status), "If the FolderCreate command executes successfully, the Status in response should be 1.");
            TestSuiteBase.RecordCaseRelativeFolders(this.User1Information, folderCreateResponse.ResponseData.ServerId);
            #endregion

            #region Call method FolderCreate to create another new folder with same name as a child folder of the mailbox Root folder.
            folderCreateRequest  = Common.CreateFolderCreateRequest(folderCreateResponse.ResponseData.SyncKey, (byte)FolderType.UserCreatedMail, folderName, "0");
            folderCreateResponse = this.CMDAdapter.FolderCreate(folderCreateRequest);

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4013");

            // Verify MS-ASCMD requirement: MS-ASCMD_R4013
            Site.CaptureRequirementIfAreEqual <int>(
                2,
                int.Parse(folderCreateResponse.ResponseData.Status),
                4013,
                @"[In Status(FolderCreate)] [When the scope is Item], [the cause of the status value 2 is] The parent folder already contains a folder that has this name.");
            #endregion
        }
        public void MSASCMD_S05_TC07_FolderUpdate_Moves()
        {
            #region Call method FolderCreate to create a new folder as a child folder of the mailbox Root folder.
            string folderName = Common.GenerateResourceName(Site, "FolderCreate");
            FolderCreateRequest  folderCreateRequest  = Common.CreateFolderCreateRequest(this.LastFolderSyncKey, (byte)FolderType.UserCreatedMail, folderName, "0");
            FolderCreateResponse folderCreateResponse = this.CMDAdapter.FolderCreate(folderCreateRequest);
            string folderServerId1 = folderCreateResponse.ResponseData.ServerId;
            TestSuiteBase.RecordCaseRelativeFolders(this.User1Information, folderCreateResponse.ResponseData.ServerId);
            #endregion

            #region Call method FolderUpdate to move the new created folder from the mailbox Root folder to SentItems folder on the server.
            FolderUpdateRequest  folderUpdateRequest  = Common.CreateFolderUpdateRequest(folderCreateResponse.ResponseData.SyncKey, folderServerId1, folderName, ((byte)FolderType.SentItems).ToString());
            FolderUpdateResponse folderUpdateResponse = this.CMDAdapter.FolderUpdate(folderUpdateRequest);
            Site.Assert.AreEqual <int>(1, int.Parse(folderUpdateResponse.ResponseData.Status), "Server should return status 1 to indicate FolderUpdate command success.");
            #endregion

            #region Call method FolderSync to synchronize the collection hierarchy.
            FolderSyncResponse folderSyncResponse = this.FolderSync();
            bool isFolderMoved = false;
            foreach (FolderSyncChangesAdd add in folderSyncResponse.ResponseData.Changes.Add)
            {
                if ((add.ServerId == folderServerId1) && (add.ParentId == ((byte)FolderType.SentItems).ToString()))
                {
                    isFolderMoved = true;
                    break;
                }
            }

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R139");

            // Verify MS-ASCMD requirement: MS-ASCMD_R139
            Site.CaptureRequirementIfIsTrue(
                isFolderMoved,
                139,
                @"[In FolderUpdate] The FolderUpdate command moves a folder from one location to another on the server.");

            // Call method FolderCreate to create another new folder which its name is same with above step as a child folder of the mailbox Root folder.
            folderCreateRequest  = Common.CreateFolderCreateRequest(folderSyncResponse.ResponseData.SyncKey, (byte)FolderType.UserCreatedMail, folderName, "0");
            folderCreateResponse = this.CMDAdapter.FolderCreate(folderCreateRequest);
            TestSuiteBase.RecordCaseRelativeFolders(this.User1Information, folderCreateResponse.ResponseData.ServerId);

            // Call method FolderUpdate to move the newest created folder in mailbox Root folder from mailbox Root folder to SentItems folder on the server.
            folderUpdateRequest  = Common.CreateFolderUpdateRequest(folderCreateResponse.ResponseData.SyncKey, folderCreateResponse.ResponseData.ServerId, folderName, ((byte)FolderType.SentItems).ToString());
            folderUpdateResponse = this.CMDAdapter.FolderUpdate(folderUpdateRequest);

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R5438");

            // Verify MS-ASCMD requirement: MS-ASCMD_R5438
            Site.CaptureRequirementIfAreEqual <int>(
                2,
                int.Parse(folderUpdateResponse.ResponseData.Status),
                5438,
                @"[In Status(FolderUpdate)] [When the scope is Item], [the cause of the status value 2 is] A folder with that name already exists [or the specified folder is a special folder, such as the Inbox, Outbox, Contacts, or Drafts folders. Special folders cannot be updated].");
            #endregion
        }
        /// <summary>
        /// Creates a new folder as a child folder of the specified parent folder.
        /// </summary>
        /// <param name="request">A FolderCreateRequest object that contains the request information.</param>
        /// <returns>FolderCreate command response</returns>
        public FolderCreateResponse FolderCreate(FolderCreateRequest request)
        {
            FolderCreateResponse response = this.activeSyncClient.FolderCreate(request);

            this.VerifyTransportRequirements();
            this.VerifyWBXMLCapture(CommandName.FolderCreate, response);
            this.VerifyFolderCreateCommand(response);
            return(response);
        }
Example #4
0
        public void MSASCMD_S11_TC05_Ping_Status7_Outdate()
        {
            #region Change a new user to call ActiveSync operation with a new DeviceID.
            this.CMDAdapter.SwitchUser(this.User3Information.UserName, this.User3Information.UserPassword, this.User3Information.UserDomain);

            // Record user that uses new DeviceID
            this.RecordDeviceInfoChanged();
            this.CMDAdapter.ChangeDeviceID("FirstDeviceID");
            #endregion

            #region Sync user folder changes
            this.FolderSync();
            #endregion

            #region Switch to new device and create one folder
            this.CMDAdapter.ChangeDeviceID("SecondDeviceID");
            string folderSynKey = this.GetFolderSyncKey();

            // Create one mail type folder
            string newFolderName = Guid.NewGuid().ToString().Replace("-", string.Empty);
            FolderCreateRequest  folderCreateRequest  = Common.CreateFolderCreateRequest(folderSynKey, 12, newFolderName, this.User1Information.InboxCollectionId);
            FolderCreateResponse folderCreateResponse = this.CMDAdapter.FolderCreate(folderCreateRequest);
            Site.Assert.AreEqual <int>(
                1,
                int.Parse(folderCreateResponse.ResponseData.Status),
                "After folder create success, server should return status 1");
            #endregion

            #region Switch back to old device and send one ping request
            this.CMDAdapter.ChangeDeviceID("FirstDeviceID");
            PingRequest  pingRequest  = CreatePingRequest(this.User1Information.InboxCollectionId, Request.PingFolderClass.Email);
            PingResponse pingResponse = this.CMDAdapter.Ping(pingRequest);
            #endregion

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4257");

            // Verify MS-ASCMD requirement: MS-ASCMD_R4257
            Site.CaptureRequirementIfAreEqual <int>(
                7,
                int.Parse(pingResponse.ResponseData.Status),
                4257,
                @"[In Status(Ping)] [When the scope is Global], [the cause of the status value 7 is] The folder hierarchy is out of date.");

            #region Record new created folder collection ID.
            // Get new created folder collection ID
            FolderSyncRequest  folderSyncRequestForNewFolder  = Common.CreateFolderSyncRequest("0");
            FolderSyncResponse folderSyncResponseForNewFolder = this.CMDAdapter.FolderSync(folderSyncRequestForNewFolder);

            // Gets the server ID for new folder after change DeviceID.
            string serverId = TestSuiteBase.GetCollectionId(folderSyncResponseForNewFolder, newFolderName);
            TestSuiteBase.RecordCaseRelativeFolders(this.User3Information, serverId);
            #endregion
        }
        public async Task <HttpResponseMessage> CreateFolder(FolderCreateRequest request)
        {
            client.DefaultRequestHeaders.Add("Access-Control-Allow-Origin", "*");
            client.DefaultRequestHeaders.Add("Access-Control-Allow-Credentials", "true");
            client.DefaultRequestHeaders.Add("Access-Control-Allow-Headers", "Access-Control-Allow-Origin,Content-Type");
            var serialized    = System.Text.Json.JsonSerializer.Serialize(request);
            var stringContent = new StringContent(serialized, Encoding.UTF8, "application/json");
            var result        = await client.PostAsync($"/folder/add", stringContent);

            return(result);
        }
        internal FolderCreateResponse CreateFolder(string syncKey, string displayName, string parentId, EasFolderType folderType)
        {
            FolderCreateRequest folderCreateRequest = new FolderCreateRequest
            {
                SyncKey     = syncKey,
                DisplayName = displayName,
                ParentId    = parentId,
                Type        = (int)folderType
            };

            return(this.FolderCreate(folderCreateRequest));
        }
        public async Task HandleValidFolderSubmit()
        {
            HttpResponseMessage result = null;

            if (NewFolderModel.FolderId == null || NewFolderModel.FolderId.Value == 0)
            {
                var request = new FolderCreateRequest();
                request.Folder.FolderId = NewFolderModel.FolderId;
                request.Folder.Name     = NewFolderModel.Name;
                request.Folder.Created  = NewFolderModel.Created;
                request.Folder.Modified = NewFolderModel.Modified;
                request.Folder.Deleted  = NewFolderModel.Deleted;
                result = await Client.CreateFolder(request);
            }
            else
            {
                var request = new FolderUpdateRequest();
                request.Folder.FolderId = NewFolderModel.FolderId;
                request.Folder.Name     = NewFolderModel.Name;
                request.Folder.Created  = NewFolderModel.Created;
                request.Folder.Modified = NewFolderModel.Modified;
                request.Folder.Deleted  = NewFolderModel.Deleted;
                result = await Client.UpdateFolder(request);
            }
            if (result.IsSuccessStatusCode)
            {
                NotificationService.Notify(NotificationSeverity.Success, "Saved successfully");
                DocumentModels = await Client.GetAllDocuments();

                ShowEditFolder   = false;
                ShowEditDocument = false;
                StateHasChanged();
            }
            else
            {
                NotificationService.Notify(NotificationSeverity.Error, "Failed", result.ReasonPhrase, 6000);
            }
        }
Example #8
0
 public bool Add([FromBody] FolderCreateRequest request)
 {
     return(_folderManager.CreateNewFolder(request));
 }
Example #9
0
        FolderCreateResponse IEasConnection.FolderCreate(FolderCreateRequest folderCreateRequest)
        {
            FolderCreateCommand folderCreateCommand = new FolderCreateCommand(this.EasConnectionSettings);

            return(folderCreateCommand.Execute(folderCreateRequest));
        }
Example #10
0
 public bool CreateNewFolder(FolderCreateRequest request)
 {
     return(_folderRepository.CreateFolder(request.Folder.Name));
 }
 private FolderCreateResponse FolderCreate(FolderCreateRequest folderCreateRequest)
 {
     return(EasConnectionWrapper.WrapException <FolderCreateResponse>(() => this.wrappedObject.FolderCreate(folderCreateRequest), (ConnectionsTransientException e) => new EasFolderCreateFailedTransientException(e.Message, e), (ConnectionsPermanentException e) => new EasFolderCreateFailedPermanentException(e.Message, e)));
 }
Example #12
0
 /// <summary>
 /// Creates a FolderCreateRequest instance using the specified information
 /// </summary>
 /// <param name="syncKey">The syncKey of this request</param>
 /// <param name="type">The type of created folder</param>
 /// <param name="displayName">The display name of the folder</param>
 /// <param name="parentId">The parentId of the created folder</param>
 /// <returns>A FolderCreateRequest instance</returns>
 public static FolderCreateRequest CreateFolderCreateRequest(string syncKey, byte type, string displayName, string parentId)
 {
     FolderCreateRequest request = new FolderCreateRequest();
     Request.FolderCreate requestData = new Request.FolderCreate
     {
         DisplayName = displayName,
         SyncKey = syncKey,
         ParentId = parentId,
         Type = type
     };
     request.RequestData = requestData;
     return request;
 }
Example #13
0
 /// <summary>
 ///  Creates an empty FolderCreateRequest instance
 /// </summary>
 /// <returns>A FolderCreateRequest instance</returns>
 public static FolderCreateRequest CreateFolderCreateRequest()
 {
     FolderCreateRequest request = new FolderCreateRequest();
     Request.FolderCreate requestData = new Request.FolderCreate();
     request.RequestData = requestData;
     return request;
 }
Example #14
0
 FolderCreateResponse IEasConnection.FolderCreate(FolderCreateRequest folderCreateRequest)
 {
     throw new NotImplementedException();
 }