Skip to content

Commit

Permalink
Fix task resource unmarshal error case.
Browse files Browse the repository at this point in the history
Previously task resource unmarshal error was ignored. This PR fixes it. Also fixes unit tests that start failing on mac after exposing the error.
  • Loading branch information
fenxiong committed Jun 26, 2019
1 parent b026042 commit c305dc8
Show file tree
Hide file tree
Showing 11 changed files with 470 additions and 2,466 deletions.
28 changes: 14 additions & 14 deletions agent/statemanager/state_manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,27 +104,27 @@ func TestLoadsV13DataCorrectly(t *testing.T) {
err = stateManager.Load()
assert.NoError(t, err)

assert.Equal(t, "test", cluster)
assert.Equal(t, "test-statefile", cluster)
assert.EqualValues(t, 0, sequenceNumber)
tasks, err := taskEngine.ListTasks()
assert.NoError(t, err)
var deadTask *apitask.Task
for _, task := range tasks {
if task.Arn == "arn:aws:ecs:us-west-2:694464167470:task/5e9f6adb-2a02-48db-860f-41e12c4ced32" {
if task.Arn == "arn:aws:ecs:us-west-2:1234567890:task/test-statefile/6a86da4c40ed4a0b94cf359e840dda98" {
deadTask = task
}
}
require.NotNil(t, deadTask)
assert.Equal(t, deadTask.GetSentStatus(), apitaskstatus.TaskRunning)
assert.Equal(t, deadTask.Containers[0].SentStatusUnsafe, apicontainerstatus.ContainerRunning)
assert.Equal(t, deadTask.Containers[0].DesiredStatusUnsafe, apicontainerstatus.ContainerRunning)
assert.Equal(t, deadTask.Containers[0].KnownStatusUnsafe, apicontainerstatus.ContainerRunning)
assert.Equal(t, deadTask.GetSentStatus(), apitaskstatus.TaskStopped)
assert.Equal(t, deadTask.Containers[0].SentStatusUnsafe, apicontainerstatus.ContainerStopped)
assert.Equal(t, deadTask.Containers[0].DesiredStatusUnsafe, apicontainerstatus.ContainerStopped)
assert.Equal(t, deadTask.Containers[0].KnownStatusUnsafe, apicontainerstatus.ContainerStopped)

exitCode := deadTask.Containers[0].KnownExitCodeUnsafe
require.NotNil(t, exitCode)
assert.Equal(t, *exitCode, 128)

expected, _ := time.Parse(time.RFC3339, "2015-04-28T17:29:48.129140193Z")
expected, _ := time.Parse(time.RFC3339, "2019-06-26T15:56:54.353114618Z")
assert.Equal(t, deadTask.GetKnownStatusTime(), expected)

}
Expand Down Expand Up @@ -194,15 +194,15 @@ func TestLoadsDataForPrivateRegistryTask(t *testing.T) {
err = stateManager.Load()
assert.NoError(t, err)

assert.Equal(t, "state-file", cluster)
assert.Equal(t, "test-statefile", cluster)
assert.EqualValues(t, 0, sequenceNumber)

tasks, err := taskEngine.ListTasks()
assert.NoError(t, err)
assert.Equal(t, 1, len(tasks))

task := tasks[0]
assert.Equal(t, "arn:aws:ecs:us-west-2:1234567890:task/33425c99-5db7-45fb-8244-bc94d00661e4", task.Arn)
assert.Equal(t, "arn:aws:ecs:us-west-2:1234567890:task/test-statefile/19e8453e9a404cb58d55aaa0df65b4f5", task.Arn)
assert.Equal(t, "private-registry-state", task.Family)
assert.Equal(t, 1, len(task.Containers))

Expand Down Expand Up @@ -238,23 +238,23 @@ func TestLoadsDataForSecretsTask(t *testing.T) {
assert.NoError(t, err)
err = stateManager.Load()
assert.NoError(t, err)
assert.Equal(t, "state-file", cluster)
assert.Equal(t, "test-statefile", cluster)
assert.EqualValues(t, 0, sequenceNumber)
tasks, err := taskEngine.ListTasks()
assert.NoError(t, err)
assert.Equal(t, 1, len(tasks))
task := tasks[0]
assert.Equal(t, "arn:aws:ecs:us-west-2:1234567890:task/33425c99-5db7-45fb-8244-bc94d00661e4", task.Arn)
assert.Equal(t, "secrets-state", task.Family)
assert.Equal(t, "arn:aws:ecs:us-west-2:1234567890:task/test-statefile/7e1bfc28fe764a789a721710258337ff", task.Arn)
assert.Equal(t, "test-secret-state", task.Family)
assert.Equal(t, 1, len(task.Containers))
container := task.Containers[0]
assert.Equal(t, "container_1", container.Name)
assert.NotNil(t, container.Secrets)
secret := container.Secrets[0]
assert.Equal(t, "ENVIRONMENT_VARIABLE", secret.Type)
assert.Equal(t, "ssm-secret", secret.Name)
assert.Equal(t, "mysecret", secret.Name)
assert.Equal(t, "us-west-2", secret.Region)
assert.Equal(t, "secret-value-from", secret.ValueFrom)
assert.Equal(t, "/ecs/secrets/test", secret.ValueFrom)
assert.Equal(t, "ssm", secret.Provider)
}

Expand Down
6 changes: 3 additions & 3 deletions agent/statemanager/state_manager_windows_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,10 +167,10 @@ func TestStateManagerLoadV13Data(t *testing.T) {
mockFS.EXPECT().ReadAll(dataFile).Return(ioutil.ReadAll(dataFile))
err = manager.Load()
assert.Nil(t, err, "Error loading state")
assert.Equal(t, "test", cluster, "Wrong cluster")
assert.Equal(t, "test-statefile", cluster, "Wrong cluster")
assert.Equal(t, int64(0), sequenceNumber, "v13 should give a sequence number of 0")
assert.Equal(t, "arn:aws:ecs:us-west-2:694464167470:container-instance/5e94f1e5-2177-4440-ab84-196d1a6072da", containerInstanceArn)
assert.Equal(t, "i-04e73559ead350d79", savedInstanceID)
assert.Equal(t, "arn:aws:ecs:us-west-2:1234567890:container-instance/test-statefile/b9c2c229d5ce4f52851f3e9e6d4db894", containerInstanceArn)
assert.Equal(t, "i-1234567890", savedInstanceID)
}

func TestStateManagerSaveCreateFileError(t *testing.T) {
Expand Down
Loading

0 comments on commit c305dc8

Please sign in to comment.