public async Task BasicDeploymentIntegrationTest() { var externalId = "jetfire-cli-test-basic-deployment"; var env = TestEnvironment.Jetfiretest1; var list = await env.Client.TransformConfigList(); var existing = list.Find(x => x.ExternalId == externalId); if (existing != null) { try { await env.Client.ScheduleDelete(existing.Id); } catch {} await env.Client.TransformConfigDelete(existing.Id); } var console = new TestConsole(); var secrets = new TestSecretsProvider { ["JETFIRE_API_KEY"] = env.ApiKey, ["TEST_API_KEY"] = env.ApiKey, }; var cmd = new DeployCommand(secrets).Command; try { var exitCode = await cmd.InvokeAsync("./TestData/basic-deployment", console); Assert.Equal(0, exitCode); } finally { testOutput.WriteLine("=== Stdout ==="); testOutput.WriteLine(console.Out.ToString()); testOutput.WriteLine("=== Stderr ==="); testOutput.WriteLine(console.Error.ToString()); } var listAfterDeploy = await env.Client.TransformConfigList(); var deployedConfig = listAfterDeploy.Find(x => x.ExternalId == externalId); Assert.NotNull(deployedConfig); try { Assert.Equal("update", deployedConfig.ConflictMode); Assert.Equal("datapoints", deployedConfig.Destination.Type); Assert.NotNull(deployedConfig.Schedule); Assert.Equal("1 1 1 1 1", deployedConfig.Schedule.Interval); Assert.False(deployedConfig.Schedule.IsPaused); Assert.Equal("select 0 limit 0", deployedConfig.Query.Trim()); } finally { await env.Client.ScheduleDelete(deployedConfig.Id); await env.Client.TransformConfigDelete(deployedConfig.Id); } }
public void ErrorOnDuplicateExternalIds() { var console = new TestConsole(); var secrets = new TestSecretsProvider { ["JETFIRE_API_KEY"] = TestEnvironment.Jetfiretest1.ApiKey }; var cmd = new DeployCommand(secrets).Command; cmd.Invoke("./TestData/duplicate-externalid", console); Assert.StartsWith("Error: Manifests contain duplicate externalIds", console.Error.ToString()); }