Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Esti: Additional improvements #8718

Merged
merged 1 commit into from
Feb 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions esti/auth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,8 @@ func TestCreateRepo_Unauthorized(t *testing.T) {
t.Skip("Unsupported in basic auth configuration")
}

name := generateUniqueRepositoryName()
storageNamespace := generateUniqueStorageNamespace(name)
name := GenerateUniqueRepositoryName()
storageNamespace := GenerateUniqueStorageNamespace(name)
name = MakeRepositoryName(name)
groups := []string{"Readers", "Viewers"}

Expand Down
22 changes: 11 additions & 11 deletions esti/commit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ func TestCommitSingle(t *testing.T) {
Message: "singleCommit",
})
require.NoError(t, err, "failed to commit changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit changes repo %s branch %s", repo, mainBranch)

getObjResp, err := client.GetObjectWithResponse(ctx, repo, mainBranch, &apigen.GetObjectParams{Path: objPath})
require.NoError(t, err, "failed to get object")
require.NoErrorf(t, verifyResponse(getObjResp.HTTPResponse, getObjResp.Body),
require.NoErrorf(t, VerifyResponse(getObjResp.HTTPResponse, getObjResp.Body),
"failed to get object repo %s branch %s path %s", repo, mainBranch, objPath)

body := string(getObjResp.Body)
Expand Down Expand Up @@ -98,7 +98,7 @@ func TestCommitInMixedOrder(t *testing.T) {
Message: "mixedOrderCommit1",
})
require.NoError(t, err, "failed to commit changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit changes repo %s branch %s", repo, mainBranch)

names2 := genNames(size, "run1/foo")
Expand Down Expand Up @@ -127,7 +127,7 @@ func TestCommitInMixedOrder(t *testing.T) {
Message: "mixedOrderCommit2",
})
require.NoError(t, err, "failed to commit second set of changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit second set of changes repo %s branch %s", repo, mainBranch)
}

Expand All @@ -143,7 +143,7 @@ func TestCommitWithTombstone(t *testing.T) {
Message: "First commit",
})
require.NoError(t, err, "failed to commit changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit changes repo %s branch %s", repo, mainBranch)

tombstoneObjPath := "obja.txt"
Expand All @@ -160,14 +160,14 @@ func TestCommitWithTombstone(t *testing.T) {
Message: "Commit with tombstone",
})
require.NoError(t, err, "failed to commit changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit changes repo %s branch %s", repo, mainBranch)
}

func TestCommitReadOnlyRepo(t *testing.T) {
ctx := context.Background()
name := strings.ToLower(t.Name())
storageNamespace := generateUniqueStorageNamespace(name)
storageNamespace := GenerateUniqueStorageNamespace(name)
repoName := MakeRepositoryName(name)
resp, err := client.CreateRepositoryWithResponse(ctx, &apigen.CreateRepositoryParams{}, apigen.CreateRepositoryJSONRequestBody{
DefaultBranch: apiutil.Ptr(mainBranch),
Expand All @@ -176,7 +176,7 @@ func TestCommitReadOnlyRepo(t *testing.T) {
ReadOnly: swag.Bool(true),
})
require.NoErrorf(t, err, "failed to create repository '%s', storage '%s'", name, storageNamespace)
require.NoErrorf(t, verifyResponse(resp.HTTPResponse, resp.Body),
require.NoErrorf(t, VerifyResponse(resp.HTTPResponse, resp.Body),
"create repository '%s', storage '%s'", name, storageNamespace)
defer tearDownTest(repoName)

Expand All @@ -202,20 +202,20 @@ func TestCommitReadOnlyRepo(t *testing.T) {
Force: swag.Bool(true),
}, w.FormDataContentType(), &b)
require.NoError(t, err, "failed to upload file", repoName, mainBranch, objPath)
err = verifyResponse(uploadResp.HTTPResponse, uploadResp.Body)
err = VerifyResponse(uploadResp.HTTPResponse, uploadResp.Body)
require.NoError(t, err, "failed to upload file", repoName, mainBranch, objPath)

commitResp, err = client.CommitWithResponse(ctx, repoName, mainBranch, &apigen.CommitParams{}, apigen.CommitJSONRequestBody{
Message: "singleCommit",
Force: swag.Bool(true),
})
require.NoError(t, err, "failed to commit changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit changes repo %s branch %s", repoName, mainBranch)

getObjResp, err := client.GetObjectWithResponse(ctx, repoName, mainBranch, &apigen.GetObjectParams{Path: objPath})
require.NoError(t, err, "failed to get object")
require.NoErrorf(t, verifyResponse(getObjResp.HTTPResponse, getObjResp.Body),
require.NoErrorf(t, VerifyResponse(getObjResp.HTTPResponse, getObjResp.Body),
"failed to get object repo %s branch %s path %s", repoName, mainBranch, objPath)

body := string(getObjResp.Body)
Expand Down
4 changes: 2 additions & 2 deletions esti/copy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ func TestCopyObject(t *testing.T) {

t.Run("read-only repository", func(t *testing.T) {
name := strings.ToLower(t.Name())
storageNamespace := generateUniqueStorageNamespace(name)
storageNamespace := GenerateUniqueStorageNamespace(name)
repoName := MakeRepositoryName(name)
resp, err := client.CreateRepositoryWithResponse(ctx, &apigen.CreateRepositoryParams{}, apigen.CreateRepositoryJSONRequestBody{
DefaultBranch: apiutil.Ptr(mainBranch),
Expand All @@ -139,7 +139,7 @@ func TestCopyObject(t *testing.T) {
ReadOnly: swag.Bool(true),
})
require.NoErrorf(t, err, "failed to create repository '%s', storage '%s'", name, storageNamespace)
require.NoErrorf(t, verifyResponse(resp.HTTPResponse, resp.Body),
require.NoErrorf(t, VerifyResponse(resp.HTTPResponse, resp.Body),
"create repository '%s', storage '%s'", name, storageNamespace)
defer tearDownTest(repoName)

Expand Down
6 changes: 3 additions & 3 deletions esti/delete_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func TestDeleteCommitted(t *testing.T) {
func TestDeleteObjectsReadOnlyRepository(t *testing.T) {
ctx := context.Background()
name := strings.ToLower(t.Name())
storageNamespace := generateUniqueStorageNamespace(name)
storageNamespace := GenerateUniqueStorageNamespace(name)
repoName := MakeRepositoryName(name)
resp, err := client.CreateRepositoryWithResponse(ctx, &apigen.CreateRepositoryParams{}, apigen.CreateRepositoryJSONRequestBody{
DefaultBranch: apiutil.Ptr(mainBranch),
Expand All @@ -86,7 +86,7 @@ func TestDeleteObjectsReadOnlyRepository(t *testing.T) {
ReadOnly: swag.Bool(true),
})
require.NoErrorf(t, err, "failed to create repository '%s', storage '%s'", name, storageNamespace)
require.NoErrorf(t, verifyResponse(resp.HTTPResponse, resp.Body),
require.NoErrorf(t, VerifyResponse(resp.HTTPResponse, resp.Body),
"create repository '%s', storage '%s'", name, storageNamespace)
defer tearDownTest(repoName)

Expand All @@ -105,7 +105,7 @@ func TestDeleteObjectsReadOnlyRepository(t *testing.T) {
Force: swag.Bool(true),
}, w.FormDataContentType(), &b)
require.NoError(t, err, "failed to upload file", repoName, mainBranch, objPath)
err = verifyResponse(uploadResp.HTTPResponse, uploadResp.Body)
err = VerifyResponse(uploadResp.HTTPResponse, uploadResp.Body)
require.NoError(t, err, "failed to upload file", repoName, mainBranch, objPath)

deleteResp, err := client.DeleteObjectWithResponse(ctx, repoName, mainBranch, &apigen.DeleteObjectParams{Path: objPath})
Expand Down
22 changes: 11 additions & 11 deletions esti/esti_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -257,9 +257,9 @@ func skipOnSchemaMismatch(t *testing.T, rawURL string) {
}
}

// verifyResponse returns an error based on failed if resp failed to perform action. It uses
// VerifyResponse returns an error based on failed if resp failed to perform action. It uses
// body in errors.
func verifyResponse(resp *http.Response, body []byte) error {
func VerifyResponse(resp *http.Response, body []byte) error {
if resp.StatusCode >= minHTTPErrorStatusCode {
return fmt.Errorf("%w: got %d %s: %s", errNotVerified, resp.StatusCode, resp.Status, string(body))
}
Expand Down Expand Up @@ -292,29 +292,29 @@ func createRepositoryForTest(ctx context.Context, t testing.TB) string {
}

func createRepositoryByName(ctx context.Context, t testing.TB, name string) string {
storageNamespace := generateUniqueStorageNamespace(name)
storageNamespace := GenerateUniqueStorageNamespace(name)
name = MakeRepositoryName(name)
createRepository(ctx, t, name, storageNamespace, false)
return name
}

func createReadOnlyRepositoryByName(ctx context.Context, t testing.TB, name string) string {
storageNamespace := generateUniqueStorageNamespace(name)
storageNamespace := GenerateUniqueStorageNamespace(name)
name = MakeRepositoryName(name)
createRepository(ctx, t, name, storageNamespace, true)
return name
}

func createRepositoryUnique(ctx context.Context, t testing.TB) string {
name := generateUniqueRepositoryName()
name := GenerateUniqueRepositoryName()
return createRepositoryByName(ctx, t, name)
}

func generateUniqueRepositoryName() string {
func GenerateUniqueRepositoryName() string {
return "repo-" + xid.New().String()
}

func generateUniqueStorageNamespace(repoName string) string {
func GenerateUniqueStorageNamespace(repoName string) string {
ns := viper.GetString("storage_namespace")
if !strings.HasSuffix(ns, "/") {
ns += "/"
Expand All @@ -335,7 +335,7 @@ func createRepository(ctx context.Context, t testing.TB, name string, repoStorag
ReadOnly: &isReadOnly,
})
require.NoErrorf(t, err, "failed to create repository '%s', storage '%s'", name, repoStorage)
require.NoErrorf(t, verifyResponse(resp.HTTPResponse, resp.Body),
require.NoErrorf(t, VerifyResponse(resp.HTTPResponse, resp.Body),
"create repository '%s', storage '%s'", name, repoStorage)
}

Expand Down Expand Up @@ -392,7 +392,7 @@ func uploadFileAndReport(ctx context.Context, repo, branch, objPath, objContent
if err != nil {
return "", err
}
if err := verifyResponse(resp.HTTPResponse, resp.Body); err != nil {
if err := VerifyResponse(resp.HTTPResponse, resp.Body); err != nil {
return "", err
}
return resp.JSON201.Checksum, nil
Expand Down Expand Up @@ -494,7 +494,7 @@ func listRepositoryObjects(ctx context.Context, t *testing.T, repository string,
Amount: apiutil.Ptr(apigen.PaginationAmount(amount)),
})
require.NoError(t, err, "listing objects")
require.NoErrorf(t, verifyResponse(resp.HTTPResponse, resp.Body),
require.NoErrorf(t, VerifyResponse(resp.HTTPResponse, resp.Body),
"failed to list repo %s ref %s after %s amount %d", repository, ref, after, amount)

entries = append(entries, resp.JSON200.Results...)
Expand Down Expand Up @@ -525,7 +525,7 @@ func listRepositories(t *testing.T, ctx context.Context) []apigen.Repository {
Amount: apiutil.Ptr(apigen.PaginationAmount(repoPerPage)),
})
require.NoError(t, err, "list repositories")
require.NoErrorf(t, verifyResponse(resp.HTTPResponse, resp.Body),
require.NoErrorf(t, VerifyResponse(resp.HTTPResponse, resp.Body),
"failed to list repositories after %s amount %d", after, repoPerPage)
require.Equal(t, http.StatusOK, resp.StatusCode())
payload := resp.JSON200
Expand Down
2 changes: 1 addition & 1 deletion esti/identity_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func TestIdentity(t *testing.T) {
Message: "commit on branch1",
})
require.NoError(t, err, "failed to commit changes")
require.NoErrorf(t, verifyResponse(commitResp.HTTPResponse, commitResp.Body),
require.NoErrorf(t, VerifyResponse(commitResp.HTTPResponse, commitResp.Body),
"failed to commit changes repo %s branch %s", repo, mainBranch)

// upload the same content again to a different branch
Expand Down
12 changes: 6 additions & 6 deletions esti/lakectl_diff_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ var filesForDiffTest = map[string]string{
}

func TestLakectlDiffAddedFiles(t *testing.T) {
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)

createRepo(t, repoName, storage)
createBranch(t, repoName, storage, testBranch)
Expand All @@ -35,8 +35,8 @@ func TestLakectlDiffAddedFiles(t *testing.T) {
}

func TestLakectlDiffDeletedFiles(t *testing.T) {
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)

createRepo(t, repoName, storage)
uploadFiles(t, repoName, mainBranch, filesForDiffTest)
Expand All @@ -54,8 +54,8 @@ func TestLakectlDiffDeletedFiles(t *testing.T) {
}

func TestLakectlDiffPrefix(t *testing.T) {
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)

createRepo(t, repoName, storage)
createBranch(t, repoName, storage, testBranch)
Expand Down
40 changes: 20 additions & 20 deletions esti/lakectl_local_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ func TestLakectlLocal_init(t *testing.T) {
require.NoError(t, fd.Close())
dataDir, err := os.MkdirTemp(tmpDir, "")
require.NoError(t, err)
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down Expand Up @@ -156,8 +156,8 @@ func TestLakectlLocal_clone(t *testing.T) {
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
require.NoError(t, fd.Close())
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down Expand Up @@ -263,8 +263,8 @@ func TestLakectlLocal_posix_permissions(t *testing.T) {
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
require.NoError(t, fd.Close())
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down Expand Up @@ -396,8 +396,8 @@ func TestLakectlLocal_pull(t *testing.T) {
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
require.NoError(t, fd.Close())
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"LOCAL_DIR": tmpDir,
"REPO": repoName,
Expand Down Expand Up @@ -488,8 +488,8 @@ func TestLakectlLocal_pull(t *testing.T) {
}

func TestLakectlLocal_commitProtectedBranch(t *testing.T) {
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
tmpDir := t.TempDir()
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
Expand Down Expand Up @@ -523,8 +523,8 @@ func TestLakectlLocal_commitProtectedBranch(t *testing.T) {
}

func TestLakectlLocal_RmCommitProtectedBranch(t *testing.T) {
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
tmpDir := t.TempDir()
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
Expand Down Expand Up @@ -566,8 +566,8 @@ func TestLakectlLocal_commit(t *testing.T) {
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
require.NoError(t, fd.Close())
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down Expand Up @@ -675,8 +675,8 @@ func TestLakectlLocal_commit_symlink(t *testing.T) {
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
require.NoError(t, fd.Close())
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down Expand Up @@ -751,8 +751,8 @@ func TestLakectlLocal_commit_remote_uncommitted(t *testing.T) {
fd, err := os.CreateTemp(tmpDir, "")
require.NoError(t, err)
require.NoError(t, fd.Close())
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down Expand Up @@ -885,8 +885,8 @@ func TestLakectlLocal_commit_remote_uncommitted(t *testing.T) {

func TestLakectlLocal_interrupted(t *testing.T) {
tmpDir := t.TempDir()
repoName := generateUniqueRepositoryName()
storage := generateUniqueStorageNamespace(repoName)
repoName := GenerateUniqueRepositoryName()
storage := GenerateUniqueStorageNamespace(repoName)
vars := map[string]string{
"REPO": repoName,
"STORAGE": storage,
Expand Down
Loading
Loading