public void StoreRestore1() { var epm = new EndpointManager(); var sp = new Services(epm); var frm = new FakeResourceManager(); var mgr2 = new SagaManager(sp); var rm = new ResourceManager(sp); var mgr = new SagaManager(sp); var pmr = new PluginManager(sp); String pluginPath = ChatbotTests.GetPluginPath(); var configuration = new ConfigurationBuilder().Build(); //ProcS.RegisterSagas(rm, mgr); //ProcS.RegisterActivities(rm); //ProcS.RegisterSagas(frm, mgr2); //ProcS.RegisterActivities(frm); pmr.LoadPlugins(pluginPath, configuration); pmr.RegisterResources(rm, mgr); pmr.RegisterResources(frm, mgr2); var impl = new Dictionary <Type, Type> { { typeof(IIncomingMessage), typeof(BotIncMess) }, { typeof(IKeyboard), null } }; //impl.Add(typeof(BotCore.IButton), typeof(Button)); BaseClass.TestRegistred(rm, frm.TheList, impl); }
public async Task RunWorkflow() { var nm = new NotifyManager(); var configuration = new ConfigurationBuilder().Build(); var scriptEngine = new ScriptEngine(); var lg = new A2v10.ProcS.Tests.FakeLogger(); var epm = new EndpointManager(); var sp = new Services(epm); var rm = new ResourceManager(sp); var storage = new A2v10.ProcS.Tests.FakeStorage(rm, "../../../workflows/"); var repository = new Repository(storage, storage, configuration); var mgr = new SagaManager(sp); var pmr = new PluginManager(sp); String pluginPath = ChatbotTests.GetPluginPath(); ProcS.RegisterSagas(rm, mgr, scriptEngine, repository); ProcS.RegisterActivities(rm); pmr.LoadPlugins(pluginPath, configuration); pmr.RegisterResources(rm, mgr); var taskManager = new SyncTaskManager(); var keeper = new InMemorySagaKeeper(mgr.Resolver); var bus = new ServiceBus(taskManager, keeper, lg, nm); var engine = new WorkflowEngine(repository, bus, scriptEngine, lg, nm); sp.Add(bus); sp.Add(engine); var param = new DynamicObject { ["ChatId"] = "0c3af6d2-0000-0000-d2f6-3a0c00000000" }; IInstance inst = await engine.StartWorkflow(new Identity("ChatBotTest.json"), param); await bus.Process(); var plug = pmr.GetPlugin <Plugin>(Plugin.Name); await plug.GetBotAsync(BotEngine.Mocking, "TestBot"); var m1json = msg1.Replace('\'', '"'); var m1do = DynamicObjectConverters.FromJson(m1json); var m1 = rm.Unwrap <IMessage>(m1do); bus.Send(m1); await bus.Process(); var ni = await repository.Get(inst.Id); Assert.AreEqual("WaitForName", ni.CurrentState); }