Files
backend/tests/03_putImageAliases_test.go
Yi-Ting Shih 0fc8f1f08c
All checks were successful
Go test / run-go-vet (push) Successful in 5s
Go test / run-go-test (push) Successful in 22s
Go test / cleanup-go-test (push) Successful in 4s
Go test / check-swagger-up-to-date (push) Successful in 9s
Go test / release-image (push) Successful in 3m22s
Fix: broken ci and tests
2025-12-13 02:45:33 +08:00

74 lines
1.7 KiB
Go

package tests
import (
"fmt"
"net/http"
"strconv"
"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("/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)
resp, _ = client.R().
SetQueryParam("aliases",
strconv.FormatInt(alias.Id, 10)).
Get("/api/images")
t.Logf("%+v", resp)
t.Fatal("alias should be deleted")
}
}
})
}