protected EndToEndTestFixture(string rootPath) { string connectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.Storage); CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString); _queueClient = storageAccount.CreateCloudQueueClient(); _blobClient = storageAccount.CreateCloudBlobClient(); CreateTestStorageEntities(); TraceWriter = new TestTraceWriter(TraceLevel.Verbose); ScriptHostConfiguration config = new ScriptHostConfiguration() { RootScriptPath = rootPath, TraceWriter = TraceWriter, FileLoggingEnabled = true }; HostManager = new ScriptHostManager(config); Thread t = new Thread(_ => { HostManager.RunAndBlock(); }); t.Start(); TestHelpers.Await(() => HostManager.IsRunning).Wait(); }
static void Main(string[] args) { string rootPath = Environment.CurrentDirectory; if (args.Length > 0) { rootPath = (string)args[0]; } ScriptHostConfiguration config = new ScriptHostConfiguration() { RootScriptPath = rootPath }; ScriptHostManager scriptHostManager = new ScriptHostManager(config); scriptHostManager.RunAndBlock(); }
public async Task UpdateFileAndRestart() { Random r = new Random(); CancellationTokenSource cts = new CancellationTokenSource(); var fixture = new NodeEndToEndTests.TestFixture(); var blob1 = UpdateOutputName("testblob", "first", fixture); await fixture.Host.StopAsync(); var config = fixture.Host.ScriptConfig; using (var manager = new ScriptHostManager(config)) { // Background task to run while the main thread is pumping events at RunAndBlock(). Thread t = new Thread(_ => { // Wait for initial execution. TestHelpers.Await(() => { return blob1.Exists(); }, timeout: 10 * 1000).Wait(); // This changes the bindings so that we now write to blob2 var blob2 = UpdateOutputName("first", "second", fixture); // wait for newly executed TestHelpers.Await(() => { return blob2.Exists(); }, timeout: 10 * 1000).Wait(); manager.Stop(); }); t.Start(); manager.RunAndBlock(cts.Token); t.Join(); } }
public static void Main(string[] args) { if (args == null) { throw new ArgumentNullException("args"); } string rootPath = Environment.CurrentDirectory; if (args.Length > 0) { rootPath = (string)args[0]; } ScriptHostConfiguration config = new ScriptHostConfiguration() { RootScriptPath = rootPath }; ScriptHostManager scriptHostManager = new ScriptHostManager(config); scriptHostManager.RunAndBlock(); }