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

Function TestDatabaseConfigUpgrade

pkg/ddevapp/config_test.go:1819–1860  ·  view source on GitHub ↗

TestDatabaseConfigUpgrade tests whether upgrade from mariadb_version/mysql_version to database format works correctly

(t *testing.T)

Source from the content-addressed store, hash-verified

1817// TestDatabaseConfigUpgrade tests whether upgrade from mariadb_version/mysql_version
1818// to database format works correctly
1819func TestDatabaseConfigUpgrade(t *testing.T) {
1820 assert := asrt.New(t)
1821
1822 origDir, _ := os.Getwd()
1823
1824 // Create a temporary directory and switch to it.
1825 tmpDir := testcommon.CreateTmpDir(t.Name())
1826 err := os.Chdir(tmpDir)
1827 require.NoError(t, err)
1828
1829 _, _ = exec.RunHostCommand(DdevBin, "delete", "-Oy", t.Name())
1830 err = globalconfig.ReadGlobalConfig()
1831 require.NoError(t, err)
1832
1833 app, err := ddevapp.NewApp(tmpDir, false)
1834 require.NoError(t, err)
1835 app.Name = t.Name()
1836 err = app.WriteConfig()
1837 require.NoError(t, err)
1838
1839 t.Cleanup(func() {
1840 err = app.Stop(true, false)
1841 assert.NoError(err)
1842 _ = os.RemoveAll(tmpDir)
1843 err = os.Chdir(origDir)
1844 assert.NoError(err)
1845 })
1846 for _, v := range []string{"mariadb:10.5", "mysql:5.7"} {
1847 parts := strings.Split(v, ":")
1848 require.True(t, len(parts) == 2)
1849 configFile := app.ConfigPath
1850 err = os.RemoveAll(configFile)
1851 assert.NoError(err)
1852 err = fileutil.AppendStringToFile(configFile, fmt.Sprintf("name: %s\n%s_version: %s\n", t.Name(), parts[0], parts[1]))
1853 app, err := ddevapp.NewApp(tmpDir, false)
1854 require.NoError(t, err)
1855 assert.Equal(parts[0], app.Database.Type)
1856 assert.Equal(parts[1], app.Database.Version)
1857 assert.Empty(app.MySQLVersion)
1858 assert.Empty(app.MariaDBVersion)
1859 }
1860}
1861
1862// TestConfigFunctionality tests to make sure that config values actually
1863// cause their desired effects

Callers

nothing calls this directly

Calls 9

CreateTmpDirFunction · 0.92
RunHostCommandFunction · 0.92
ReadGlobalConfigFunction · 0.92
NewAppFunction · 0.92
AppendStringToFileFunction · 0.92
ChdirMethod · 0.80
WriteConfigMethod · 0.80
CleanupMethod · 0.80
StopMethod · 0.80

Tested by

no test coverage detected