drone/internal/store/database/store_test.go
2023-06-20 00:26:40 +00:00

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)
}