refactor(update): владелец пакета — жёсткая константа packageOwner
All checks were successful
CI / test (push) Successful in 48s
CI / build-and-package (amd64, darwin) (push) Successful in 46s
CI / build-and-package (amd64, linux) (push) Successful in 44s
CI / build-and-package (amd64, windows) (push) Successful in 47s
CI / build-and-package (arm64, darwin) (push) Successful in 45s
CI / build-and-package (arm64, linux) (push) Successful in 47s
All checks were successful
CI / test (push) Successful in 48s
CI / build-and-package (amd64, darwin) (push) Successful in 46s
CI / build-and-package (amd64, linux) (push) Successful in 44s
CI / build-and-package (amd64, windows) (push) Successful in 47s
CI / build-and-package (arm64, darwin) (push) Successful in 45s
CI / build-and-package (arm64, linux) (push) Successful in 47s
- Убран update.owner из конфига, ldflag -X main.updateOwner, vars.TC_GITEA_OWNER и UPDATE_OWNER в Make. - Владелец пакета = packageOwner (kamelion), совпадает с владельцем репо и создателем токена. - app.New снова с 3 аргументами; тесты обновлены.
This commit is contained in:
@@ -20,7 +20,7 @@ func TestNew(t *testing.T) {
|
||||
t.Setenv("RATATOSKR_DB", dbPath)
|
||||
|
||||
// Загружаем без config-файла (дефолты + env)
|
||||
a, err := New("", "dev", "", "")
|
||||
a, err := New("", "dev", "")
|
||||
if err != nil {
|
||||
t.Fatalf("New() err = %v", err)
|
||||
}
|
||||
@@ -50,7 +50,7 @@ func TestNew_MissingToken(t *testing.T) {
|
||||
t.Setenv("TG_CHAT_ID", "12345")
|
||||
t.Setenv("RATATOSKR_DB", dbPath)
|
||||
|
||||
_, err := New("", "dev", "", "")
|
||||
_, err := New("", "dev", "")
|
||||
if err == nil {
|
||||
t.Fatal("expected error for missing token")
|
||||
}
|
||||
@@ -65,7 +65,7 @@ func TestNew_BadDB(t *testing.T) {
|
||||
t.Setenv("TG_CHAT_ID", "12345")
|
||||
t.Setenv("RATATOSKR_DB", dbPath)
|
||||
|
||||
_, err := New("", "dev", "", "")
|
||||
_, err := New("", "dev", "")
|
||||
if err == nil {
|
||||
t.Fatal("expected error for invalid db path")
|
||||
}
|
||||
@@ -82,7 +82,7 @@ func TestNew_RunCtxCancel(t *testing.T) {
|
||||
t.Setenv("TG_CHAT_ID", "12345")
|
||||
t.Setenv("RATATOSKR_DB", dbPath)
|
||||
|
||||
a, err := New("", "dev", "", "")
|
||||
a, err := New("", "dev", "")
|
||||
if err != nil {
|
||||
t.Fatalf("New() err = %v", err)
|
||||
}
|
||||
@@ -109,8 +109,7 @@ func TestMain(t *testing.T) {
|
||||
}
|
||||
|
||||
// TestNew_UpdateWiring проверяет: 1) update.base_url берётся из update-блока
|
||||
// (не git.base_url); 2) приоритет токена: вшитый updateToken > update.token;
|
||||
// 3) приоритет владельца: вшитый updateOwner > update.owner.
|
||||
// (не git.base_url); 2) приоритет токена: вшитый updateToken > update.token.
|
||||
func TestNew_UpdateWiring(t *testing.T) {
|
||||
tmp := t.TempDir()
|
||||
dbPath := filepath.Join(tmp, "test.db")
|
||||
@@ -127,7 +126,6 @@ func TestNew_UpdateWiring(t *testing.T) {
|
||||
" enabled: true",
|
||||
" base_url: \"https://hub.example.com\"",
|
||||
" token: \"cfg-update-token\"",
|
||||
" owner: \"cfg-owner\"",
|
||||
"paths:",
|
||||
" db: \"" + dbPath + "\"",
|
||||
"", // пустая строка в конце
|
||||
@@ -137,7 +135,7 @@ func TestNew_UpdateWiring(t *testing.T) {
|
||||
}
|
||||
|
||||
// 1) base_url из update-блока, а НЕ git
|
||||
a, err := New(configPath, "dev", "", "")
|
||||
a, err := New(configPath, "dev", "")
|
||||
if err != nil {
|
||||
t.Fatalf("New() err = %v", err)
|
||||
}
|
||||
@@ -147,24 +145,21 @@ func TestNew_UpdateWiring(t *testing.T) {
|
||||
if want := "https://hub.example.com"; a.Updater.BaseURL != want {
|
||||
t.Errorf("BaseURL = %q, want %q (должен быть update.base_url, не git.base_url)", a.Updater.BaseURL, want)
|
||||
}
|
||||
// без вшитого токена и владельца берём их из конфига
|
||||
// владелец пакета — жёсткая константа
|
||||
if a.Updater.Owner != packageOwner {
|
||||
t.Errorf("Owner = %q, want %q (константа)", a.Updater.Owner, packageOwner)
|
||||
}
|
||||
// без вшитого токена берём update.token из конфига
|
||||
if a.Updater.Token != "cfg-update-token" {
|
||||
t.Errorf("Token = %q, want cfg-update-token (при пустом вшитом)", a.Updater.Token)
|
||||
}
|
||||
if a.Updater.Owner != "cfg-owner" {
|
||||
t.Errorf("Owner = %q, want cfg-owner (при пустом вшитом)", a.Updater.Owner)
|
||||
}
|
||||
|
||||
// 2) вшитый updateToken перекрывает конфиг
|
||||
a2, err := New(configPath, "dev", "embedded-update-token", "embedded-owner")
|
||||
a2, err := New(configPath, "dev", "embedded-update-token")
|
||||
if err != nil {
|
||||
t.Fatalf("New() err = %v", err)
|
||||
}
|
||||
if a2.Updater.Token != "embedded-update-token" {
|
||||
t.Errorf("Token = %q, want embedded-update-token (вшитый приоритетнее)", a2.Updater.Token)
|
||||
}
|
||||
// 3) вшитый updateOwner перекрывает конфиг
|
||||
if a2.Updater.Owner != "embedded-owner" {
|
||||
t.Errorf("Owner = %q, want embedded-owner (вшитый приоритетнее)", a2.Updater.Owner)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user