diff --git a/internal/action/destroy_test.go b/internal/action/destroy_test.go index 8427eb85..751008ad 100644 --- a/internal/action/destroy_test.go +++ b/internal/action/destroy_test.go @@ -28,6 +28,18 @@ func TestDestroy(t *testing.T) { Args: []string{"delete", "notpermanent"}, }, }, + { + name: "can destroy a machine permanently", + args: args{ + name: "ispermanent", + force: true, + }, + want: &Action{ + Type: "delete", + UseSyscall: false, + Args: []string{"delete", "ispermanent", "-p"}, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/internal/action/docker_test.go b/internal/action/docker_test.go index a5b355e1..a20cab36 100644 --- a/internal/action/docker_test.go +++ b/internal/action/docker_test.go @@ -33,6 +33,32 @@ func TestCreateDatabaseContainer(t *testing.T) { }, wantErr: false, }, + { + name: "create postgres 11.7", + args: args{ + name: "postgresmachine", + engine: "postgres", + version: "11.7", + port: "5432", + }, + want: &Action{ + Type: "exec", + UseSyscall: false, + Args: []string{"exec", "postgresmachine", "--", "docker", "run", "-v", "postgres_11.7_5432:/var/lib/postgresql/data", "--name", "postgres_11.7_5432", "-d", "--restart=always", "-p", "5432:5432", "-e", "POSTGRES_PASSWORD=nitro", "-e", "POSTGRES_USER=nitro", "-e", "POSTGRES_DB=nitro", "postgres:11.7"}, + }, + wantErr: false, + }, + { + name: "validation fails", + args: args{ + name: "postgresmachine", + engine: "postgres", + version: "110", + port: "5432", + }, + want: nil, + wantErr: true, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { @@ -76,6 +102,17 @@ func TestCreateDatabaseVolume(t *testing.T) { }, wantErr: false, }, + { + name: "validation fails", + args: args{ + name: "postgresmachine", + engine: "postgres", + version: "110", + port: "5432", + }, + want: nil, + wantErr: true, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {