* MySQL, Postgres integration tests in drone * Fix .drone.yml * sign drone * resign dronemaster
@@ -44,7 +44,7 @@ pipeline: | |||
TAGS: bindata | |||
GOPATH: /srv/app | |||
commands: | |||
- echo make test-mysql # Not ready yet | |||
- make test-mysql | |||
when: | |||
event: [ push, tag, pull_request ] | |||
@@ -55,7 +55,7 @@ pipeline: | |||
TAGS: bindata | |||
GOPATH: /srv/app | |||
commands: | |||
- echo make test-pqsql # Not ready yet | |||
- make test-pgsql | |||
when: | |||
event: [ push, tag, pull_request ] | |||
@@ -1 +1 @@ | |||
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIGNsb25lOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0CiAgICBkZXB0aDogNTAKICAgIHRhZ3M6IHRydWUKCiAgdGVzdDoKICAgIGltYWdlOiB3ZWJoaXBwaWUvZ29sYW5nOmVkZ2UKICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBUQUdTOiBiaW5kYXRhIHNxbGl0ZQogICAgICBHT1BBVEg6IC9zcnYvYXBwCiAgICBjb21tYW5kczoKICAgICAgLSBhcGsgLVUgYWRkIG9wZW5zc2gtY2xpZW50CiAgICAgIC0gbWFrZSBjbGVhbgogICAgICAtIG1ha2UgZ2VuZXJhdGUKICAgICAgLSBtYWtlIHZldAogICAgICAtIG1ha2UgbGludAogICAgICAtIG1ha2UgdGVzdC12ZW5kb3IKICAgICAgLSBtYWtlIHRlc3QKICAgICAgLSBtYWtlIGJ1aWxkCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHRlc3Qtc3FsaXRlOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFRBR1M6IGJpbmRhdGEKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSB0ZXN0LXNxbGl0ZQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICB0ZXN0LW15c3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFRBR1M6IGJpbmRhdGEKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gZWNobyBtYWtlIHRlc3QtbXlzcWwgIyBOb3QgcmVhZHkgeWV0CiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHRlc3QtcGdzcWw6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogYmluZGF0YQogICAgICBHT1BBVEg6IC9zcnYvYXBwCiAgICBjb21tYW5kczoKICAgICAgLSBlY2hvIG1ha2UgdGVzdC1wcXNxbCAjIE5vdCByZWFkeSB5ZXQKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgc3RhdGljOgogICAgaW1hZ2U6IGthcmFsYWJlL3hnby1sYXRlc3Q6bGF0ZXN0CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogYmluZGF0YSBzcWxpdGUKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSByZWxlYXNlCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIGNvdmVyYWdlOgogICAgaW1hZ2U6IHBsdWdpbnMvY292ZXJhZ2UKICAgIHNlcnZlcjogaHR0cHM6Ly9jb3ZlcmFnZS5naXRlYS5pbwogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICBkb2NrZXI6CiAgICBpbWFnZTogcGx1Z2lucy9kb2NrZXIKICAgIHJlcG86IGdpdGVhL2dpdGVhCiAgICB0YWdzOiBbICcke0RST05FX1RBRyMjdn0nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJyR7RFJPTkVfQlJBTkNIIyNyZWxlYXNlL3Z9JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIHJlbGVhc2UvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJ2xhdGVzdCcgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIgXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHN0cmlwX3ByZWZpeDogZGlzdC9yZWxlYXNlLwogICAgc291cmNlOiBkaXN0L3JlbGVhc2UvKgogICAgdGFyZ2V0OiAvZ2l0ZWEvJHtEUk9ORV9UQUcjI3Z9CiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHN0cmlwX3ByZWZpeDogZGlzdC9yZWxlYXNlLwogICAgc291cmNlOiBkaXN0L3JlbGVhc2UvKgogICAgdGFyZ2V0OiAvZ2l0ZWEvJHtEUk9ORV9CUkFOQ0gjI3JlbGVhc2Uvdn0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgcmVsZWFzZS8qIF0KCiAgcmVsZWFzZToKICAgIGltYWdlOiBwbHVnaW5zL3MzCiAgICBwYXRoX3N0eWxlOiB0cnVlCiAgICBzdHJpcF9wcmVmaXg6IGRpc3QvcmVsZWFzZS8KICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLyoKICAgIHRhcmdldDogL2dpdGVhL21hc3RlcgogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIgXQoKICBnaXRodWI6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGdpdHRlcjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdHRlcgoKc2VydmljZXM6CiAgbXlzcWw6CiAgICBpbWFnZTogbXlzcWw6NS43CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBNWVNRTF9EQVRBQkFTRT10ZXN0CiAgICAgIC0gTVlTUUxfQUxMT1dfRU1QVFlfUEFTU1dPUkQ9eWVzCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHBnc3FsOgogICAgaW1hZ2U6IHBvc3RncmVzOjkuNQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gUE9TVEdSRVNfREI9dGVzdAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQo.4VRK2oB1YakJzBdVo8f_k2btz9INR1Fi7gjDhIR_-xI | |||
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIGNsb25lOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0CiAgICBkZXB0aDogNTAKICAgIHRhZ3M6IHRydWUKCiAgdGVzdDoKICAgIGltYWdlOiB3ZWJoaXBwaWUvZ29sYW5nOmVkZ2UKICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBUQUdTOiBiaW5kYXRhIHNxbGl0ZQogICAgICBHT1BBVEg6IC9zcnYvYXBwCiAgICBjb21tYW5kczoKICAgICAgLSBhcGsgLVUgYWRkIG9wZW5zc2gtY2xpZW50CiAgICAgIC0gbWFrZSBjbGVhbgogICAgICAtIG1ha2UgZ2VuZXJhdGUKICAgICAgLSBtYWtlIHZldAogICAgICAtIG1ha2UgbGludAogICAgICAtIG1ha2UgdGVzdC12ZW5kb3IKICAgICAgLSBtYWtlIHRlc3QKICAgICAgLSBtYWtlIGJ1aWxkCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHRlc3Qtc3FsaXRlOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFRBR1M6IGJpbmRhdGEKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSB0ZXN0LXNxbGl0ZQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICB0ZXN0LW15c3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFRBR1M6IGJpbmRhdGEKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSB0ZXN0LW15c3FsCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHRlc3QtcGdzcWw6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogYmluZGF0YQogICAgICBHT1BBVEg6IC9zcnYvYXBwCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIHRlc3QtcGdzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgc3RhdGljOgogICAgaW1hZ2U6IGthcmFsYWJlL3hnby1sYXRlc3Q6bGF0ZXN0CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogYmluZGF0YSBzcWxpdGUKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSByZWxlYXNlCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIGNvdmVyYWdlOgogICAgaW1hZ2U6IHBsdWdpbnMvY292ZXJhZ2UKICAgIHNlcnZlcjogaHR0cHM6Ly9jb3ZlcmFnZS5naXRlYS5pbwogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICBkb2NrZXI6CiAgICBpbWFnZTogcGx1Z2lucy9kb2NrZXIKICAgIHJlcG86IGdpdGVhL2dpdGVhCiAgICB0YWdzOiBbICcke0RST05FX1RBRyMjdn0nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJyR7RFJPTkVfQlJBTkNIIyNyZWxlYXNlL3Z9JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIHJlbGVhc2UvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJ2xhdGVzdCcgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIgXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHN0cmlwX3ByZWZpeDogZGlzdC9yZWxlYXNlLwogICAgc291cmNlOiBkaXN0L3JlbGVhc2UvKgogICAgdGFyZ2V0OiAvZ2l0ZWEvJHtEUk9ORV9UQUcjI3Z9CiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHN0cmlwX3ByZWZpeDogZGlzdC9yZWxlYXNlLwogICAgc291cmNlOiBkaXN0L3JlbGVhc2UvKgogICAgdGFyZ2V0OiAvZ2l0ZWEvJHtEUk9ORV9CUkFOQ0gjI3JlbGVhc2Uvdn0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgcmVsZWFzZS8qIF0KCiAgcmVsZWFzZToKICAgIGltYWdlOiBwbHVnaW5zL3MzCiAgICBwYXRoX3N0eWxlOiB0cnVlCiAgICBzdHJpcF9wcmVmaXg6IGRpc3QvcmVsZWFzZS8KICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLyoKICAgIHRhcmdldDogL2dpdGVhL21hc3RlcgogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIgXQoKICBnaXRodWI6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGdpdHRlcjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdHRlcgoKc2VydmljZXM6CiAgbXlzcWw6CiAgICBpbWFnZTogbXlzcWw6NS43CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBNWVNRTF9EQVRBQkFTRT10ZXN0CiAgICAgIC0gTVlTUUxfQUxMT1dfRU1QVFlfUEFTU1dPUkQ9eWVzCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHBnc3FsOgogICAgaW1hZ2U6IHBvc3RncmVzOjkuNQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gUE9TVEdSRVNfREI9dGVzdAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQo._gmaEu0hvh55_gmu1f06G5jdsDGIelMW0whjHfe7ovw |
@@ -90,7 +90,6 @@ test-sqlite: integrations.test | |||
.PHONY: test-mysql | |||
test-mysql: integrations.test | |||
echo "CREATE DATABASE IF NOT EXISTS testgitea" | mysql -u root | |||
GITEA_CONF=integrations/mysql.ini ./integrations.test | |||
.PHONY: test-pgsql | |||
@@ -6,8 +6,10 @@ package integrations | |||
import ( | |||
"bytes" | |||
"database/sql" | |||
"fmt" | |||
"io" | |||
"log" | |||
"net/http" | |||
"os" | |||
"testing" | |||
@@ -26,13 +28,7 @@ import ( | |||
var mac *macaron.Macaron | |||
func TestMain(m *testing.M) { | |||
appIniPath := os.Getenv("GITEA_CONF") | |||
if appIniPath == "" { | |||
fmt.Println("Environment variable $GITEA_CONF not set") | |||
os.Exit(1) | |||
} | |||
setting.CustomConf = appIniPath | |||
routers.GlobalInit() | |||
initIntegrationTest() | |||
mac = routes.NewMacaron() | |||
routes.RegisterRoutes(mac) | |||
@@ -59,6 +55,48 @@ func TestMain(m *testing.M) { | |||
os.Exit(m.Run()) | |||
} | |||
func initIntegrationTest() { | |||
if setting.CustomConf = os.Getenv("GITEA_CONF"); setting.CustomConf == "" { | |||
fmt.Println("Environment variable $GITEA_CONF not set") | |||
os.Exit(1) | |||
} | |||
setting.NewContext() | |||
models.LoadConfigs() | |||
switch { | |||
case setting.UseMySQL: | |||
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s)/", | |||
models.DbCfg.User, models.DbCfg.Passwd, models.DbCfg.Host)) | |||
defer db.Close() | |||
if err != nil { | |||
log.Fatalf("sql.Open: %v", err) | |||
} | |||
if _, err = db.Exec("CREATE DATABASE IF NOT EXISTS testgitea"); err != nil { | |||
log.Fatalf("db.Exec: %v", err) | |||
} | |||
case setting.UsePostgreSQL: | |||
db, err := sql.Open("postgres", fmt.Sprintf("postgres://%s:%s@%s/?sslmode=%s", | |||
models.DbCfg.User, models.DbCfg.Passwd, models.DbCfg.Host, models.DbCfg.SSLMode)) | |||
defer db.Close() | |||
if err != nil { | |||
log.Fatalf("sql.Open: %v", err) | |||
} | |||
rows, err := db.Query(fmt.Sprintf("SELECT 1 FROM pg_database WHERE datname = '%s'", | |||
models.DbCfg.Name)) | |||
if err != nil { | |||
log.Fatalf("db.Query: %v", err) | |||
} | |||
if rows.Next() { | |||
break // database already exists | |||
} | |||
if _, err = db.Exec("CREATE DATABASE testgitea"); err != nil { | |||
log.Fatalf("db.Exec: %v", err) | |||
} | |||
} | |||
routers.GlobalInit() | |||
} | |||
func prepareTestEnv(t *testing.T) { | |||
assert.NoError(t, models.LoadFixtures()) | |||
assert.NoError(t, os.RemoveAll("integrations/gitea-integration")) | |||
@@ -42,14 +42,14 @@ ENABLE_FEDERATED_AVATAR = false | |||
PROVIDER = file | |||
[log] | |||
MODE = console,file | |||
MODE = console,file | |||
ROOT_PATH = mysql-log | |||
[log.console] | |||
LEVEL = Warn | |||
[log.file] | |||
LEVEL = Info | |||
ROOT_PATH = log | |||
LEVEL = Info | |||
[security] | |||
INSTALL_LOCK = true | |||
@@ -43,13 +43,13 @@ PROVIDER = file | |||
[log] | |||
MODE = console,file | |||
ROOT_PATH = pgsql-log | |||
[log.console] | |||
LEVEL = Warn | |||
[log.file] | |||
LEVEL = Info | |||
ROOT_PATH = log | |||
[security] | |||
INSTALL_LOCK = true | |||
@@ -13,7 +13,7 @@ import ( | |||
func TestIncreaseDownloadCount(t *testing.T) { | |||
assert.NoError(t, PrepareTestDatabase()) | |||
attachment, err := GetAttachmentByUUID("1234567890") | |||
attachment, err := GetAttachmentByUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11") | |||
assert.NoError(t, err) | |||
assert.Equal(t, int64(0), attachment.DownloadCount) | |||
@@ -21,7 +21,7 @@ func TestIncreaseDownloadCount(t *testing.T) { | |||
err = attachment.IncreaseDownloadCount() | |||
assert.NoError(t, err) | |||
attachment, err = GetAttachmentByUUID("1234567890") | |||
attachment, err = GetAttachmentByUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11") | |||
assert.NoError(t, err) | |||
assert.Equal(t, int64(1), attachment.DownloadCount) | |||
} | |||
@@ -53,7 +53,7 @@ func TestDeleteAttachments(t *testing.T) { | |||
err = DeleteAttachment(&Attachment{ID: 8}, false) | |||
assert.NoError(t, err) | |||
attachment, err := GetAttachmentByUUID("test-12345") | |||
attachment, err := GetAttachmentByUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a18") | |||
assert.Error(t, err) | |||
assert.True(t, IsErrAttachmentNotExist(err)) | |||
assert.Nil(t, attachment) | |||
@@ -1,6 +1,6 @@ | |||
- | |||
id: 1 | |||
uuid: 1234567890 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 | |||
issue_id: 1 | |||
comment_id: 0 | |||
name: attach1 | |||
@@ -9,7 +9,7 @@ | |||
- | |||
id: 2 | |||
uuid: 1122334455 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12 | |||
issue_id: 1 | |||
comment_id: 0 | |||
name: attach2 | |||
@@ -18,7 +18,7 @@ | |||
- | |||
id: 3 | |||
uuid: comment-id-1 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13 | |||
issue_id: 2 | |||
comment_id: 1 | |||
name: attach1 | |||
@@ -27,7 +27,7 @@ | |||
- | |||
id: 4 | |||
uuid: comment-id-2 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 | |||
issue_id: 3 | |||
comment_id: 1 | |||
name: attach2 | |||
@@ -36,7 +36,7 @@ | |||
- | |||
id: 5 | |||
uuid: comment-id-3 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a15 | |||
issue_id: 4 | |||
comment_id: 0 | |||
name: attach1 | |||
@@ -45,7 +45,7 @@ | |||
- | |||
id: 6 | |||
uuid: comment-id-4 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a16 | |||
issue_id: 5 | |||
comment_id: 2 | |||
name: attach1 | |||
@@ -54,7 +54,7 @@ | |||
- | |||
id: 7 | |||
uuid: comment-id-5 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a17 | |||
issue_id: 5 | |||
comment_id: 2 | |||
name: attach1 | |||
@@ -63,7 +63,7 @@ | |||
- | |||
id: 8 | |||
uuid: test-12345 | |||
uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a18 | |||
issue_id: 6 | |||
comment_id: 0 | |||
name: attach1 | |||
@@ -16,7 +16,7 @@ | |||
- | |||
id: 2 | |||
type: 0 # gitea pull request | |||
status: 1 # checking | |||
status: 2 # mergable | |||
issue_id: 3 | |||
index: 3 | |||
head_repo_id: 1 | |||