From e45ffc530f482a46de25d28f18b039f296750414 Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Tue, 3 Dec 2024 23:59:28 -0800
Subject: [PATCH] Remove outdated code about fixture generation (#32708)

---
 contrib/fixtures/fixture_generation.go | 80 --------------------------
 models/fixture_generation.go           | 50 ----------------
 models/fixture_test.go                 | 37 ------------
 3 files changed, 167 deletions(-)
 delete mode 100644 contrib/fixtures/fixture_generation.go
 delete mode 100644 models/fixture_generation.go
 delete mode 100644 models/fixture_test.go

diff --git a/contrib/fixtures/fixture_generation.go b/contrib/fixtures/fixture_generation.go
deleted file mode 100644
index 31797cc800..0000000000
--- a/contrib/fixtures/fixture_generation.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2020 The Gitea Authors. All rights reserved.
-// SPDX-License-Identifier: MIT
-
-//nolint:forbidigo
-package main
-
-import (
-	"context"
-	"fmt"
-	"os"
-	"path/filepath"
-
-	"code.gitea.io/gitea/models"
-	"code.gitea.io/gitea/models/unittest"
-)
-
-// To generate derivative fixtures, execute the following from Gitea's repository base dir:
-// go run -tags 'sqlite sqlite_unlock_notify' contrib/fixtures/fixture_generation.go [fixture...]
-
-var (
-	generators = []struct {
-		gen  func(ctx context.Context) (string, error)
-		name string
-	}{
-		{
-			models.GetYamlFixturesAccess, "access",
-		},
-	}
-	fixturesDir string
-)
-
-func main() {
-	pathToGiteaRoot := "."
-	fixturesDir = filepath.Join(pathToGiteaRoot, "models", "fixtures")
-	if err := unittest.CreateTestEngine(unittest.FixturesOptions{
-		Dir: fixturesDir,
-	}); err != nil {
-		fmt.Printf("CreateTestEngine: %+v", err)
-		os.Exit(1)
-	}
-	if err := unittest.PrepareTestDatabase(); err != nil {
-		fmt.Printf("PrepareTestDatabase: %+v\n", err)
-		os.Exit(1)
-	}
-	ctx := context.Background()
-	if len(os.Args) == 0 {
-		for _, r := range os.Args {
-			if err := generate(ctx, r); err != nil {
-				fmt.Printf("generate '%s': %+v\n", r, err)
-				os.Exit(1)
-			}
-		}
-	} else {
-		for _, g := range generators {
-			if err := generate(ctx, g.name); err != nil {
-				fmt.Printf("generate '%s': %+v\n", g.name, err)
-				os.Exit(1)
-			}
-		}
-	}
-}
-
-func generate(ctx context.Context, name string) error {
-	for _, g := range generators {
-		if g.name == name {
-			data, err := g.gen(ctx)
-			if err != nil {
-				return err
-			}
-			path := filepath.Join(fixturesDir, name+".yml")
-			if err := os.WriteFile(path, []byte(data), 0o644); err != nil {
-				return fmt.Errorf("%s: %+v", path, err)
-			}
-			fmt.Printf("%s created.\n", path)
-			return nil
-		}
-	}
-
-	return fmt.Errorf("generator not found")
-}
diff --git a/models/fixture_generation.go b/models/fixture_generation.go
deleted file mode 100644
index 6234caefad..0000000000
--- a/models/fixture_generation.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2020 The Gitea Authors. All rights reserved.
-// SPDX-License-Identifier: MIT
-
-package models
-
-import (
-	"context"
-	"fmt"
-	"strings"
-
-	"code.gitea.io/gitea/models/db"
-	access_model "code.gitea.io/gitea/models/perm/access"
-	repo_model "code.gitea.io/gitea/models/repo"
-)
-
-// GetYamlFixturesAccess returns a string containing the contents
-// for the access table, as recalculated using repo.RecalculateAccesses()
-func GetYamlFixturesAccess(ctx context.Context) (string, error) {
-	repos := make([]*repo_model.Repository, 0, 50)
-	if err := db.GetEngine(ctx).Find(&repos); err != nil {
-		return "", err
-	}
-
-	for _, repo := range repos {
-		repo.MustOwner(ctx)
-		if err := access_model.RecalculateAccesses(ctx, repo); err != nil {
-			return "", err
-		}
-	}
-
-	var b strings.Builder
-
-	accesses := make([]*access_model.Access, 0, 200)
-	if err := db.GetEngine(ctx).OrderBy("user_id, repo_id").Find(&accesses); err != nil {
-		return "", err
-	}
-
-	for i, a := range accesses {
-		fmt.Fprintf(&b, "-\n")
-		fmt.Fprintf(&b, "  id: %d\n", i+1)
-		fmt.Fprintf(&b, "  user_id: %d\n", a.UserID)
-		fmt.Fprintf(&b, "  repo_id: %d\n", a.RepoID)
-		fmt.Fprintf(&b, "  mode: %d\n", a.Mode)
-		if i < len(accesses)-1 {
-			fmt.Fprintf(&b, "\n")
-		}
-	}
-
-	return b.String(), nil
-}
diff --git a/models/fixture_test.go b/models/fixture_test.go
deleted file mode 100644
index de5f412388..0000000000
--- a/models/fixture_test.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2020 The Gitea Authors. All rights reserved.
-// SPDX-License-Identifier: MIT
-
-package models
-
-import (
-	"context"
-	"os"
-	"path/filepath"
-	"testing"
-
-	"code.gitea.io/gitea/models/db"
-	"code.gitea.io/gitea/models/unittest"
-	"code.gitea.io/gitea/modules/util"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestFixtureGeneration(t *testing.T) {
-	assert.NoError(t, unittest.PrepareTestDatabase())
-
-	test := func(ctx context.Context, gen func(ctx context.Context) (string, error), name string) {
-		expected, err := gen(ctx)
-		if !assert.NoError(t, err) {
-			return
-		}
-		p := filepath.Join(unittest.FixturesDir(), name+".yml")
-		bytes, err := os.ReadFile(p)
-		if !assert.NoError(t, err) {
-			return
-		}
-		data := string(util.NormalizeEOL(bytes))
-		assert.EqualValues(t, expected, data, "Differences detected for %s", p)
-	}
-
-	test(db.DefaultContext, GetYamlFixturesAccess, "access")
-}