mirror of
https://github.com/harness/drone.git
synced 2025-05-05 00:43:14 +08:00
72 lines
1.6 KiB
Go
72 lines
1.6 KiB
Go
// Copyright 2022 Harness Inc. All rights reserved.
|
|
// Use of this source code is governed by the Polyform Free Trial License
|
|
// that can be found in the LICENSE.md file for this repository.
|
|
|
|
package database
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"os"
|
|
|
|
"github.com/harness/gitness/store/database"
|
|
|
|
"github.com/jmoiron/sqlx"
|
|
|
|
_ "github.com/lib/pq"
|
|
_ "github.com/mattn/go-sqlite3"
|
|
)
|
|
|
|
// connect opens a new test database connection.
|
|
func connect() (*sqlx.DB, error) {
|
|
var (
|
|
driver = "sqlite3"
|
|
config = ":memory:"
|
|
)
|
|
if os.Getenv("DATABASE_CONFIG") != "" {
|
|
driver = os.Getenv("DATABASE_DRIVER")
|
|
config = os.Getenv("DATABASE_CONFIG")
|
|
}
|
|
return database.Connect(context.Background(), driver, config)
|
|
}
|
|
|
|
// seed seed the database state.
|
|
func seed(db *sqlx.DB) error {
|
|
/*
|
|
_, err := db.Exec("DELETE FROM executions")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = db.Exec("DELETE FROM pipelines")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = db.Exec("DELETE FROM users")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = db.Exec("ALTER SEQUENCE users_user_id_seq RESTART WITH 1")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = db.Exec("ALTER SEQUENCE pipelines_pipeline_id_seq RESTART WITH 1")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = db.Exec("ALTER SEQUENCE executions_execution_id_seq RESTART WITH 1")
|
|
return err
|
|
*/
|
|
return nil
|
|
}
|
|
|
|
// unmarshal a testdata file.
|
|
//
|
|
//nolint:unparam // expected to be called for other paths in the future.
|
|
func unmarshal(path string, v interface{}) error {
|
|
out, err := os.ReadFile(path)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return json.Unmarshal(out, v)
|
|
}
|