Skip to content

Commit d81afae

Browse files
authored
Merge pull request #1130 from johnnycardy/jc/tests
Fixed OpenXMLConnector tests and add a couple new ones
2 parents 17433f5 + 7c83010 commit d81afae

File tree

1 file changed

+54
-2
lines changed

1 file changed

+54
-2
lines changed

src/lib/PnP.Framework.Test/Framework/Connectors/ConnectorOpenXmlTests.cs

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using PnP.Framework.Provisioning.Providers.Xml;
44
using System;
55
using System.IO;
6+
using System.Linq;
67

78
namespace PnP.Framework.Test.Framework.Connectors
89
{
@@ -62,7 +63,7 @@ private static void OpenXMLSaveTemplateInternal()
6263
fileSystemConnector,
6364
"OfficeDevPnP Automated Test");
6465

65-
SaveFileInPackage(fileSystemConnector.Parameters[FileConnectorBase.CONNECTIONSTRING] + @"\Templates\ProvisioningSchema-2015-12-FullSample-02.xml", "", openXMLConnector);
66+
SaveFileInPackage(fileSystemConnector.Parameters[FileConnectorBase.CONNECTIONSTRING] + @"\Templates\ProvisioningSchema-2022-09-FullSample-01.xml", "", openXMLConnector);
6667
SaveFileInPackage(fileSystemConnector.Parameters[FileConnectorBase.CONNECTIONSTRING] + @"\garagelogo.png", "Images", openXMLConnector);
6768
SaveFileInPackage(fileSystemConnector.Parameters[FileConnectorBase.CONNECTIONSTRING] + @"\garagebg.jpg", "Images", openXMLConnector);
6869

@@ -81,7 +82,7 @@ public void OpenXMLLoadTemplateOriginal()
8182
"Templates");
8283

8384
var openXMLConnector = new OpenXMLConnector(packageFileNameBackwardsCompatibility, fileSystemConnector);
84-
var templateFile = openXMLConnector.GetFileStream("ProvisioningSchema-2019-03-FullSample-01.xml");
85+
var templateFile = openXMLConnector.GetFileStream("ProvisioningSchema-2015-12-FullSample-02.xml");
8586

8687
XMLPnPSchemaV201903Serializer formatter = new XMLPnPSchemaV201903Serializer();
8788
var checkTemplate = formatter.IsValid(templateFile);
@@ -209,7 +210,58 @@ public void OpenXMLFileDuplicationTest()
209210
((ICommitableFileConnector)openXMLConnector).Commit();
210211
}
211212
}
213+
}
214+
215+
/// <summary>
216+
/// Tests that the template can be loaded successfully from the XMLOpenXMLTemplateProvider given the template filename
217+
/// </summary>
218+
[TestMethod]
219+
public void OpenXMLFileLoadTemplateTest()
220+
{
221+
var fileSystemConnector = new FileSystemConnector(String.Format(@"{0}\..\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates");
222+
var openXMLConnector = new OpenXMLConnector(packageFileName, fileSystemConnector);
223+
var templateFileName = openXMLConnector.GetFiles().FirstOrDefault(f => f.EndsWith(".xml"));
224+
225+
var templateProvider = new XMLOpenXMLTemplateProvider(openXMLConnector);
226+
var template = templateProvider.GetTemplate(templateFileName);
227+
228+
Assert.IsNotNull(template);
229+
}
212230

231+
/// <summary>
232+
/// Save a template using XMLOpenXMLTemplateProvider and ensure it is saved correctly
233+
/// </summary>
234+
[TestMethod]
235+
public void XMLOpenXMLTemplateProvider_SaveAs()
236+
{
237+
string packageName = Guid.NewGuid().ToString() + ".pnp";
238+
string templateName = "a" + Guid.NewGuid().ToString();
239+
240+
var fileSystemConnector = new FileSystemConnector(String.Format(@"{0}\..\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates");
241+
242+
try
243+
{
244+
var openXMLConnector = new OpenXMLConnector(packageName, fileSystemConnector);
245+
246+
var templateProvider = new XMLOpenXMLTemplateProvider(openXMLConnector);
247+
var template = new Provisioning.Model.ProvisioningTemplate()
248+
{
249+
Description = "Test"
250+
};
251+
252+
//Add the template to the package
253+
templateProvider.SaveAs(template, templateName);
254+
255+
//Re-open it and check that it has been saved with the correct template name
256+
openXMLConnector = new OpenXMLConnector(packageName, fileSystemConnector);
257+
template = templateProvider.GetTemplate(templateName);
258+
259+
Assert.AreEqual("Test", template?.Description);
260+
}
261+
finally
262+
{
263+
fileSystemConnector.DeleteFile(packageName);
264+
}
213265
}
214266
#endregion
215267
}

0 commit comments

Comments
 (0)