TestPostgresConfigOverride makes sure that overriding Postgres config works
(t *testing.T)
| 1165 | |
| 1166 | // TestPostgresConfigOverride makes sure that overriding Postgres config works |
| 1167 | func 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). |
nothing calls this directly
no test coverage detected