public void TestBuildApplicationWithMissingParameterFail() { BuildLayoutInfo buildLayoutInfo = new BuildLayoutInfo(this.imageStore); string buildPath = buildLayoutInfo.CreateBuildLayout(); ImageBuilderExeTestWrapper exeWrapper = new ImageBuilderExeTestWrapper(this.imageStore); int exitCode = exeWrapper.GetApplicationType(buildPath); Verify.AreEqual(exitCode, 0); string applicationId = Guid.NewGuid().ToString(); string nameUri = string.Format(CultureInfo.InvariantCulture, "fabric:/{0}", buildLayoutInfo.ApplicationManifestType.ApplicationTypeName); Dictionary <string, string> userParameters = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); // "InstanceCountParam" is used to generate the digested manifest - we validate this against being null/empty string outputFolder = "CMOutputFolder"; exitCode = exeWrapper.BuildApplication( buildLayoutInfo.ApplicationManifestType.ApplicationTypeName, buildLayoutInfo.ApplicationManifestType.ApplicationTypeVersion, applicationId, nameUri, userParameters, outputFolder); Verify.AreEqual(exitCode, ImageBuilderExeTestWrapper.ImageBuilderErrorCode); Verify.IsTrue(!Directory.Exists(outputFolder)); if (Directory.Exists(outputFolder)) { Directory.Delete(outputFolder, true); } }
public void TestInvalidBuildApplication() { string appTypeName = "InvalidAppTypeName"; string appTypeVersion = "InvalidAppTypeVersion"; string appId = "AppId_App0"; string nameUri = "fabric:/app"; Dictionary <string, string> parameters = new Dictionary <string, string>(); string output = ".\\"; ImageBuilderExeTestWrapper exeWrapper = new ImageBuilderExeTestWrapper(this.imageStore); int exitCode = exeWrapper.BuildApplication( appTypeName, appTypeVersion, appId, nameUri, parameters, output); Verify.AreEqual(exitCode, ImageBuilderExeTestWrapper.ImageBuilderErrorCode); }
public void TestBuildApplication() { BuildLayoutInfo buildLayoutInfo = new BuildLayoutInfo(this.imageStore); string buildPath = buildLayoutInfo.CreateBuildLayout(); ImageBuilderExeTestWrapper exeWrapper = new ImageBuilderExeTestWrapper(this.imageStore); int exitCode = exeWrapper.GetApplicationType(buildPath); Verify.AreEqual(exitCode, 0); string applicationId = Guid.NewGuid().ToString(); string nameUri = string.Format(CultureInfo.InvariantCulture, "fabric:/{0}", buildLayoutInfo.ApplicationManifestType.ApplicationTypeName); Dictionary <string, string> userParameters = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); userParameters.Add("portvalue", "500"); userParameters.Add("DomainGroup", "DomainGroup"); userParameters.Add("MyUserParam", "Foo"); userParameters.Add("InstanceCountParam", "100"); string outputFolder = "CMOutputFolder"; exitCode = exeWrapper.BuildApplication( buildLayoutInfo.ApplicationManifestType.ApplicationTypeName, buildLayoutInfo.ApplicationManifestType.ApplicationTypeVersion, applicationId, nameUri, userParameters, outputFolder); Verify.AreEqual(exitCode, 0); Verify.IsTrue(Directory.Exists(outputFolder)); if (Directory.Exists(outputFolder)) { Directory.Delete(outputFolder, true); } }
public void TestUpgradeApplication() { BuildLayoutInfo buildLayoutInfo = new BuildLayoutInfo(this.imageStore); string buildPath = buildLayoutInfo.CreateBuildLayout(); ImageBuilderExeTestWrapper exeWrapper = new ImageBuilderExeTestWrapper(this.imageStore); int exitCode = exeWrapper.GetApplicationType(buildPath); Verify.AreEqual(exitCode, 0); string applicationId = Guid.NewGuid().ToString(); string nameUri = string.Format(CultureInfo.InvariantCulture, "fabric:/{0}", buildLayoutInfo.ApplicationManifestType.ApplicationTypeName); Dictionary <string, string> userParameters = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); userParameters.Add("portvalue", "500"); userParameters.Add("DomainGroup", "DomainGroup"); userParameters.Add("MyUserParam", "Foo"); userParameters.Add("InstanceCountParam", "100"); exitCode = exeWrapper.BuildApplication( buildLayoutInfo.ApplicationManifestType.ApplicationTypeName, buildLayoutInfo.ApplicationManifestType.ApplicationTypeVersion, applicationId, nameUri, userParameters, null); Verify.AreEqual(exitCode, 0); buildLayoutInfo.DeleteBuildLayout(); // Upgrade Application Collection <object> updatedServiceTypes = new Collection <object>(buildLayoutInfo.ServiceManifestTypes[0].ServiceTypes.ToList()); updatedServiceTypes.Add(new StatelessServiceTypeType() { ServiceTypeName = "UpdatedServiceType" }); buildLayoutInfo.ServiceManifestTypes[0].ServiceTypes = updatedServiceTypes.ToArray(); buildLayoutInfo.ServiceManifestTypes[0].Version = "1.1"; buildLayoutInfo.ApplicationManifestType.ServiceManifestImport[0].ServiceManifestRef.ServiceManifestVersion = "1.1"; buildLayoutInfo.ApplicationManifestType.ServiceTemplates = null; buildLayoutInfo.ApplicationManifestType.DefaultServices = null; buildLayoutInfo.ApplicationManifestType.ApplicationTypeVersion = "2.0"; string updatedBuildPath = buildLayoutInfo.CreateBuildLayout(); exitCode = exeWrapper.GetApplicationType(buildPath); Verify.AreEqual(exitCode, 0); string outputFolder = "CMUpdatedOutput"; exitCode = exeWrapper.UpgradeApplication( buildLayoutInfo.ApplicationManifestType.ApplicationTypeName, "1", buildLayoutInfo.ApplicationManifestType.ApplicationTypeVersion, applicationId, new Dictionary <string, string>(), outputFolder); Verify.AreEqual(exitCode, 0); Verify.IsTrue(Directory.Exists(outputFolder)); if (Directory.Exists(outputFolder)) { Directory.Delete(outputFolder, true); } }