mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
2978 files. The fork is 2026-07-15 (rebrand: gitea.dev -> github.com/hanzoai/git), so 2026 is the year, and "Copyright 2026 Hanzo AI, Inc." was already the form used by the handful of files that had ours. Shape is now: // Copyright 2026 Hanzo AI, Inc. All rights reserved. // Copyright 2015 The Gogs Authors. All rights reserved. // Copyright 2019 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT Ours on top, theirs retained verbatim. Retained because MIT requires it, and separately because they are true — those authors did write that code. Not renamed to "The Git Authors": Git is a different project under a different license, and putting its name here would attribute this code to people who have nothing to do with it. Adding our line is the fix; overwriting theirs would have been both a licence violation and a false statement. gofmt still reports import-order drift in some of these files. It predates this change (verified against a stash) and is left alone rather than burying a one-line-per-file legal change under 3000 files of unrelated reordering. Build clean. Co-authored-by: Hanzo Dev <[email protected]>
66 lines
2.4 KiB
Go
66 lines
2.4 KiB
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// Copyright 2025 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package v1_25
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hanzoai/git/models/migrations/migrationtest"
|
|
"github.com/hanzoai/git/modules/setting"
|
|
"github.com/hanzoai/git/modules/timeutil"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func Test_UseLongTextInSomeColumnsAndFixBugs(t *testing.T) {
|
|
if !setting.Database.Type.IsMySQL() {
|
|
t.Skip("Only MySQL needs to change from TEXT to LONGTEXT")
|
|
}
|
|
|
|
type ReviewState struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
UserID int64 `xorm:"NOT NULL UNIQUE(pull_commit_user)"`
|
|
PullID int64 `xorm:"NOT NULL INDEX UNIQUE(pull_commit_user) DEFAULT 0"` // Which PR was the review on?
|
|
CommitSHA string `xorm:"NOT NULL VARCHAR(64) UNIQUE(pull_commit_user)"` // Which commit was the head commit for the review?
|
|
UpdatedFiles map[string]int `xorm:"NOT NULL TEXT JSON"` // Stores for each of the changed files of a PR whether they have been viewed, changed since last viewed, or not viewed
|
|
UpdatedUnix timeutil.TimeStamp `xorm:"updated"` // Is an accurate indicator of the order of commits as we do not expect it to be possible to make reviews on previous commits
|
|
}
|
|
|
|
type PackageProperty struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
RefType int `xorm:"INDEX NOT NULL"`
|
|
RefID int64 `xorm:"INDEX NOT NULL"`
|
|
Name string `xorm:"INDEX NOT NULL"`
|
|
Value string `xorm:"TEXT NOT NULL"`
|
|
}
|
|
|
|
type Notice struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
Type int
|
|
Description string `xorm:"TEXT"`
|
|
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
|
|
}
|
|
|
|
// Prepare and load the testing database
|
|
x, deferrable := migrationtest.PrepareTestEnv(t, 0, new(ReviewState), new(PackageProperty), new(Notice))
|
|
defer deferrable()
|
|
|
|
require.NoError(t, UseLongTextInSomeColumnsAndFixBugs(x))
|
|
|
|
tables := migrationtest.LoadTableSchemasMap(t, x)
|
|
table := tables["review_state"]
|
|
column := table.GetColumn("updated_files")
|
|
assert.Equal(t, "LONGTEXT", column.SQLType.Name)
|
|
|
|
table = tables["package_property"]
|
|
column = table.GetColumn("value")
|
|
assert.Equal(t, "LONGTEXT", column.SQLType.Name)
|
|
|
|
table = tables["notice"]
|
|
column = table.GetColumn("description")
|
|
assert.Equal(t, "LONGTEXT", column.SQLType.Name)
|
|
}
|