二进制及自命令命名统一简化
This commit is contained in:
@@ -20,7 +20,7 @@ type Config struct {
|
||||
}
|
||||
|
||||
// DBPath SQLite 数据库文件路径。
|
||||
func (c *Config) DBPath() string { return c.DataDir + "/pure-note.db" }
|
||||
func (c *Config) DBPath() string { return c.DataDir + "/pn.db" }
|
||||
|
||||
func addCommonFlags(fs *flag.FlagSet, c *Config) {
|
||||
fs.StringVar(&c.DataDir, "data-dir", "./data", "数据目录(SQLite 数据库所在)")
|
||||
@@ -36,10 +36,10 @@ func addServeFlags(fs *flag.FlagSet, c *Config) {
|
||||
fs.BoolVar(&c.Dev, "dev", false, "开发模式:允许非 Secure Cookie,仅允许监听 loopback 地址")
|
||||
}
|
||||
|
||||
// ParseServe 解析 `pure-note serve` 参数。
|
||||
func ParseServe(args []string) (*Config, error) {
|
||||
// ParseStart 解析 `pn start` 参数。
|
||||
func ParseStart(args []string) (*Config, error) {
|
||||
c := &Config{}
|
||||
fs := flag.NewFlagSet("serve", flag.ContinueOnError)
|
||||
fs := flag.NewFlagSet("start", flag.ContinueOnError)
|
||||
addServeFlags(fs, c)
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return nil, err
|
||||
@@ -50,7 +50,7 @@ func ParseServe(args []string) (*Config, error) {
|
||||
return c, nil
|
||||
}
|
||||
|
||||
// ParseInit 解析 `pure-note init` 参数。
|
||||
// ParseInit 解析 `pn init` 参数。
|
||||
func ParseInit(args []string) (*Config, error) {
|
||||
c := &Config{}
|
||||
fs := flag.NewFlagSet("init", flag.ContinueOnError)
|
||||
@@ -61,7 +61,7 @@ func ParseInit(args []string) (*Config, error) {
|
||||
return c, nil
|
||||
}
|
||||
|
||||
// ParseMaint 解析 `pure-note backup` / `pure-note gc` 参数(均只需数据目录)。
|
||||
// ParseMaint 解析 `pn backup` / `pn gc` / `pn passwd` 参数(均只需数据目录)。
|
||||
// 返回 flag 解析后的剩余位置参数(如 backup 的输出路径)。
|
||||
func ParseMaint(cmd string, args []string) (*Config, []string, error) {
|
||||
c := &Config{}
|
||||
|
||||
@@ -4,20 +4,20 @@ import "testing"
|
||||
|
||||
func TestDevLoopbackGuard(t *testing.T) {
|
||||
// --dev 强制 loopback(§7.3-8)
|
||||
if _, err := ParseServe([]string{"--dev", "--addr", ":8080"}); err == nil {
|
||||
if _, err := ParseStart([]string{"--dev", "--addr", ":8080"}); err == nil {
|
||||
t.Error("--dev + 0.0.0.0 应拒绝启动")
|
||||
}
|
||||
if _, err := ParseServe([]string{"--dev", "--addr", "192.168.1.5:8080"}); err == nil {
|
||||
if _, err := ParseStart([]string{"--dev", "--addr", "192.168.1.5:8080"}); err == nil {
|
||||
t.Error("--dev + 局域网地址应拒绝启动")
|
||||
}
|
||||
if _, err := ParseServe([]string{"--dev", "--addr", "127.0.0.1:8080"}); err != nil {
|
||||
if _, err := ParseStart([]string{"--dev", "--addr", "127.0.0.1:8080"}); err != nil {
|
||||
t.Errorf("--dev + 127.0.0.1 应允许: %v", err)
|
||||
}
|
||||
if _, err := ParseServe([]string{"--dev", "--addr", "localhost:8080"}); err != nil {
|
||||
if _, err := ParseStart([]string{"--dev", "--addr", "localhost:8080"}); err != nil {
|
||||
t.Errorf("--dev + localhost 应允许: %v", err)
|
||||
}
|
||||
// 非 dev 不限制
|
||||
if _, err := ParseServe([]string{"--addr", ":8080"}); err != nil {
|
||||
if _, err := ParseStart([]string{"--addr", ":8080"}); err != nil {
|
||||
t.Errorf("非 dev 任意地址应允许: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ func (s *Server) handleLogin(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
writeError(w, http.StatusInternalServerError, "not_initialized", "尚未初始化管理员口令,请先执行 pure-note init")
|
||||
writeError(w, http.StatusInternalServerError, "not_initialized", "尚未初始化管理员口令,请先执行 pn init")
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ func newEnvCustom(t *testing.T, global, loginIP, loginAcct *middleware.Limiter)
|
||||
loginAcct = middleware.NewLimiter(1e9, 1<<20, 1<<20, time.Minute)
|
||||
}
|
||||
dir := t.TempDir()
|
||||
st, err := store.Open(dir+"/pure-note.db", false)
|
||||
st, err := store.Open(dir+"/pn.db", false)
|
||||
if err != nil {
|
||||
t.Fatalf("打开测试库失败: %v", err)
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
// TestMigrationsFromEmpty 空库 → 最新版本;重复打开幂等(§13 迁移组)。
|
||||
func TestMigrationsFromEmpty(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
dbPath := filepath.Join(dir, "pure-note.db")
|
||||
dbPath := filepath.Join(dir, "pn.db")
|
||||
s1, err := Open(dbPath, false)
|
||||
if err != nil {
|
||||
t.Fatalf("首次打开失败: %v", err)
|
||||
@@ -41,7 +41,7 @@ func TestMigrationsFromEmpty(t *testing.T) {
|
||||
// TestMigrationNewerRejected user_version 越界拒绝启动;--allow-newer 放行(§10.4)。
|
||||
func TestMigrationNewerRejected(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
dbPath := filepath.Join(dir, "pure-note.db")
|
||||
dbPath := filepath.Join(dir, "pn.db")
|
||||
s1, err := Open(dbPath, false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
||||
Reference in New Issue
Block a user