diff --git a/types/model/name_test.go b/types/model/name_test.go index 997513b8..47263c20 100644 --- a/types/model/name_test.go +++ b/types/model/name_test.go @@ -1,6 +1,7 @@ package model import ( + "path/filepath" "reflect" "runtime" "testing" @@ -15,6 +16,7 @@ func TestParseNameParts(t *testing.T) { cases := []struct { in string want Name + wantFilepath string wantValidDigest bool }{ { @@ -25,6 +27,7 @@ func TestParseNameParts(t *testing.T) { Model: "model", Tag: "tag", }, + wantFilepath: filepath.Join("host:port", "namespace", "model", "tag"), }, { in: "host/namespace/model:tag", @@ -34,6 +37,7 @@ func TestParseNameParts(t *testing.T) { Model: "model", Tag: "tag", }, + wantFilepath: filepath.Join("host", "namespace", "model", "tag"), }, { in: "host:port/namespace/model:tag", @@ -43,6 +47,7 @@ func TestParseNameParts(t *testing.T) { Model: "model", Tag: "tag", }, + wantFilepath: filepath.Join("host:port", "namespace", "model", "tag"), }, { in: "host/namespace/model", @@ -51,6 +56,7 @@ func TestParseNameParts(t *testing.T) { Namespace: "namespace", Model: "model", }, + wantFilepath: filepath.Join("host", "namespace", "model", "latest"), }, { in: "host:port/namespace/model", @@ -59,6 +65,7 @@ func TestParseNameParts(t *testing.T) { Namespace: "namespace", Model: "model", }, + wantFilepath: filepath.Join("host:port", "namespace", "model", "latest"), }, { in: "namespace/model", @@ -66,12 +73,14 @@ func TestParseNameParts(t *testing.T) { Namespace: "namespace", Model: "model", }, + wantFilepath: filepath.Join("registry.ollama.ai", "namespace", "model", "latest"), }, { in: "model", want: Name{ Model: "model", }, + wantFilepath: filepath.Join("registry.ollama.ai", "library", "model", "latest"), }, { in: "h/nn/mm:t", @@ -81,6 +90,7 @@ func TestParseNameParts(t *testing.T) { Model: "mm", Tag: "t", }, + wantFilepath: filepath.Join("h", "nn", "mm", "t"), }, { in: part80 + "/" + part80 + "/" + part80 + ":" + part80, @@ -90,6 +100,7 @@ func TestParseNameParts(t *testing.T) { Model: part80, Tag: part80, }, + wantFilepath: filepath.Join(part80, part80, part80, part80), }, { in: part350 + "/" + part80 + "/" + part80 + ":" + part80, @@ -99,6 +110,7 @@ func TestParseNameParts(t *testing.T) { Model: part80, Tag: part80, }, + wantFilepath: filepath.Join(part350, part80, part80, part80), }, { in: "@digest", @@ -123,6 +135,11 @@ func TestParseNameParts(t *testing.T) { if !reflect.DeepEqual(got, tt.want) { t.Errorf("parseName(%q) = %v; want %v", tt.in, got, tt.want) } + + got = ParseName(tt.in) + if tt.wantFilepath != "" && got.Filepath() != tt.wantFilepath { + t.Errorf("parseName(%q).Filepath() = %q; want %q", tt.in, got.Filepath(), tt.wantFilepath) + } }) } }