blob: cb4239a8f84901384514d672e3417f645fb527bf [file] [log] [blame]
package dockertests
import (
"database/sql"
_ "github.com/lib/pq"
)
type ManagementPg struct {
url string
pg *sql.DB
}
func InitDb(dbUrl string) (*ManagementPg, error) {
db, err := sql.Open("postgres", dbUrl)
if err != nil {
return nil, err
}
return &ManagementPg{
url: dbUrl,
pg: db,
}, nil
}
func (m *ManagementPg) InsertApidCluster(tx *sql.Tx, cluster *apidClusterRow) error {
stmt, err := tx.Prepare(`INSERT INTO edgex.apid_cluster(
id,
name,
description,
umbrella_org_app_name,
created,
created_by,
updated,
updated_by,
_change_selector
)
VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9)`)
if err != nil {
return err
}
_, err = stmt.Exec(
cluster.id,
cluster.name,
cluster.description,
cluster.appName,
cluster.created,
cluster.createdBy,
cluster.updated,
cluster.updatedBy,
cluster.changeSelector,
)
return err
}
func (m *ManagementPg) InsertDataScope(tx *sql.Tx, ds *dataScopeRow) error {
stmt, err := tx.Prepare(`INSERT INTO edgex.data_scope (
id,
apid_cluster_id,
scope,
org,
env,
created,
created_by,
updated,
updated_by,
_change_selector
)
VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)`)
if err != nil {
return err
}
_, err = stmt.Exec(
ds.id,
ds.clusterId,
ds.scope,
ds.org,
ds.env,
ds.created,
ds.createdBy,
ds.updated,
ds.updatedBy,
ds.changeSelector,
)
return err
}
func (m *ManagementPg) InsertBundleConfig(tx *sql.Tx, bf *bundleConfigRow) error {
stmt, err := tx.Prepare(`INSERT INTO edgex.bundle_config (
id,
data_scope_id,
name,
uri,
checksumtype,
checksum,
created,
created_by,
updated,
updated_by
)
VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)`)
if err != nil {
return err
}
_, err = stmt.Exec(
bf.id,
bf.scopeId,
bf.name,
bf.uri,
bf.checksumType,
bf.checksum,
bf.created,
bf.createdBy,
bf.updated,
bf.updatedBy,
)
return err
}
func (m *ManagementPg) InsertDeployment(tx *sql.Tx, d *deploymentRow) error {
stmt, err := tx.Prepare(`INSERT INTO edgex.deployment (
id,
bundle_config_id,
apid_cluster_id,
data_scope_id,
bundle_config_name,
bundle_config_json,
config_json,
created,
created_by,
updated,
updated_by,
_change_selector
)
VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12)`)
if err != nil {
return err
}
_, err = stmt.Exec(
d.id,
d.configId,
d.clusterId,
d.scopeId,
d.bundleConfigName,
d.bundleConfigJson,
d.configJson,
d.created,
d.createdBy,
d.updated,
d.updatedBy,
d.changeSelector,
)
return err
}
func (m *ManagementPg) BeginTransaction() (*sql.Tx, error) {
tx, err := m.pg.Begin()
return tx, err
}
func (m *ManagementPg) CleanupTest() error {
cleanupSql := "DELETE FROM edgex.apid_cluster WHERE created_by!='" + testInitUser + "';"
_, err := m.pg.Exec(cleanupSql)
return err
}
func (m *ManagementPg) CleanupAll() error {
cleanupSql := "DELETE FROM edgex.apid_cluster;"
_, err := m.pg.Exec(cleanupSql)
return err
}