1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-27 23:18:34 +02:00
Files
starter/postgres_pgx/postgres_pgx_test.go

185 lines
3.6 KiB
Go
Raw Normal View History

2023-03-17 11:20:09 +03:00
package postgres_pgx
import (
"errors"
"testing"
2024-03-25 17:59:54 +03:00
"time"
2023-03-17 11:20:09 +03:00
//log "github.com/sirupsen/logrus"
2023-12-26 16:42:53 +03:00
"github.com/ManyakRus/starter/config_main"
2023-05-02 09:51:50 +03:00
"github.com/ManyakRus/starter/contextmain"
"github.com/ManyakRus/starter/micro"
2023-03-17 11:20:09 +03:00
2023-05-02 09:51:50 +03:00
// logger "github.com/ManyakRus/starter/common/v0/logger"
"github.com/ManyakRus/starter/stopapp"
2023-03-17 11:20:09 +03:00
)
func TestConnect_err(t *testing.T) {
//Connect_Panic()
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
err := Connect_err()
if err != nil {
t.Error("TestConnect error: ", err)
}
err = CloseConnection_err()
if err != nil {
t.Error("TestConnect() error: ", err)
}
}
func TestIsClosed(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
err := Connect_err()
if err != nil {
t.Error("TestIsClosed Connect() error: ", err)
}
isClosed := IsClosed()
if isClosed == true {
t.Error("TestIsClosed() isClosed = true ")
}
err = CloseConnection_err()
if err != nil {
t.Error("TestIsClosed() CloseConnection() error: ", err)
}
}
func TestReconnect(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
err := Connect_err()
if err != nil {
t.Error("TestIsClosed Connect() error: ", err)
}
//ctx := context.Background()
Reconnect(errors.New(""))
err = CloseConnection_err()
if err != nil {
t.Error("TestReconnect() CloseConnection() error: ", err)
}
}
func TestWaitStop(t *testing.T) {
stopapp.StartWaitStop()
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
micro.Pause(10)
//stopapp.SignalInterrupt <- syscall.SIGINT
contextmain.CancelContext()
contextmain.GetNewContext()
}
func TestStartDB(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
StartDB()
err := CloseConnection_err()
if err != nil {
t.Error("db_test.TestStartDB() CloseConnection() error: ", err)
}
}
func TestConnect(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
Connect()
CloseConnection()
}
func TestConnect_WithApplicationName_err(t *testing.T) {
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
err := Connect_WithApplicationName_err("test_starter_postgres_pgx")
if err != nil {
t.Error("TestConnect_WithApplicationName_err error: ", err)
}
CloseConnection()
}
2024-03-25 17:59:54 +03:00
func TestRawMultipleSQL(t *testing.T) {
config_main.LoadEnv()
GetConnection()
defer CloseConnection()
TimeStart := time.Now()
TextSQL := `
drop table if exists temp_TestRawMultipleSQL2;
CREATE TEMPORARY TABLE temp_TestRawMultipleSQL2 (id int);
insert into temp_TestRawMultipleSQL2
select 1;
SELECT * FROM temp_TestRawMultipleSQL2
`
//TextSQL := "SELECT 1; SELECT 2"
Rows, err := RawMultipleSQL(Conn, TextSQL)
if err != nil {
t.Error("TestRawMultipleSQL() error: ", err)
2024-03-26 11:23:09 +03:00
return
2024-03-25 17:59:54 +03:00
}
if Rows == nil {
2024-03-26 11:23:09 +03:00
t.Error("TestRawMultipleSQL() error: Rows == nil")
return
2024-03-25 17:59:54 +03:00
}
Otvet := 0
for Rows.Next() {
err := Rows.Scan(&Otvet)
if err != nil {
t.Error("TestRawMultipleSQL() Scan() error: ", err)
}
}
t.Log("Прошло время: ", time.Since(TimeStart))
}
2024-03-26 10:55:07 +03:00
2024-03-26 11:23:09 +03:00
// TestRawMultipleSQL2 - negative test, with error
2024-03-26 10:55:07 +03:00
func TestRawMultipleSQL2(t *testing.T) {
config_main.LoadEnv()
GetConnection()
defer CloseConnection()
TimeStart := time.Now()
2024-03-26 11:23:09 +03:00
defer t.Log("Прошло время: ", time.Since(TimeStart))
2024-03-26 10:55:07 +03:00
TextSQL := `
drop table if exists temp_TestRawMultipleSQL2;
CREATE TEMPORARY TABLE temp_TestRawMultipleSQL2 (id int);
insert into temp_TestRawMultipleSQL2
select 1;
SELECT * FROM temp_TestRawMultipleSQL2
`
ctx := contextmain.GetContext()
Rows, err := Conn.Query(ctx, TextSQL)
if err == nil {
t.Error("TestRawMultipleSQL2() Query() error: ", err)
2024-03-26 11:23:09 +03:00
return
2024-03-26 10:55:07 +03:00
}
2024-03-26 11:23:09 +03:00
if Rows == nil {
t.Error("TestRawMultipleSQL2() error: Rows == nil")
return
2024-03-26 10:55:07 +03:00
}
}