Fix: image alias put query
All checks were successful
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) Successful in 27s
Go test / cleanup-go-test (push) Successful in 4s
Go test / release-image (push) Successful in 3m34s

This commit is contained in:
2025-12-13 00:56:06 +08:00
parent 44a3bf64c1
commit 968c0c5658
3 changed files with 57 additions and 14 deletions

View File

@@ -184,6 +184,14 @@ func (self *BunDatabase) UpdateAliases(
return err
}
err = tx.NewSelect().
Model(&aliases).
Where("name IN (?)", bun.In(aliasNames)).
Scan(ctx)
if err != nil {
return err
}
var rels []models.AliasImage
for _, alias := range aliases {
rels = append(rels, models.AliasImage{

View File

@@ -11,15 +11,45 @@ type putImageAliasPayload struct {
}
func Test_03_PutImageAliases(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 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("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("Remove alias", func(t *testing.T) {
payload := putImageAliasPayload{
Aliases: []string{"huh", "testalias1"},
}
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")
}
})
}

View File

@@ -7,9 +7,11 @@ import (
)
func Test_07_DeleteAlias(t *testing.T) {
deleteId := aliases[0].Id
resp, err := client.R().
Delete(fmt.Sprintf("http://localhost:8080/api/alias/%d",
aliases[0].Id))
deleteId))
if err != nil || resp.StatusCode() != http.StatusOK {
t.Logf("%+v", resp)
t.Fatal("failed to delete alias")
@@ -23,7 +25,10 @@ func Test_07_DeleteAlias(t *testing.T) {
t.Fatal("failed to get aliases")
}
if len(aliases) > 0 {
t.Fatal("alias not deleted")
for _, alias := range aliases {
if alias.Id == deleteId {
t.Logf("%+v", resp)
t.Fatal("alias not deleted")
}
}
}