public void GetField_FieldContainsDataTestConnectionLimit_StreamIsReturned() { //Assign var fieldValue = ""; var item = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldStreamMapper/GetField"); var field = item.Fields[FieldName]; string expected = "hello world"; var stream = new MemoryStream(Encoding.UTF8.GetBytes(expected)); var mapper = new SitecoreFieldStreamMapper(); using (new ItemEditing(item, true)) { field.SetBlobStream(stream); } //Act var results = new List <Stream>(); for (int i = 0; i < 1000; i++) { var result = mapper.GetField(field, null, null) as Stream; results.Add(result); } //Assert Assert.AreEqual(1000, results.Count); }
public void SetField_StreamPassed_FieldContainsStream() { //Assign var fieldValue = ""; var item = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldStreamMapper/SetField"); var field = item.Fields[FieldName]; string expected = "hello world"; var stream = new MemoryStream(Encoding.UTF8.GetBytes(expected)); var mapper = new SitecoreFieldStreamMapper(); using (new ItemEditing(item, true)) { field.SetBlobStream(new MemoryStream()); } //Act using (new ItemEditing(item, true)) { mapper.SetField(field, stream, null, null); } //Assert var reader = new StreamReader(field.GetBlobStream()); var resultStr = reader.ReadToEnd(); Assert.AreEqual(expected, resultStr); }
public void SetField_NullPassed_NoExceptionThrown() { //Assign var fieldValue = ""; var item = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldStreamMapper/SetField"); var field = item.Fields[FieldName]; string expected = "hello world"; Stream stream = null; var mapper = new SitecoreFieldStreamMapper(); using (new ItemEditing(item, true)) { field.SetBlobStream(new MemoryStream()); } //Act using (new ItemEditing(item, true)) { mapper.SetField(field, stream, null, null); } //Assert var outStream = field.GetBlobStream(); Assert.IsNull(outStream); }
public void CanHandle_StreamType_ReturnsTrue() { //Assign var mapper = new SitecoreFieldStreamMapper(); var config = new SitecoreFieldConfiguration(); config.PropertyInfo = typeof(StubClass).GetProperty("Stream"); //Act var result = mapper.CanHandle(config, null); //Assert Assert.IsTrue(result); }
public void GetField_FieldContainsDataTestConnectionLimit_StreamIsReturned() { //Assign var templateId = ID.NewID; var targetId = ID.NewID; var fieldName = "Field"; using (Db database = new Db { new DbTemplate(templateId) { { fieldName, "" } }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var fieldValue = ""; var item = database.GetItem("/sitecore/content/Target"); var field = item.Fields[fieldName]; string expected = "hello world"; var stream = new MemoryStream(Encoding.UTF8.GetBytes(expected)); var mapper = new SitecoreFieldStreamMapper(); using (new ItemEditing(item, true)) { field.SetBlobStream(stream); } //Act var results = new List <Stream>(); for (int i = 0; i < 1000; i++) { var result = mapper.GetField(field, null, null) as Stream; if (result == null) { continue; } results.Add(result); } //Assert Assert.AreEqual(1000, results.Count); } }
public void SetField_StreamPassed_FieldContainsStream() { //Assign var templateId = ID.NewID; var targetId = ID.NewID; var fieldName = "Field"; using (Db database = new Db { new DbTemplate(templateId) { { fieldName, "" } }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var fieldValue = ""; var item = database.GetItem("/sitecore/content/Target"); var field = item.Fields[fieldName]; string expected = "hello world"; var stream = new MemoryStream(Encoding.UTF8.GetBytes(expected)); var mapper = new SitecoreFieldStreamMapper(); using (new ItemEditing(item, true)) { field.SetBlobStream(new MemoryStream()); } //Act using (new ItemEditing(item, true)) { mapper.SetField(field, stream, null, null); } //Assert var stream1 = field.GetBlobStream(); stream1.Seek(0, SeekOrigin.Begin); var reader = new StreamReader(stream1); var resultStr = reader.ReadToEnd(); Assert.AreEqual(expected, resultStr); } }
public void SetField_NullPassed_NoExceptionThrown() { //Assign var templateId = ID.NewID; var targetId = ID.NewID; var fieldName = "Field"; using (Db database = new Db { new DbTemplate(templateId) { { fieldName, "" } }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var fieldValue = ""; var item = database.GetItem("/sitecore/content/Target"); var field = item.Fields[fieldName]; string expected = "hello world"; Stream stream = null; var mapper = new SitecoreFieldStreamMapper(); using (new ItemEditing(item, true)) { field.SetBlobStream(new MemoryStream()); } //Act using (new ItemEditing(item, true)) { mapper.SetField(field, stream, null, null); } //Assert var outStream = field.GetBlobStream(); Assert.AreEqual(0, outStream.Length); } }