test: use T.TempDir to create temporary test directory

The directory created by `T.TempDir` is automatically removed when the
test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
This commit is contained in:
Eng Zer Jun 2022-03-09 22:23:04 +08:00 committed by Ondřej Budai
parent c9a08da29f
commit 00ea3eb285
12 changed files with 104 additions and 392 deletions

View file

@ -4,10 +4,8 @@ import (
"context"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
"os"
"testing"
"time"
@ -28,10 +26,7 @@ type jobResult struct {
}
func TestKojiCompose(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
kojiServer, workerServer, _, cancel := newV2Server(t, dir, []string{""}, false)
kojiServer, workerServer, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
handler := kojiServer.Handler("/api/image-builder-composer/v2")
workerHandler := workerServer.Handler()
defer cancel()
@ -461,10 +456,7 @@ func TestKojiCompose(t *testing.T) {
}
func TestKojiRequest(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
server, _, _, cancel := newV2Server(t, dir, []string{""}, false)
server, _, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
handler := server.Handler("/api/image-builder-composer/v2")
defer cancel()
@ -476,7 +468,7 @@ func TestKojiRequest(t *testing.T) {
resp := rec.Result()
var status api.Status
err = json.NewDecoder(resp.Body).Decode(&status)
err := json.NewDecoder(resp.Body).Decode(&status)
require.NoError(t, err)
require.Equal(t, http.StatusNotFound, resp.StatusCode)
@ -493,10 +485,7 @@ func TestKojiRequest(t *testing.T) {
}
func TestKojiJobTypeValidation(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
server, workers, _, cancel := newV2Server(t, dir, []string{""}, false)
server, workers, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
handler := server.Handler("/api/image-builder-composer/v2")
defer cancel()

View file

@ -4,9 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"os"
"testing"
"time"
@ -191,13 +189,9 @@ func runNextJob(t *testing.T, jobs []uuid.UUID, workerHandler http.Handler, orgI
// that all jobs are assigned to the correct channel, therefore we need also
// this test.
func TestMultitenancy(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
// Passing an empty list as depsolving channels, we want to do depsolves
// ourselvess
apiServer, workerServer, q, cancel := newV2Server(t, dir, []string{}, true)
apiServer, workerServer, q, cancel := newV2Server(t, t.TempDir(), []string{}, true)
handler := apiServer.Handler("/api/image-builder-composer/v2")
defer cancel()

View file

@ -69,10 +69,7 @@ func newV2Server(t *testing.T, dir string, depsolveChannels []string, enableJWT
}
func TestUnknownRoute(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, _, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, _, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "GET", "/api/image-builder-composer/v2/badroute", ``, http.StatusNotFound, `
@ -86,10 +83,7 @@ func TestUnknownRoute(t *testing.T) {
}
func TestGetError(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, _, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, _, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "GET", "/api/image-builder-composer/v2/errors/4", ``, http.StatusOK, `
@ -112,10 +106,7 @@ func TestGetError(t *testing.T) {
}
func TestGetErrorList(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, _, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, _, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "GET", "/api/image-builder-composer/v2/errors?page=3&size=1", ``, http.StatusOK, `
@ -134,6 +125,7 @@ func TestGetErrorList(t *testing.T) {
}
func TestCompose(t *testing.T) {
// Test is flaky if we use t.TempDir()
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
@ -555,10 +547,7 @@ func TestCompose(t *testing.T) {
}
func TestComposeStatusSuccess(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, wrksrv, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, wrksrv, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "POST", "/api/image-builder-composer/v2/compose", fmt.Sprintf(`
@ -628,10 +617,7 @@ func TestComposeStatusSuccess(t *testing.T) {
}
func TestComposeStatusFailure(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, wrksrv, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, wrksrv, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "POST", "/api/image-builder-composer/v2/compose", fmt.Sprintf(`
@ -687,10 +673,7 @@ func TestComposeStatusFailure(t *testing.T) {
}
func TestComposeLegacyError(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, wrksrv, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, wrksrv, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "POST", "/api/image-builder-composer/v2/compose", fmt.Sprintf(`
@ -749,10 +732,7 @@ func TestComposeLegacyError(t *testing.T) {
}
func TestComposeJobError(t *testing.T) {
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
srv, wrksrv, _, cancel := newV2Server(t, dir, []string{""}, false)
srv, wrksrv, _, cancel := newV2Server(t, t.TempDir(), []string{""}, false)
defer cancel()
test.TestRoute(t, srv.Handler("/api/image-builder-composer/v2"), false, "POST", "/api/image-builder-composer/v2/compose", fmt.Sprintf(`
@ -814,6 +794,7 @@ func TestComposeJobError(t *testing.T) {
}
func TestComposeCustomizations(t *testing.T) {
// Test is flaky if we use t.TempDir()
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)
@ -863,6 +844,7 @@ func TestComposeCustomizations(t *testing.T) {
}
func TestImageTypes(t *testing.T) {
// Test is flaky if we use t.TempDir()
dir, err := ioutil.TempDir("", "osbuild-composer-test-api-v2-")
require.NoError(t, err)
defer os.RemoveAll(dir)