public void SimWeb_can_change_web_title_fake() { using (var context = new SPOEmulationContext(IsolationLevel.Fake)) { // set title for fake context.ClientContext.Web.Title = "Teamsite"; // Get title context.ClientContext.Load(context.ClientContext.Web); context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); var originalTitle = context.ClientContext.Web.Title; Assert.IsNotNull(originalTitle); // set title to something different context.ClientContext.Web.Title = "A new Title that is applied"; context.ClientContext.Web.Update(); context.ClientContext.ExecuteQuery(); context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); Assert.AreEqual("A new Title that is applied", context.ClientContext.Web.Title); } }
public void SimWeb_can_change_web_title_o365() { using (var context = new SPOEmulationContext(IsolationLevel.Integration, _connectionInformation)) { // Get title context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); var originalTitle = context.ClientContext.Web.Title; Assert.IsNotNull(originalTitle); // set title to something different context.ClientContext.Web.Title = "A new Title that is applied"; context.ClientContext.Web.Update(); context.ClientContext.ExecuteQuery(); context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); Assert.AreEqual("A new Title that is applied", context.ClientContext.Web.Title); // set title back context.ClientContext.Web.Title = originalTitle; context.ClientContext.Web.Update(); context.ClientContext.ExecuteQuery(); } }
public void ProvisioningEngine_default_list_contains_fields() { using (var context = new SPOEmulationContext(_isolationLevel, _url)) { var sut = new ProvisioningEngine(); sut.CreateDefaultList(context.ClientContext, context.ClientContext.Web); var result = context.ClientContext.Web.Lists.GetByTitle("Default List"); context.ClientContext.Load(result); context.ClientContext.ExecuteQuery(); // Check that the list contains fields. var field1 = result.Fields.GetByTitle("My Number1"); var field2 = result.Fields.GetByTitle("My Number2"); context.ClientContext.Load(field1); context.ClientContext.Load(field2); context.ClientContext.ExecuteQuery(); Assert.IsNotNull(field1); Assert.IsNotNull(field2); // Delete list if we do integration testing if (_isolationLevel != IsolationLevel.Fake) { result.DeleteObject(); context.ClientContext.ExecuteQuery(); } } }
public void ProvisioningEngine_adds_default_data() { using (var context = new SPOEmulationContext(_isolationLevel, _url)) { var sut = new ProvisioningEngine(); // ensure the list sut.CreateDefaultList(context.ClientContext, context.ClientContext.Web); var list = context.ClientContext.Web.Lists.GetByTitle("Default List"); context.ClientContext.Load(list); // add items to list sut.AddDeaultData(context.ClientContext, list); // reload items validate var query = CamlQuery.CreateAllItemsQuery(); var items = list.GetItems(query); context.ClientContext.Load(items); context.ClientContext.ExecuteQuery(); Assert.AreEqual(5, items.Count); // Delete list if we do integration testing if (_isolationLevel != IsolationLevel.Fake) { list.DeleteObject(); context.ClientContext.ExecuteQuery(); } } }
public void ProvisioningEngine_sets_web_title_to_department_name() { using (var context = new SPOEmulationContext(_isolationLevel, _connectionInformation)) { // Get title context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); var originalTitle = context.ClientContext.Web.Title; var sut = new ProvisioningEngine(); // set title of web to department name sut.SetDepartmentTitle(context.ClientContext, context.ClientContext.Web); context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); Assert.AreEqual("Department A", context.ClientContext.Web.Title); // Clean up title for integration testing if (_isolationLevel != IsolationLevel.Fake) { context.ClientContext.Web.Title = originalTitle; context.ClientContext.Web.Update(); context.ClientContext.ExecuteQuery(); } } }
public void Site_can_add_and_remove_Webs_O365() { var isolationLevel = IsolationLevel.Integration; // create a unique name for a subweb var uniqueName = Guid.NewGuid().ToString("N"); using (var context = new SPOEmulationContext(isolationLevel, _connectionInformation)) { using (var clientContext = new ClientContext(_connectionInformation.Url)) { clientContext.Credentials = new SharePointOnlineCredentials(_connectionInformation.UserName, _connectionInformation.Password); var site = clientContext.Site; clientContext.Load(site); // The rootweb should exit... clientContext.Load(site.RootWeb, w => w.Url); clientContext.Load(site.RootWeb, w => w.ServerRelativeUrl); clientContext.ExecuteQuery(); Assert.IsNotNull(site.RootWeb); Assert.AreEqual(_connectionInformation.Url.AbsoluteUri.TrimEnd('/'), site.RootWeb.Url); Assert.AreEqual(MakeServerRelative(_connectionInformation.Url), site.RootWeb.ServerRelativeUrl); // add a new web var subweb = site.RootWeb.Webs.Add(new WebCreationInformation { Url = uniqueName, Title = uniqueName, UseSamePermissionsAsParentSite = true, WebTemplate = "STS#0" }); clientContext.Load(subweb, w => w.Title); clientContext.Load(subweb, w => w.Url); clientContext.Load(subweb, w => w.ServerRelativeUrl); clientContext.ExecuteQuery(); Assert.AreEqual(uniqueName, subweb.Title); Assert.AreEqual(_connectionInformation.Url.AbsoluteUri + uniqueName, subweb.Url); Assert.AreEqual(MakeServerRelative(_connectionInformation.Url) + uniqueName, subweb.ServerRelativeUrl); } // Directly connect and delete web using (var clientContext = new ClientContext(_connectionInformation.Url.AbsoluteUri + uniqueName)) { clientContext.Credentials = new SharePointOnlineCredentials(_connectionInformation.UserName, _connectionInformation.Password); var web = clientContext.Web; clientContext.Load(web); clientContext.ExecuteQuery(); Assert.AreEqual(uniqueName, web.Title); Assert.AreEqual(_connectionInformation.Url.AbsoluteUri + uniqueName, web.Url); Assert.AreEqual(MakeServerRelative(_connectionInformation.Url) + uniqueName, web.ServerRelativeUrl); web.DeleteObject(); clientContext.ExecuteQuery(); } } }
public void SimWeb_can_change_web_title_onPrem() { using (var context = new SPOEmulationContext(_isolationLevel, _url)) { // Get title context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); var originalTitle = context.ClientContext.Web.Title; Assert.IsNotNull(originalTitle); // set title to something different context.ClientContext.Web.Title = "A new Title that is applied"; context.ClientContext.Web.Update(); context.ClientContext.ExecuteQuery(); context.ClientContext.Load(context.ClientContext.Web, w => w.Title); context.ClientContext.ExecuteQuery(); Assert.AreEqual("A new Title that is applied", context.ClientContext.Web.Title); // set title back context.ClientContext.Web.Title = originalTitle; context.ClientContext.Web.Update(); context.ClientContext.ExecuteQuery(); } }
public void SimClientContext_creates_Web_for_integration_onprem() { using (var context = new SPOEmulationContext(_isolationLevel, _url)) { Assert.IsNotNull(context.ClientContext); Assert.IsNotNull(context.ClientContext.Web); } }
public void SPOEmulationContext_does_NOT_create_shimContext_for_none() { using (var sut = new SPOEmulationContext(IsolationLevel.None, Settings.Default.OnPremUrl)) { var shimsContext = new PrivateObject(sut).GetField("_shimsContext"); Assert.IsNull(shimsContext); } }
public void SPOEmulationContext_creates_shimContext_for_fake() { using (var sut = new SPOEmulationContext(IsolationLevel.Fake)) { var shimsContext = new PrivateObject(sut).GetField("_shimsContext"); Assert.IsNotNull(shimsContext); } }
public void SPOEmulationContext_creates_shimContext_for_integration() { using (var sut = new SPOEmulationContext(IsolationLevel.Integration, Settings.Default.OnPremUrl)) { var shimsContext = new PrivateObject(sut).GetField("_shimsContext"); Assert.IsNotNull(shimsContext); } }
public void SimClientContext_creates_Web_for_fake() { using (var context = new SPOEmulationContext(IsolationLevel.Fake)) { Assert.IsNotNull(context.ClientContext); Assert.IsNotNull(context.ClientContext.Web); context.ClientContext.ExecuteQuery(); } }
public void SimClientContext_creates_Web_for_integration_0365() { using (var context = new SPOEmulationContext(IsolationLevel.Integration, _connectionInformation)) { Assert.IsNotNull(context.ClientContext); Assert.IsNotNull(context.ClientContext.Web); context.ClientContext.ExecuteQuery(); } }
public void Can_set_principal_title_on_web_user() { var isolationLevel = IsolationLevel.Fake; var uniqueName = Guid.NewGuid().ToString("N"); using (var context = new SPOEmulationContext(isolationLevel, _connectionInformation)) { context.ClientContext.Web.CurrentUser.Title = uniqueName; string actual = context.ClientContext.Web.CurrentUser.Title; Assert.AreEqual(uniqueName, actual); } }
public void ProvisioningEngine_creates_default_list() { using (var context = new SPOEmulationContext(_isolationLevel, _url)) { var sut = new ProvisioningEngine(); sut.CreateDefaultList(context.ClientContext, context.ClientContext.Web); var result = context.ClientContext.Web.Lists.GetByTitle("Default List"); context.ClientContext.Load(result); context.ClientContext.ExecuteQuery(); Assert.IsNotNull(result); Assert.AreEqual("A default list that is provisioned.", result.Description); Assert.IsTrue(result.EnableVersioning); // Delete list if we do integration testing if (_isolationLevel != IsolationLevel.Fake) { result.DeleteObject(); context.ClientContext.ExecuteQuery(); } } }
public void SimWeb_can_work_with_list_fake() { using (var context = new SPOEmulationContext(IsolationLevel.Fake)) { var web = context.ClientContext.Web; // Create a list var listInfo = new ListCreationInformation { Title = "A custom list", TemplateType = (int)ListTemplateType.GenericList }; var list = web.Lists.Add(listInfo); list.Description = "A custom description..."; list.EnableVersioning = true; list.Update(); context.ClientContext.ExecuteQuery(); // Add a field var field = list.Fields.AddFieldAsXml("<Field DisplayName='My Number' Type='Number' />", true, AddFieldOptions.DefaultValue); var numberField = context.ClientContext.CastTo <FieldNumber>(field); numberField.MaximumValue = 1000; numberField.MinimumValue = 10; numberField.Update(); context.ClientContext.Load(field, f => f.InternalName); context.ClientContext.ExecuteQuery(); // Add a list item var itemInfo = new ListItemCreationInformation { LeafName = "List Item 1" }; var item = list.AddItem(itemInfo); item[field.InternalName] = 100; item.Update(); context.ClientContext.ExecuteQuery(); // Query list and retrieve item var query = new CamlQuery { ViewXml = @"<View> <Query> <Where> <Eq> <FieldRef Name='Title' /> <Value Type='Text'>List Item 1</Value> </Eq> </Where> </Query> </View>" }; // caml queries are not yet supported context.SetQueryResultsForFakeList(list, item); var items = list.GetItems(query); context.ClientContext.Load(items); context.ClientContext.ExecuteQuery(); Assert.AreEqual(1, items.Count); // Clean up and delete list var listToDelete = web.Lists.GetByTitle("A custom list"); listToDelete.DeleteObject(); context.ClientContext.ExecuteQuery(); } }
public void SimWeb_can_work_with_list_fake() { using (var context = new SPOEmulationContext(IsolationLevel.Fake)) { var web = context.ClientContext.Web; // Create a list var listInfo = new ListCreationInformation { Title = "A custom list", TemplateType = (int)ListTemplateType.GenericList }; var list = web.Lists.Add(listInfo); list.Description = "A custom description..."; list.EnableVersioning = true; list.Update(); context.ClientContext.ExecuteQuery(); // Add a field var field = list.Fields.AddFieldAsXml("<Field DisplayName='My Number' Type='Number' />", true, AddFieldOptions.DefaultValue); var numberField = context.ClientContext.CastTo<FieldNumber>(field); numberField.MaximumValue = 1000; numberField.MinimumValue = 10; numberField.Update(); context.ClientContext.Load(field, f => f.InternalName); context.ClientContext.ExecuteQuery(); // Add a list item var itemInfo = new ListItemCreationInformation { LeafName = "List Item 1" }; var item = list.AddItem(itemInfo); item[field.InternalName] = 100; item.Update(); context.ClientContext.ExecuteQuery(); // Query list and retrieve item var query = new CamlQuery { ViewXml = @"<View> <Query> <Where> <Eq> <FieldRef Name='Title' /> <Value Type='Text'>List Item 1</Value> </Eq> </Where> </Query> </View>" }; // caml queries are not yet supported context.SetQueryResultsForFakeList(list, item); var items = list.GetItems(query); context.ClientContext.Load(items); context.ClientContext.ExecuteQuery(); Assert.AreEqual(1, items.Count); // Clean up and delete list var listToDelete = web.Lists.GetByTitle("A custom list"); listToDelete.DeleteObject(); context.ClientContext.ExecuteQuery(); } }