diff --git a/mock_ssh_test.go b/mock_ssh_test.go index 3261303..a3ad85c 100644 --- a/mock_ssh_test.go +++ b/mock_ssh_test.go @@ -488,7 +488,7 @@ func executeModuleWithMock(e *Executor, mock *MockSSHClient, host string, task * return moduleUFWWithClient(e, mock, args) // Docker - case "community.docker.docker_compose_v2", "ansible.builtin.docker_compose": + case "community.docker.docker_compose_v2", "community.docker.docker_compose", "ansible.builtin.docker_compose": return moduleDockerComposeWithClient(e, mock, args) default: diff --git a/modules.go b/modules.go index 69045a4..d871716 100644 --- a/modules.go +++ b/modules.go @@ -146,6 +146,8 @@ func (e *Executor) executeModule(ctx context.Context, host string, client sshExe return e.moduleAuthorizedKey(ctx, client, args) case "community.docker.docker_compose": return e.moduleDockerCompose(ctx, client, args) + case "community.docker.docker_compose_v2": + return e.moduleDockerCompose(ctx, client, args) default: // For unknown modules, try to execute as shell if it looks like a command diff --git a/modules_adv_test.go b/modules_adv_test.go index 19cb570..702a39f 100644 --- a/modules_adv_test.go +++ b/modules_adv_test.go @@ -1235,3 +1235,22 @@ func TestModulesAdv_ExecuteModuleWithMock_Good_DispatchDockerCompose(t *testing. require.NoError(t, err) assert.True(t, result.Changed) } + +func TestModulesAdv_ExecuteModuleWithMock_Good_DispatchDockerComposeV2(t *testing.T) { + e, mock := newTestExecutorWithMock("host1") + mock.expectCommand(`docker compose up -d`, "Creating\n", "", 0) + + task := &Task{ + Module: "community.docker.docker_compose_v2", + Args: map[string]any{ + "project_src": "/opt/stack", + "state": "present", + }, + } + + result, err := executeModuleWithMock(e, mock, "host1", task) + + require.NoError(t, err) + assert.True(t, result.Changed) + assert.False(t, result.Failed) +}