1
0
Fork 0
forked from forgejo/forgejo

Create Proper Migration Tests (#15116)

* Create Proper Migration tests

Unfortunately our testing regime has so far meant that migrations do not
get proper testing.

This PR begins the process of creating migration tests for this.

* Add test for v176

* fix mssql drop db

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
zeripath 2021-03-24 18:27:22 +00:00 committed by GitHub
parent 750ac52db2
commit 39ef6f83d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1038 additions and 18 deletions

View file

@ -0,0 +1,29 @@
# Issue_Label 1 should not be deleted
-
id: 1
issue_id: 1
label_id: 1
# Issue_label 2 should be deleted
-
id: 2
issue_id: 5
label_id: 99
# Issue_Label 3 should not be deleted
-
id: 3
issue_id: 2
label_id: 1
# Issue_Label 4 should not be deleted
-
id: 4
issue_id: 2
label_id: 4
-
id: 5
issue_id: 2
label_id: 87

View file

@ -0,0 +1,43 @@
-
id: 1
repo_id: 1
org_id: 0
name: label1
color: '#abcdef'
num_issues: 2
num_closed_issues: 0
-
id: 2
repo_id: 1
org_id: 0
name: label2
color: '#000000'
num_issues: 1
num_closed_issues: 1
-
id: 3
repo_id: 0
org_id: 3
name: orglabel3
color: '#abcdef'
num_issues: 0
num_closed_issues: 0
-
id: 4
repo_id: 0
org_id: 3
name: orglabel4
color: '#000000'
num_issues: 1
num_closed_issues: 0
-
id: 5
repo_id: 10
org_id: 0
name: pull-test-label
color: '#000000'
num_issues: 0
num_closed_issues: 0

View file

@ -0,0 +1,52 @@
# type Comment struct {
# ID int64 `xorm:"pk autoincr"`
# Type int `xorm:"INDEX"`
# IssueID int64 `xorm:"INDEX"`
# LabelID int64
# }
#
# we are only interested in type 7
#
-
id: 1 # Should remain
type: 6
issue_id: 1
label_id: 0
should_remain: true
-
id: 2 # Should remain
type: 7
issue_id: 1 # repo_id: 1
label_id: 1 # repo_id: 1
should_remain: true
-
id: 3 # Should remain
type: 7
issue_id: 2 # repo_id: 2 owner_id: 1
label_id: 2 # org_id: 1
should_remain: true
-
id: 4 # Should be DELETED
type: 7
issue_id: 1 # repo_id: 1
label_id: 3 # repo_id: 2
should_remain: false
-
id: 5 # Should remain
type: 7
issue_id: 3 # repo_id: 1
label_id: 1 # repo_id: 1
should_remain: true
-
id: 6 # Should be DELETED
type: 7
issue_id: 3 # repo_id: 1 owner_id: 2
label_id: 2 # org_id: 1
should_remain: false
-
id: 7 # Should be DELETED
type: 7
issue_id: 3 # repo_id: 1 owner_id: 2
label_id: 5 # repo_id: 3
should_remain: false

View file

@ -0,0 +1,21 @@
# type Issue struct {
# ID int64 `xorm:"pk autoincr"`
# RepoID int64 `xorm:"INDEX UNIQUE(repo_index)"`
# Index int64 `xorm:"UNIQUE(repo_index)"` // Index in one repository.
# }
-
id: 1
repo_id: 1
index: 1
-
id: 2
repo_id: 2
index: 1
-
id: 3
repo_id: 1
index: 2
-
id: 4
repo_id: 3
index: 1

View file

@ -0,0 +1,35 @@
# type IssueLabel struct {
# ID int64 `xorm:"pk autoincr"`
# IssueID int64 `xorm:"UNIQUE(s)"`
# LabelID int64 `xorm:"UNIQUE(s)"`
# }
-
id: 1 # Should remain - matches comment 2
issue_id: 1
label_id: 1
should_remain: true
-
id: 2 # Should remain
issue_id: 2
label_id: 2
should_remain: true
-
id: 3 # Should be deleted
issue_id: 1
label_id: 3
should_remain: false
-
id: 4 # Should remain
issue_id: 3
label_id: 1
should_remain: true
-
id: 5 # Should be deleted
issue_id: 3
label_id: 2
should_remain: false
-
id: 6 # Should be deleted
issue_id: 3
label_id: 5
should_remain: false

View file

@ -0,0 +1,26 @@
# type Label struct {
# ID int64 `xorm:"pk autoincr"`
# RepoID int64 `xorm:"INDEX"`
# OrgID int64 `xorm:"INDEX"`
# }
-
id: 1
repo_id: 1
org_id: 0
-
id: 2
repo_id: 0
org_id: 1
-
id: 3
repo_id: 2
org_id: 0
-
id: 4
repo_id: 1
org_id: 0
-
id: 5
repo_id: 3
org_id: 0

View file

@ -0,0 +1,17 @@
# type Repository struct {
# ID int64 `xorm:"pk autoincr"`
# OwnerID int64 `xorm:"UNIQUE(s) index"`
# LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"`
# }
-
id: 1
owner_id: 2
lower_name: "repo1"
-
id: 2
owner_id: 1
lower_name: "repo2"
-
id: 3
owner_id: 2
lower_name: "repo3"