mirror of
https://github.com/larksuite/cli.git
synced 2026-08-01 23:50:19 +08:00
Port changes from feat/strict-mode-identity-filter_3 branch: - Add strict mode for identity filtering and configuration - Add profile management commands (add/list/remove/rename/use) - Add credential extension framework (registry, env provider) - Add VFS abstraction layer - Refactor factory default and client options - Update shortcuts to use new credential and validation patterns Change-Id: I8c104c6b147e1901d94aefcefe35a174932c742b Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
76 lines
2.0 KiB
Go
76 lines
2.0 KiB
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package cmdutil
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func TestDisableAuthCheck(t *testing.T) {
|
|
cmd := &cobra.Command{Use: "test"}
|
|
if IsAuthCheckDisabled(cmd) {
|
|
t.Error("expected auth check to be enabled by default")
|
|
}
|
|
|
|
DisableAuthCheck(cmd)
|
|
if !IsAuthCheckDisabled(cmd) {
|
|
t.Error("expected auth check to be disabled after DisableAuthCheck")
|
|
}
|
|
}
|
|
|
|
func TestIsAuthCheckDisabled_Inheritance(t *testing.T) {
|
|
parent := &cobra.Command{Use: "parent"}
|
|
child := &cobra.Command{Use: "child"}
|
|
parent.AddCommand(child)
|
|
|
|
if IsAuthCheckDisabled(child) {
|
|
t.Error("expected child auth check enabled before parent annotation")
|
|
}
|
|
|
|
DisableAuthCheck(parent)
|
|
if !IsAuthCheckDisabled(child) {
|
|
t.Error("expected child to inherit disabled auth check from parent")
|
|
}
|
|
}
|
|
|
|
func TestIsAuthCheckDisabled_NoInheritanceUpward(t *testing.T) {
|
|
parent := &cobra.Command{Use: "parent"}
|
|
child := &cobra.Command{Use: "child"}
|
|
parent.AddCommand(child)
|
|
|
|
DisableAuthCheck(child)
|
|
if IsAuthCheckDisabled(parent) {
|
|
t.Error("parent should not inherit disabled auth check from child")
|
|
}
|
|
if !IsAuthCheckDisabled(child) {
|
|
t.Error("child should have disabled auth check")
|
|
}
|
|
}
|
|
|
|
func TestSetGetSupportedIdentities(t *testing.T) {
|
|
cmd := &cobra.Command{Use: "test"}
|
|
if got := GetSupportedIdentities(cmd); got != nil {
|
|
t.Errorf("expected nil, got %v", got)
|
|
}
|
|
SetSupportedIdentities(cmd, []string{"user", "bot"})
|
|
got := GetSupportedIdentities(cmd)
|
|
if len(got) != 2 || got[0] != "user" || got[1] != "bot" {
|
|
t.Errorf("expected [user bot], got %v", got)
|
|
}
|
|
}
|
|
|
|
func TestSetSupportedIdentities_OverwriteExisting(t *testing.T) {
|
|
cmd := &cobra.Command{Use: "test", Annotations: map[string]string{"other": "val"}}
|
|
SetSupportedIdentities(cmd, []string{"bot"})
|
|
if cmd.Annotations["other"] != "val" {
|
|
t.Error("existing annotation should be preserved")
|
|
}
|
|
got := GetSupportedIdentities(cmd)
|
|
if len(got) != 1 || got[0] != "bot" {
|
|
t.Errorf("expected [bot], got %v", got)
|
|
}
|
|
}
|