1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-25 23:02:22 +02:00

сделал ReplaceSchemaName()

This commit is contained in:
Nikitin Aleksandr
2025-06-27 10:52:26 +03:00
parent 6f46ff1368
commit 6a0e52ce20
2 changed files with 77 additions and 1 deletions

View File

@@ -2,6 +2,7 @@ package postgres_pgxpool
import (
"errors"
"golang.org/x/net/context"
"testing"
"time"
@@ -130,8 +131,11 @@ select 1;
SELECT * FROM temp_TestRawMultipleSQL2
`
ctx := context.Background()
tx, _ := connection.Begin(ctx)
defer tx.Commit(ctx)
//TextSQL := "SELECT 1; SELECT 2"
Rows, err := RawMultipleSQL(connection, TextSQL)
Rows, err := RawMultipleSQL(tx, TextSQL)
if err != nil {
t.Error("TestRawMultipleSQL() error: ", err)
return
@@ -184,3 +188,51 @@ SELECT * FROM temp_TestRawMultipleSQL2
}
}
func TestReplaceSchemaName(t *testing.T) {
TextSQL := "SELECT * FROM public.users"
Settings.DB_SCHEMA = "myschema"
ExpectedSQL := "SELECT * FROM myschema.users"
ActualSQL := ReplaceSchemaName(TextSQL, "public")
if ActualSQL != ExpectedSQL {
t.Errorf("Expected %v, but got %v", ExpectedSQL, ActualSQL)
}
}
func TestReplaceSchema(t *testing.T) {
tests := []struct {
name string
input string
schema string
expected string
}{
{
name: "No schema",
input: "SELECT * FROM public.users",
schema: "",
expected: "SELECT * FROM public.users",
},
{
name: "Schema with tabs and newlines",
input: "\tSELECT * FROM public.users\n",
schema: "myschema",
expected: "\tSELECT * FROM myschema.users\n",
},
{
name: "Schema with spaces",
input: "SELECT * FROM public.users ",
schema: "myschema",
expected: "SELECT * FROM myschema.users ",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Settings.DB_SCHEMA = tt.schema
got := ReplaceSchema(tt.input)
if got != tt.expected {
t.Errorf("ReplaceSchema() = %v, expected %v", got, tt.expected)
}
})
}
}