/// <summary> /// Creates a new meeting workspace subsite. /// </summary> /// <param name="title">The title of the new meeting workspace.</param> /// <param name="templateName">The name of the template to use for the new meeting workspace.</param> /// <param name="lcid">The locale ID for the new workspace. Null if not specified.</param> /// <param name="timeZoneInformation">The time zone on the system of the meeting organizer.</param> /// <returns>The aggregation of CreateWorkspaceResponseCreateWorkspaceResult response or SoapException thrown.</returns> public SoapResult<CreateWorkspaceResponseCreateWorkspaceResult> CreateWorkspace(string title, string templateName, uint? lcid, TimeZoneInf timeZoneInformation) { CreateWorkspaceResponseCreateWorkspaceResult result = null; SoapException exception = null; try { // Call CreateWorkspace method. result = this.service.CreateWorkspace(title, templateName, lcid ?? 0, lcid.HasValue, timeZoneInformation); // As response successfully returned, the transport related requirements can be captured. this.CaptureTransportRelatedRequirements(); this.ValidateAndCaptureCommonMessageSyntax(); this.VerifyCreateWorkspaceResponse(result); } catch (SoapException ex) { exception = ex; // As response successfully returned, the transport related requirements can be captured. this.CaptureTransportRelatedRequirements(); // Validate soap fault message structure and capture related requirements. this.ValidateAndCaptureSoapFaultRequirements(exception); } return new SoapResult<CreateWorkspaceResponseCreateWorkspaceResult>(result, exception); }
/// <summary> /// Creates a new meeting workspace subsite. /// </summary> /// <param name="title">The title of the new meeting workspace.</param> /// <param name="templateName">The name of the template to use for the new meeting workspace.</param> /// <param name="lcid">The locale ID for the new workspace. Null if not specified.</param> /// <param name="timeZoneInformation">The time zone on the system of the meeting organizer.</param> /// <returns>The aggregation of CreateWorkspaceResponseCreateWorkspaceResult response or SoapException thrown.</returns> public SoapResult <CreateWorkspaceResponseCreateWorkspaceResult> CreateWorkspace(string title, string templateName, uint?lcid, TimeZoneInf timeZoneInformation) { CreateWorkspaceResponseCreateWorkspaceResult result = null; SoapException exception = null; try { // Call CreateWorkspace method. result = this.service.CreateWorkspace(title, templateName, lcid ?? 0, lcid.HasValue, timeZoneInformation); // As response successfully returned, the transport related requirements can be captured. this.CaptureTransportRelatedRequirements(); this.ValidateAndCaptureCommonMessageSyntax(); this.VerifyCreateWorkspaceResponse(result); } catch (SoapException ex) { exception = ex; // As response successfully returned, the transport related requirements can be captured. this.CaptureTransportRelatedRequirements(); // Validate soap fault message structure and capture related requirements. this.ValidateAndCaptureSoapFaultRequirements(exception); } return(new SoapResult <CreateWorkspaceResponseCreateWorkspaceResult>(result, exception)); }
public void MSMEETS_S01_TC13_CreateWorkspaceWithAllParametersSpecified() { // Check whether creating workspace is supported and query available languages. SoapResult<GetMeetingsInformationResponseGetMeetingsInformationResult> getWorkspaceInfoResult = this.meetsAdapter.GetMeetingsInformation(MeetingInfoTypes.AllowCreate | MeetingInfoTypes.QueryLanguages, null); Site.Assert.IsNull(getWorkspaceInfoResult.Exception, "GetMeetingsInformation should succeed"); Site.Assume.AreEqual<string>("true", getWorkspaceInfoResult.Result.MeetingsInformation.AllowCreate.ToLower(CultureInfo.CurrentCulture), "Site must support creating workspace"); Site.Assume.AreNotEqual<int>(0, getWorkspaceInfoResult.Result.MeetingsInformation.ListTemplateLanguages.Length, "ListTemplateLanguages must contain one or more items."); string lcidString = getWorkspaceInfoResult.Result.MeetingsInformation.ListTemplateLanguages[0]; uint lcid = 0; Site.Assert.IsTrue(uint.TryParse(lcidString, out lcid), "LCID must be integer"); // Get available workspace templates. getWorkspaceInfoResult = this.meetsAdapter.GetMeetingsInformation(MeetingInfoTypes.QueryTemplates, lcid); Site.Assert.IsNull(getWorkspaceInfoResult.Exception, "GetMeetingsInformation should succeed"); Site.Assert.AreNotEqual<int>(0, getWorkspaceInfoResult.Result.MeetingsInformation.ListTemplates.Length, "ListTemplates must contain one or more items."); Template template = getWorkspaceInfoResult.Result.MeetingsInformation.ListTemplates[0]; // The templates returned in above are all server supported template, see the first template, template.Name is the short name of the template, MS-MEETS_R205 can be verified directly when it returns. Site.CaptureRequirementIfIsNotNull( template.Name, 205, @"[In GetMeetingsInformationResponse]Name: The short name of the site template."); // The templates returned in above are all server supported template, see the first template, template.Title is the title of the template, MS-MEETS_R206 can be verified directly when it returns. Site.CaptureRequirementIfIsNotNull( template.Title, 206, @"[In GetMeetingsInformationResponse]Title: The title of the site template."); // The templates returned in above are all server supported template, see the first template, template.Id is the identification number of the template, MS-MEETS_R207 can be verified directly when it returns. Site.CaptureRequirementIfIsNotNull( template.Id, 207, @"[In GetMeetingsInformationResponse]Id: The identification number of the site template."); // The templates returned in above are all server supported template, see the first template, template.Description is the description of the template, MS-MEETS_R208 can be verified directly when it returns. Site.CaptureRequirementIfIsNotNull( template.Description, 208, @"[In GetMeetingsInformationResponse]Description: A description of the site template."); // The templates returned in above are all server supported template, see the first template, template.ImageUrl is the URL of an image or icon of the template, MS-MEETS_R209 can be verified directly when it returns. Site.CaptureRequirementIfIsNotNull( template.ImageUrl, 209, @"[In GetMeetingsInformationResponse]ImageUrl: The URL of an image or icon of the site template."); // Create a new workspace with all parameters specified. TimeZoneInf timeZoneInf = new TimeZoneInf(); timeZoneInf.standardDate = new SysTime(); timeZoneInf.standardDate.year = 2013; timeZoneInf.standardDate.month = 10; timeZoneInf.standardDate.dayOfWeek = 4; timeZoneInf.standardDate.day = 5; timeZoneInf.standardDate.hour = 23; timeZoneInf.standardDate.minute = 10; timeZoneInf.standardDate.second = 10; timeZoneInf.standardDate.milliseconds = 100; timeZoneInf.standardBias = 1; timeZoneInf.bias = 1; timeZoneInf.daylightBias = 2; timeZoneInf.daylightDate = new SysTime(); timeZoneInf.standardDate.year = 0; timeZoneInf.standardDate.month = 10; timeZoneInf.standardDate.dayOfWeek = 4; timeZoneInf.standardDate.day = 5; timeZoneInf.standardDate.hour = 23; timeZoneInf.standardDate.minute = 10; timeZoneInf.standardDate.second = 10; timeZoneInf.standardDate.milliseconds = 100; SoapResult<CreateWorkspaceResponseCreateWorkspaceResult> createWorkspaceResult = this.meetsAdapter.CreateWorkspace(TestSuiteBase.GetUniqueWorkspaceTitle(), template.Name, lcid, timeZoneInf); Site.Assert.IsNull(createWorkspaceResult.Exception, "Create workspace should succeed"); // In above CreateWorkspace step, the lcid value input is gained from getWorkspaceInfoResult, when CreateWorkspace succeed, MS-MEETS_R2935 can be verified. Site.CaptureRequirement( 2935, @"[In CreateWorkspace]If a value for this parameter [lcid] is provided, it MUST be a LCID contained in the GetMeetingsInformationResponse response after the client protocol sends the GetMeetingsInformation message with the requestFlags parameter set to 2."); // Clean up the SUT. this.meetsAdapter.Url = createWorkspaceResult.Result.CreateWorkspace.Url + Common.GetConfigurationPropertyValue("EntryUrl", this.Site); SoapResult<Null> deleteResult = this.meetsAdapter.DeleteWorkspace(); Site.Assert.IsNull(deleteResult.Exception, "DeleteWorkspace should succeed"); }