package credentials import ( "os" "path/filepath" "testing" ) func TestStoreRoundTripAndIsolation(t *testing.T) { root := t.TempDir() s, err := Open(root) if err != nil { t.Fatal(err) } secret := []byte(`{"cookies":"SESSDATA=secret"}`) if err = s.Save(7, 11, secret); err != nil { t.Fatal(err) } got, err := s.Load(7, 11) if err != nil { t.Fatal(err) } if string(got) != string(secret) { t.Fatalf("round trip mismatch: %q", got) } if _, err = s.Load(8, 11); !os.IsNotExist(err) { t.Fatalf("workspace isolation failed: %v", err) } raw, err := os.ReadFile(filepath.Join(root, "7", "11.enc")) if err != nil { t.Fatal(err) } if string(raw) == string(secret) { t.Fatal("credential file is plaintext") } if err = s.Delete(7, 11); err != nil { t.Fatal(err) } } func TestStoreRejectsInvalidIDs(t *testing.T) { s, err := Open(t.TempDir()) if err != nil { t.Fatal(err) } if err = s.Save(0, 1, []byte("x")); err == nil { t.Fatal("expected invalid ID error") } }