mirror of
https://github.com/project-zot/zot.git
synced 2026-06-15 11:37:56 +08:00
2402296e9a
* fix: migrate to Go module v2 for proper semantic versioning This change updates the module path from 'zotregistry.dev/zot' to 'zotregistry.dev/zot/v2' to comply with Go's semantic versioning rules. According to Go's module versioning requirements, major version v2+ must include the major version in the module path. The current module path 'zotregistry.dev/zot' only supports v0.x.x and v1.x.x versions, making existing v2.x.x tags (like v2.1.8) unusable. Changes: - Updated go.mod module path to zotregistry.dev/zot/v2 - Updated all internal import paths across 280+ Go source files - Updated configuration files (golangcilint.yaml, gqlgen.yml) - Updated README.md Go reference badge This fix enables proper use of existing v2.x.x Git tags and allows external packages to import zot v2+ versions without compatibility errors. Resolves: Go module import compatibility for v2+ versions Fixes: #3071 Signed-off-by: Luca Muscariello <muscariello@ieee.org> * fix: regenerate GraphQL files with updated v2 import paths The gqlgen tool needs to regenerate the GraphQL schema files after the module path change to use the new v2 imports. Signed-off-by: Luca Muscariello <muscariello@ieee.org> --------- Signed-off-by: Luca Muscariello <muscariello@ieee.org>
60 lines
2.4 KiB
Go
60 lines
2.4 KiB
Go
//go:build sync && scrub && metrics && search && lint && userprefs && mgmt && imagetrust && ui
|
|
// +build sync,scrub,metrics,search,lint,userprefs,mgmt,imagetrust,ui
|
|
|
|
package api_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
|
|
"zotregistry.dev/zot/v2/pkg/api"
|
|
)
|
|
|
|
func TestGetLocalMemberClusterSocket(t *testing.T) {
|
|
Convey("Should return an error if a domain name doesn't exist", t, func() {
|
|
localSockets := []string{"127.0.0.1:9000", "172.16.0.1:9000"}
|
|
members := []string{"127.0.0.1:9001", "thisdoesnotexist:9000", "127.0.0.1:9000"}
|
|
index, socket, err := api.GetLocalMemberClusterSocket(members, localSockets)
|
|
So(err.Error(), ShouldContainSubstring, "lookup thisdoesnotexist")
|
|
So(index, ShouldEqual, -1)
|
|
So(socket, ShouldEqual, "")
|
|
})
|
|
|
|
Convey("Should return an error if a local socket is missing a port", t, func() {
|
|
localSockets := []string{"127.0.0.1", "172.16.0.1:9000"}
|
|
members := []string{"127.0.0.1:9001", "www.github.com:443", "127.0.0.1:9000"}
|
|
index, socket, err := api.GetLocalMemberClusterSocket(members, localSockets)
|
|
So(err.Error(), ShouldEqual, "address 127.0.0.1: missing port in address")
|
|
So(index, ShouldEqual, -1)
|
|
So(socket, ShouldEqual, "")
|
|
})
|
|
|
|
Convey("Should return an error if a member socket is missing a port", t, func() {
|
|
localSockets := []string{"127.0.0.1:9000", "172.16.0.1:9000"}
|
|
members := []string{"127.0.0.1:9001", "www.github.com", "127.0.0.1:9000"}
|
|
index, socket, err := api.GetLocalMemberClusterSocket(members, localSockets)
|
|
So(err.Error(), ShouldEqual, "address www.github.com: missing port in address")
|
|
So(index, ShouldEqual, -1)
|
|
So(socket, ShouldEqual, "")
|
|
})
|
|
|
|
Convey("Should return the right socket when a local socket is part of members", t, func() {
|
|
localSockets := []string{"127.0.0.1:9000", "172.16.0.1:9000"}
|
|
members := []string{"127.0.0.1:9001", "www.github.com:443", "127.0.0.1:9000"}
|
|
index, socket, err := api.GetLocalMemberClusterSocket(members, localSockets)
|
|
So(err, ShouldBeNil)
|
|
So(index, ShouldEqual, 2)
|
|
So(socket, ShouldEqual, "127.0.0.1:9000")
|
|
})
|
|
|
|
Convey("Should return empty when no local socket is part of members", t, func() {
|
|
localSockets := []string{"127.0.0.1:9000", "172.16.0.1:9000"}
|
|
members := []string{"127.0.0.1:9002", "127.0.0.1:9001", "www.github.com:443"}
|
|
index, socket, err := api.GetLocalMemberClusterSocket(members, localSockets)
|
|
So(err, ShouldBeNil)
|
|
So(index, ShouldEqual, -1)
|
|
So(socket, ShouldBeEmpty)
|
|
})
|
|
}
|