public void TestSessionProducerConsumerContracts() { // producers ISessionProducerContract producer = new AspenSessionProducerContract(); Guid session_id = producer.Create(); Assert.IsNotNull(session_id); ISimulationProducerContract simulation_contract = AspenSimulationContract.Create("testX", "AspenPlus"); var bytes = File.ReadAllBytes("mea-sinter.txt"); Assert.IsNotNull(bytes); Assert.IsTrue(bytes.Length > 0); System.Threading.Thread.Sleep(100); simulation_contract.UpdateInput("configuration", bytes, "plain/text"); bytes = File.ReadAllBytes("mea.bkp"); Assert.IsNotNull(bytes); Assert.IsTrue(bytes.Length > 0); System.Threading.Thread.Sleep(100); simulation_contract.UpdateInput("aspenfile", bytes, "plain/text"); IJobProducerContract job_producer_contract = simulation_contract.NewJob(session_id, false, true); job_producer_contract = simulation_contract.NewJob(session_id, false, true); IConsumerRegistrationContract contract = Turbine.Consumer.AppUtility.GetConsumerRegistrationContract(); contract.Register(); IJobConsumerContract job = contract.Queue.GetNext(); Assert.IsNull(job); job_producer_contract.Submit(); job = contract.Queue.GetNext(); Assert.IsNotNull(job); Assert.AreEqual(job.Id, job_producer_contract.Id); job.Setup(); SimpleFile backup = null; SimpleFile config = null; foreach (var f in job.GetSimulationInputFiles()) { if (f.name == "configuration") { config = f; } else { backup = f; } } Assert.AreEqual(config.name, "configuration"); String filename = SinterHelperFunctions .getBackupFilename(System.Text.Encoding.ASCII.GetString(config.content)); Assert.AreEqual(backup.name, "aspenfile"); // NEED TO SET INPUT Before Setting to Run //j try { job.Running(); Assert.Fail("Job.Process.Input Must be set before setting job to run"); } catch (InvalidStateChangeException) {} job.Process.Input = new Dictionary <string, Object>(); job.Running(); job.Success(); job = contract.Queue.GetNext(); Assert.IsNull(job); }
public void TestJobProducerConsumerContractsSetupFailUnRegisterConsumer() { // Create test Simulation TestSimulationProducerContract(); ISimulationProducerContract simulation_contract = AspenSimulationContract.Get("test"); ISessionProducerContract producer = new AspenSessionProducerContract(); Guid session_id = producer.Create(); IJobProducerContract job_producer_contract = simulation_contract.NewJob(session_id, false, true); // consumers /* * IJobQueue queue = AppUtility.GetJobQueue(); * IJobConsumerContract job = queue.GetNext(); * Assert.IsNull(job); * job_producer_contract.Submit(); * job = queue.GetNext(); * Assert.IsNotNull(job); */ // NHibernate IConsumerRegistrationContract contract = Turbine.Consumer.AppUtility.GetConsumerRegistrationContract(); Assert.IsNull(contract.Queue); contract.Register(); Assert.IsNotNull(contract.Queue); Assert.IsNull(contract.Queue.GetNext()); // nothing on queue job_producer_contract.Submit(); IJobConsumerContract job = contract.Queue.GetNext(); Assert.IsNotNull(job); contract.UnRegister(); job.Setup(); SimpleFile backup = null; SimpleFile config = null; foreach (var f in job.GetSimulationInputFiles()) { if (f.name == "configuration") { config = f; } else { backup = f; } } Assert.AreEqual(config.name, "configuration"); String filename = SinterHelperFunctions .getBackupFilename(System.Text.Encoding.ASCII.GetString(config.content)); Assert.AreEqual(backup.name, ""); //Assert(, //IJobConsumerContract consumer = AppUtility.GetJobConsumerContract(id); }