public async Task BuiltInModuleResolved() { var stopTokenSource = new CancellationTokenSource(); var options = new NodeServicesOptions { ApplicationStoppingToken = stopTokenSource.Token, ProjectPath = AppDomain.CurrentDomain.BaseDirectory, NodeInstanceOutputLogger = Mock.Of <ILogger>(), }; options.UseSocketHosting(); using (var services = NodeServicesFactory.CreateNodeServices(options)) using (var builtinModule = new StringAsTempFile("exports.add = function(a, b) {return a+b;}", stopTokenSource.Token)) { await services.InvokeExportAsync <object>("builtin-modules-init", "initialize", new Dictionary <string, string>() { { "builtin", builtinModule.FileName } }); var result = await services.InvokeExportAsync <int>("builtin-modules-test", "test", 1, 2); stopTokenSource.Cancel(); Assert.Equal(3, result); } }
public NodeBindingTests() { var options = new NodeServicesOptions { ApplicationStoppingToken = stopTokenSource.Token, ProjectPath = AppDomain.CurrentDomain.BaseDirectory, NodeInstanceOutputLogger = Mock.Of <ILogger>(), DebuggingPort = 9000, LaunchWithDebugging = true }; options.UseSocketHosting(); nodeServices = NodeServicesFactory.CreateNodeServices(options); rpcHost = new JsonRpcBindingHost(js => new LineDelimitedJsonConnection(js)); rpcHost.Repository.AddBinding("test", new TestBound()); var initTask = nodeServices.InvokeExportAsync <Stream>("binding-init", "initialize", rpcHost.Repository.Objects); this.initTask = initTask.ContinueWith(t => (rpcHost.Connection as LineDelimitedJsonConnection)?.Initialize(t.Result, t.Result)); }