Files
backend/tests/03_putImageAliases_test.go
Yi-Ting Shih fce9fe9b65
Some checks failed
Go test / run-go-vet (push) Successful in 5s
Go test / check-swagger-up-to-date (push) Successful in 8s
Go test / run-go-test (push) Failing after 29s
Go test / release-image (push) Has been skipped
Go test / cleanup-go-test (push) Successful in 4s
Debug: failed workflow
2025-12-13 02:01:17 +08:00

69 lines
1.6 KiB
Go

package tests
import (
"fmt"
"net/http"
"testing"
)
type putImageAliasPayload struct {
Aliases []string `json:"aliases"`
}
func Test_03_PutImageAliases(t *testing.T) {
t.Run("Put one alias", func(t *testing.T) {
payload := putImageAliasPayload{
Aliases: []string{"huh"},
}
resp, err := client.R().
SetBody(payload).
Put(fmt.Sprintf("http://localhost:8080/api/image/%d/aliases",
image.Id))
if err != nil || resp.StatusCode() != http.StatusOK {
t.Logf("%+v", resp)
t.Fatal("failed to put image alias")
}
})
t.Run("Put many alias", func(t *testing.T) {
payload := putImageAliasPayload{
Aliases: []string{"huh", "testalias1", "testalias2"},
}
resp, err := client.R().
SetBody(payload).
Put(fmt.Sprintf("/api/image/%d/aliases", image.Id))
if err != nil || resp.StatusCode() != http.StatusOK {
t.Logf("%+v", resp)
t.Fatal("failed to put image alias")
}
})
t.Run("Remove alias", func(t *testing.T) {
payload := putImageAliasPayload{
Aliases: []string{"huh", "testalias1"},
}
resp, err := client.R().
SetBody(payload).
Put(fmt.Sprintf("/api/image/%d/aliases", image.Id))
if err != nil || resp.StatusCode() != http.StatusOK {
t.Logf("%+v", resp)
t.Fatal("failed to put image alias")
}
resp, err = client.R().
SetResult(&aliases).
Get("/api/aliases")
if err != nil || resp.StatusCode() != http.StatusOK {
t.Logf("%+v", resp)
t.Fatal("failed to get aliases")
}
for _, alias := range aliases {
if alias.Name == "testalias2" {
t.Logf("%+v", resp)
t.Fatal("alias should be deleted")
}
}
})
}