]> git.giacomolli.uk - onechat/blobdiff - config_test.go
Carry new images through model request chains
[onechat] / config_test.go
index 4dcf94ed398471c3e1c10f69e1d28c41f028582a..7ad0b4efd48bd91ca548a1d036ac6314217af447 100644 (file)
@@ -18,14 +18,14 @@ func TestLoadConfigGivesDefaultsWithoutAFile(t *testing.T) {
 
 func TestLoadConfigKeepsDefaultsForMissingFields(t *testing.T) {
        dir := t.TempDir()
-       writeConfig(t, dir, `{"endpoint": "api", "compactor": {"effort": "xhigh"}}`)
+       configWriteTest(t, dir, `{"endpoint": "api", "compactor": {"effort": "xhigh"}}`)
 
        config, err := loadConfig(dir)
        require.NoError(t, err)
        require.Equal(t, Config{
-               Endpoint: endpointAPI,
+               Endpoint: configEndpointAPI,
                Compactor: ModelConfig{
-                       Model:  "gpt-6-luna",
+                       Model:  "gpt-6.1-sol",
                        Effort: "xhigh",
                },
        }, config)
@@ -65,7 +65,7 @@ func TestLoadConfigRejectsInvalidFiles(t *testing.T) {
        for _, tc := range testCases {
                t.Run(tc.name, func(t *testing.T) {
                        dir := t.TempDir()
-                       writeConfig(t, dir, tc.text)
+                       configWriteTest(t, dir, tc.text)
 
                        _, err := loadConfig(dir)
                        require.Error(t, err)
@@ -73,72 +73,7 @@ func TestLoadConfigRejectsInvalidFiles(t *testing.T) {
        }
 }
 
-func TestDataDirFollowsTheOrder(t *testing.T) {
-       root := t.TempDir()
-       testCases := []struct {
-               name string
-               dir  string
-               xdg  string
-               home string
-               want string
-       }{
-               {
-                       name: "ONECHAT_DIR first",
-                       dir:  filepath.Join(root, "a"),
-                       xdg:  filepath.Join(root, "xdg"),
-                       home: root,
-                       want: filepath.Join(root, "a"),
-               },
-               {
-                       name: "absolute XDG_DATA_HOME",
-                       dir:  "",
-                       xdg:  filepath.Join(root, "xdg"),
-                       home: root,
-                       want: filepath.Join(root, "xdg", "onechat"),
-               },
-               {
-                       name: "relative XDG_DATA_HOME ignored",
-                       dir:  "",
-                       xdg:  "xdg",
-                       home: root,
-                       want: filepath.Join(root, ".local", "share", "onechat"),
-               },
-               {
-                       name: "home directory last",
-                       dir:  "",
-                       xdg:  "",
-                       home: root,
-                       want: filepath.Join(root, ".local", "share", "onechat"),
-               },
-       }
-
-       for _, tc := range testCases {
-               t.Run(tc.name, func(t *testing.T) {
-                       t.Setenv("ONECHAT_DIR", tc.dir)
-                       t.Setenv("XDG_DATA_HOME", tc.xdg)
-                       t.Setenv("HOME", tc.home)
-
-                       dir, err := dataDir()
-                       require.NoError(t, err)
-                       require.Equal(t, tc.want, dir)
-
-                       info, err := os.Stat(dir)
-                       require.NoError(t, err)
-                       require.Equal(t, os.FileMode(0o700), info.Mode().Perm())
-               })
-       }
-}
-
-func TestDataDirFailsWithoutAHome(t *testing.T) {
-       t.Setenv("ONECHAT_DIR", "")
-       t.Setenv("XDG_DATA_HOME", "")
-       t.Setenv("HOME", "")
-
-       _, err := dataDir()
-       require.ErrorContains(t, err, "ONECHAT_DIR")
-}
-
-func writeConfig(t *testing.T, dir, text string) {
+func configWriteTest(t *testing.T, dir, text string) {
        t.Helper()
 
        err := os.WriteFile(filepath.Join(dir, "config.json"), []byte(text), 0o600)