TestDatabaseConfigUpgrade tests whether upgrade from mariadb_version/mysql_version to database format works correctly
(t *testing.T)
| 1817 | // TestDatabaseConfigUpgrade tests whether upgrade from mariadb_version/mysql_version |
| 1818 | // to database format works correctly |
| 1819 | func 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 |
nothing calls this directly
no test coverage detected