MCPcopy Index your code
hub / github.com/ddev/ddev / TestPostgresConfigOverride

Function TestPostgresConfigOverride

pkg/ddevapp/config_test.go:1167–1213  ·  view source on GitHub ↗

TestPostgresConfigOverride makes sure that overriding Postgres config works

(t *testing.T)

Source from the content-addressed store, hash-verified

1165
1166// TestPostgresConfigOverride makes sure that overriding Postgres config works
1167func TestPostgresConfigOverride(t *testing.T) {
1168 assert := asrt.New(t)
1169 origDir, _ := os.Getwd()
1170 tmpDir := testcommon.CreateTmpDir(t.Name())
1171 err := os.Chdir(tmpDir)
1172 require.NoError(t, err)
1173
1174 app, err := ddevapp.NewApp(tmpDir, false)
1175 require.NoError(t, err)
1176 app.Name = t.Name()
1177 app.Database = ddevapp.DatabaseDesc{Type: nodeps.Postgres, Version: nodeps.PostgresDefaultVersion}
1178 err = app.WriteConfig()
1179 require.NoError(t, err)
1180
1181 t.Cleanup(func() {
1182 err = os.Chdir(origDir)
1183 assert.NoError(err)
1184 err = app.Stop(true, false)
1185 assert.NoError(err)
1186 _ = os.RemoveAll(tmpDir)
1187 })
1188
1189 err = app.Start()
1190 require.NoError(t, err)
1191
1192 out, stderr, err := app.Exec(&ddevapp.ExecOpts{
1193 Service: "db",
1194 Cmd: `psql -t -c "SELECT setting FROM pg_settings WHERE name='max_connections'"`,
1195 })
1196 assert.NoError(err)
1197 assert.Equal(" 100\n\n", out, "out: %s, stderr: %s", out, stderr)
1198
1199 cfg, err := fileutil.ReadFileIntoString(app.GetConfigPath("postgres/postgresql.conf"))
1200 require.NoError(t, err)
1201 cfg = strings.ReplaceAll(cfg, "#ddev-generated", "#")
1202 cfg = strings.ReplaceAll(cfg, `max_connections = 100`, `max_connections = 200`)
1203 err = fileutil.TemplateStringToFile(cfg, nil, app.GetConfigPath("postgres/postgresql.conf"))
1204 require.NoError(t, err)
1205 err = app.Restart()
1206 require.NoError(t, err)
1207 out, stderr, err = app.Exec(&ddevapp.ExecOpts{
1208 Service: "db",
1209 Cmd: `psql -t -c "SELECT setting FROM pg_settings WHERE name='max_connections'"`,
1210 })
1211 assert.NoError(err)
1212 assert.Equal(" 200\n\n", out, "out: %s, stderr: %s", out, stderr)
1213}
1214
1215// TestExtraPackages tests to make sure that *extra_packages config.yaml directives
1216// work (and are overridden by *-build/Dockerfile).

Callers

nothing calls this directly

Calls 12

CreateTmpDirFunction · 0.92
NewAppFunction · 0.92
ReadFileIntoStringFunction · 0.92
TemplateStringToFileFunction · 0.92
ChdirMethod · 0.80
WriteConfigMethod · 0.80
CleanupMethod · 0.80
StopMethod · 0.80
StartMethod · 0.80
ExecMethod · 0.80
GetConfigPathMethod · 0.80
RestartMethod · 0.80

Tested by

no test coverage detected