public void MyTestInitialize() { Debug.WriteLine("Initialize", this.GetType().Name); ConsumerContext.id = Guid.NewGuid(); using (var container = new Turbine.Data.TurbineModelContainer()) { container.Jobs.ToList().ForEach(m => container.DeleteObject(m)); container.SinterProcesses.ToList().ForEach(s => container.DeleteObject(s)); container.Simulations.ToList().ForEach(n => container.DeleteObject(n)); container.Applications.ToList().ForEach(i => container.DeleteObject(i)); container.InputFileTypes.ToList().ForEach(j => container.DeleteObject(j)); container.StagedInputFiles.ToList().ForEach(k => container.DeleteObject(k)); container.SimulationStagedInputs.ToList().ForEach(l => container.DeleteObject(l)); container.Sessions.ToList().ForEach(m => container.DeleteObject(m)); container.SaveChanges(); } var contract = new Turbine.Producer.Data.Contract.AspenSessionProducerContract(); for (int i = 0; i <= 1000; i++) { System.Threading.Thread.Sleep(1); contract.Create(); } }
public void MyTestInitialize() { Debug.WriteLine("Initialize", this.GetType().Name); ConsumerContext.id = Guid.NewGuid(); using (var container = new Turbine.Data.TurbineModelContainer()) { container.Messages.ToList().ForEach(a => container.DeleteObject(a)); container.Jobs.ToList().ForEach(m => container.DeleteObject(m)); container.SinterProcesses.ToList().ForEach(s => container.DeleteObject(s)); container.Simulations.ToList().ForEach(n => container.DeleteObject(n)); container.Applications.ToList().ForEach(i => container.DeleteObject(i)); container.InputFileTypes.ToList().ForEach(j => container.DeleteObject(j)); container.StagedInputFiles.ToList().ForEach(k => container.DeleteObject(k)); container.SimulationStagedInputs.ToList().ForEach(l => container.DeleteObject(l)); container.SaveChanges(); } // Must Sleep so Timestamps are different var app = ApplicationProducerContract.Create("AspenPlus", "0.1"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("aspenfile", true, "plain/text"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("configuration", true, "plain/text"); System.Threading.Thread.Sleep(10); app = ApplicationProducerContract.Create("ACM", "0.1"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("aclm", true, "plain/text"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("configuration", true, "plain/text"); System.Threading.Thread.Sleep(10); app = ApplicationProducerContract.Create("gProms", "0.1"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("gproms", true, "plain/text"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("configuration", true, "plain/text"); System.Threading.Thread.Sleep(10); app = ApplicationProducerContract.Create("excel", "0.1"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("excel", true, "plain/text"); System.Threading.Thread.Sleep(10); app.UpdateInputFileType("configuration", true, "plain/text"); }
public void TestSimulationProducerConsumerContracts() { var simulation_name = "TestSimulationProducerConsumerContracts"; var input_name = "configuration"; ISimulationProducerContract contract = AspenSimulationContract.Create(simulation_name, "ACM"); using (var container = new Turbine.Data.TurbineModelContainer()) { var obj = container.Simulations.Single <Turbine.Data.Simulation>(s => s.Name == simulation_name); var input = obj.SimulationStagedInputs.Single <Turbine.Data.SimulationStagedInput>(i => i.Name == input_name); Assert.IsNull(input.Hash); Assert.IsNull(input.Content); Debug.WriteLine("SimulationStagedInput: " + input.Name, this.GetType().Name); input_name = "aclm"; input = obj.SimulationStagedInputs.Single <Turbine.Data.SimulationStagedInput>(i => i.Name == input_name); Assert.IsNull(input.Hash); Assert.IsNull(input.Content); Debug.WriteLine("SimulationStagedInput: " + input.Name, this.GetType().Name); } input_name = "configuration"; contract = AspenSimulationContract.Get(simulation_name); byte[] data = Encoding.UTF8.GetBytes("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); var provider = System.Security.Cryptography.MD5CryptoServiceProvider.Create(); byte[] hash = provider.ComputeHash(data); var sb = new StringBuilder(); foreach (byte b in hash) { sb.Append(b.ToString("X2")); } string hval = sb.ToString(); var content_type = "plain/text"; bool success = contract.UpdateInput(input_name, data, content_type); using (var container = new Turbine.Data.TurbineModelContainer()) { var obj = container.Simulations.OrderByDescending(q => q.Create).First <Turbine.Data.Simulation>(s => s.Name == simulation_name); var input = obj.SimulationStagedInputs.Single <Turbine.Data.SimulationStagedInput>(i => i.Name == input_name); Debug.WriteLine(String.Format("SimulationStagedInput: {0}, {1}, {2}", input.Name, input.Hash, Encoding.UTF8.GetString(input.Content)), this.GetType().Name); Assert.AreEqual(input.Hash, hval); Assert.AreEqual(Encoding.UTF8.GetString(input.Content), "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); } }
public void TestExcelSpreadsheet1() { var app = ApplicationProducerContract.Get("Excel"); Assert.IsNotNull(app); ISimulationProducerContract simulation_contract = AspenSimulationContract.Create("test", "Excel"); Assert.IsNotNull(simulation_contract); byte[] data; using (var fstream = File.Open(@"exceltest.xlsm", FileMode.Open)) { using (var ms = new MemoryStream()) { fstream.CopyTo(ms); data = ms.ToArray(); } } Assert.IsTrue(data.Length > 0); System.Threading.Thread.Sleep(10); simulation_contract.UpdateInput("spreadsheet", data, "plain/text"); data = null; using (var fstream = File.Open("exceltest-sinter.json", FileMode.Open)) { using (var ms = new MemoryStream()) { fstream.CopyTo(ms); data = ms.ToArray(); } } Assert.IsTrue(data.Length > 0); System.Threading.Thread.Sleep(10); simulation_contract.UpdateInput("configuration", data, "plain/text"); System.Threading.Thread.Sleep(10); var guid = Guid.NewGuid(); var job_producer_contract = simulation_contract.NewJob(guid, false, false); job_producer_contract.Process.Input = new Dictionary <string, Object>() { }; job_producer_contract.Submit(); System.Threading.Thread.Sleep(10); IConsumerRegistrationContract contract = Turbine.Consumer.AppUtility.GetConsumerRegistrationContract(); Assert.IsNull(contract.Queue); contract.Register(); Turbine.Consumer.Contract.SinterConsumer consumer = new Turbine.Consumer.Excel.ExcelSinterConsumer(); //Utility.CheckBaseDirectory(); consumer.Run(); int jobID = job_producer_contract.Id; Debug.WriteLine("Job GUID" + guid.ToString(), GetType().Name); Dictionary <string, Object> json = null; using (Turbine.Data.TurbineModelContainer container = new Turbine.Data.TurbineModelContainer()) { Turbine.Data.Job entity = container.Jobs.Single(s => s.Id == job_producer_contract.Id); json = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, Object> >(entity.Process.Output); } string output = Newtonsoft.Json.JsonConvert.SerializeObject(json); Debug.WriteLine("OUTPUT: " + output, GetType().Name); }