From 95b214d22d5c2dee51ff3bf825fafd81f0ba8be0 Mon Sep 17 00:00:00 2001 From: Nhat Tan Le Date: Tue, 12 Jan 2021 16:14:44 -0800 Subject: [PATCH] add e2e test for GetJobSummary --- realis_e2e_test.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/realis_e2e_test.go b/realis_e2e_test.go index 38e39e7..884a485 100644 --- a/realis_e2e_test.go +++ b/realis_e2e_test.go @@ -823,3 +823,51 @@ func TestRealisClient_BatchAwareAutoPause(t *testing.T) { } assert.NoError(t, r.KillJob(strategy.JobKey())) } + +// Test configuring an executor that doesn't exist for CreateJob API +func TestRealisClient_GetJobSummary(t *testing.T) { + role := "vagrant" + // Create a single job + job := realis.NewJobUpdate(). + Environment("prod"). + Role(role). + Name("TestGetJobSummary"). + ThermosExecutor(thermosExec). + CPU(.25). + RAM(4). + Disk(10). + InstanceCount(3). + WatchTime(20 * time.Second). + IsService(true). + BatchSize(2) + + result, err := r.CreateService(job) + + assert.NoError(t, err) + assert.NotNil(t, result) + + var ok bool + var mErr error + + if ok, mErr = r.MonitorJobUpdate(*result.GetKey(), 5*time.Second, 4*time.Minute); !ok || mErr != nil { + // Update may already be in a terminal state so don't check for error + err := r.AbortJobUpdate(*result.GetKey(), "Monitor timed out.") + + err = r.KillJob(job.JobKey()) + + assert.NoError(t, err) + } + + assert.True(t, ok) + assert.NoError(t, mErr) + // get job summary of the role + summary, mErr := r.GetJobSummary(role) + assert.NoError(t, mErr) + assert.NotNil(t, summary) + assert.Equal(t, len(summary.Summaries), 1) + + // Kill task test task after confirming it came up fine + err = r.KillJob(job.JobKey()) + + assert.NoError(t, err) +}