|
|
|
@ -98,7 +98,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) { |
|
|
|
|
url := fmt.Sprintf("%s/api/v1/crates", root) |
|
|
|
|
|
|
|
|
|
t.Run("Index", func(t *testing.T) { |
|
|
|
|
t.Run("Config", func(t *testing.T) { |
|
|
|
|
t.Run("Git/Config", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
content := readGitContent(t, cargo_service.ConfigFileName) |
|
|
|
@ -110,6 +110,20 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) { |
|
|
|
|
assert.Equal(t, url, config.DownloadURL) |
|
|
|
|
assert.Equal(t, root, config.APIURL) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("HTTP/Config", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
req := NewRequest(t, "GET", root+"/"+cargo_service.ConfigFileName) |
|
|
|
|
resp := MakeRequest(t, req, http.StatusOK) |
|
|
|
|
|
|
|
|
|
var config cargo_service.Config |
|
|
|
|
err := json.Unmarshal(resp.Body.Bytes(), &config) |
|
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
|
|
assert.Equal(t, url, config.DownloadURL) |
|
|
|
|
assert.Equal(t, root, config.APIURL) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("Upload", func(t *testing.T) { |
|
|
|
@ -192,40 +206,72 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) { |
|
|
|
|
MakeRequest(t, req, http.StatusConflict) |
|
|
|
|
|
|
|
|
|
t.Run("Index", func(t *testing.T) { |
|
|
|
|
t.Run("Entry", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
content := readGitContent(t, cargo_service.BuildPackagePath(packageName)) |
|
|
|
|
|
|
|
|
|
var entry cargo_service.IndexVersionEntry |
|
|
|
|
err := json.Unmarshal([]byte(content), &entry) |
|
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
|
|
assert.Equal(t, packageName, entry.Name) |
|
|
|
|
assert.Equal(t, packageVersion, entry.Version) |
|
|
|
|
assert.Equal(t, pb.HashSHA256, entry.FileChecksum) |
|
|
|
|
assert.False(t, entry.Yanked) |
|
|
|
|
assert.Len(t, entry.Dependencies, 1) |
|
|
|
|
dep := entry.Dependencies[0] |
|
|
|
|
assert.Equal(t, "dep", dep.Name) |
|
|
|
|
assert.Equal(t, "1.0", dep.Req) |
|
|
|
|
assert.Equal(t, "normal", dep.Kind) |
|
|
|
|
assert.True(t, dep.DefaultFeatures) |
|
|
|
|
assert.Empty(t, dep.Features) |
|
|
|
|
assert.False(t, dep.Optional) |
|
|
|
|
assert.Nil(t, dep.Target) |
|
|
|
|
assert.NotNil(t, dep.Registry) |
|
|
|
|
assert.Equal(t, "https://gitea.io/user/_cargo-index", *dep.Registry) |
|
|
|
|
assert.Nil(t, dep.Package) |
|
|
|
|
t.Run("Git", func(t *testing.T) { |
|
|
|
|
t.Run("Entry", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
content := readGitContent(t, cargo_service.BuildPackagePath(packageName)) |
|
|
|
|
|
|
|
|
|
var entry cargo_service.IndexVersionEntry |
|
|
|
|
err := json.Unmarshal([]byte(content), &entry) |
|
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
|
|
assert.Equal(t, packageName, entry.Name) |
|
|
|
|
assert.Equal(t, packageVersion, entry.Version) |
|
|
|
|
assert.Equal(t, pb.HashSHA256, entry.FileChecksum) |
|
|
|
|
assert.False(t, entry.Yanked) |
|
|
|
|
assert.Len(t, entry.Dependencies, 1) |
|
|
|
|
dep := entry.Dependencies[0] |
|
|
|
|
assert.Equal(t, "dep", dep.Name) |
|
|
|
|
assert.Equal(t, "1.0", dep.Req) |
|
|
|
|
assert.Equal(t, "normal", dep.Kind) |
|
|
|
|
assert.True(t, dep.DefaultFeatures) |
|
|
|
|
assert.Empty(t, dep.Features) |
|
|
|
|
assert.False(t, dep.Optional) |
|
|
|
|
assert.Nil(t, dep.Target) |
|
|
|
|
assert.NotNil(t, dep.Registry) |
|
|
|
|
assert.Equal(t, "https://gitea.io/user/_cargo-index", *dep.Registry) |
|
|
|
|
assert.Nil(t, dep.Package) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("Rebuild", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
err := cargo_service.RebuildIndex(db.DefaultContext, user, user) |
|
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
|
|
_ = readGitContent(t, cargo_service.BuildPackagePath(packageName)) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("Rebuild", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
err := cargo_service.RebuildIndex(db.DefaultContext, user, user) |
|
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
|
|
_ = readGitContent(t, cargo_service.BuildPackagePath(packageName)) |
|
|
|
|
t.Run("HTTP", func(t *testing.T) { |
|
|
|
|
t.Run("Entry", func(t *testing.T) { |
|
|
|
|
defer tests.PrintCurrentTest(t)() |
|
|
|
|
|
|
|
|
|
req := NewRequest(t, "GET", root+"/"+cargo_service.BuildPackagePath(packageName)) |
|
|
|
|
resp := MakeRequest(t, req, http.StatusOK) |
|
|
|
|
|
|
|
|
|
var entry cargo_service.IndexVersionEntry |
|
|
|
|
err := json.Unmarshal(resp.Body.Bytes(), &entry) |
|
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
|
|
assert.Equal(t, packageName, entry.Name) |
|
|
|
|
assert.Equal(t, packageVersion, entry.Version) |
|
|
|
|
assert.Equal(t, pb.HashSHA256, entry.FileChecksum) |
|
|
|
|
assert.False(t, entry.Yanked) |
|
|
|
|
assert.Len(t, entry.Dependencies, 1) |
|
|
|
|
dep := entry.Dependencies[0] |
|
|
|
|
assert.Equal(t, "dep", dep.Name) |
|
|
|
|
assert.Equal(t, "1.0", dep.Req) |
|
|
|
|
assert.Equal(t, "normal", dep.Kind) |
|
|
|
|
assert.True(t, dep.DefaultFeatures) |
|
|
|
|
assert.Empty(t, dep.Features) |
|
|
|
|
assert.False(t, dep.Optional) |
|
|
|
|
assert.Nil(t, dep.Target) |
|
|
|
|
assert.NotNil(t, dep.Registry) |
|
|
|
|
assert.Equal(t, "https://gitea.io/user/_cargo-index", *dep.Registry) |
|
|
|
|
assert.Nil(t, dep.Package) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|