-
Notifications
You must be signed in to change notification settings - Fork 84
Expand file tree
/
Copy pathclipboard_test.go
More file actions
90 lines (74 loc) · 2.08 KB
/
clipboard_test.go
File metadata and controls
90 lines (74 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package open
import (
"runtime"
"testing"
"github.com/microsoft/go-sqlcmd/cmd/modern/sqlconfig"
"github.com/microsoft/go-sqlcmd/internal/cmdparser"
)
func TestCopyPasswordToClipboardWithNoUser(t *testing.T) {
if runtime.GOOS == "linux" {
t.Skip("Skipping on Linux due to ADS tool initialization issue in tools factory")
}
cmdparser.TestSetup(t)
result := copyPasswordToClipboard(nil, nil)
if result {
t.Error("Expected false when user is nil")
}
}
func TestCopyPasswordToClipboardWithNonBasicAuth(t *testing.T) {
if runtime.GOOS == "linux" {
t.Skip("Skipping on Linux due to ADS tool initialization issue in tools factory")
}
cmdparser.TestSetup(t)
user := &sqlconfig.User{
AuthenticationType: "windows",
Name: "test-user",
}
result := copyPasswordToClipboard(user, nil)
if result {
t.Error("Expected false when auth type is not 'basic'")
}
}
func TestCopyPasswordToClipboardWithEmptyPassword(t *testing.T) {
user := &sqlconfig.User{
AuthenticationType: "basic",
BasicAuth: &sqlconfig.BasicAuthDetails{
Username: "sa",
PasswordEncryption: "",
Password: "",
},
}
if !userShouldCopyPassword(user) {
t.Error("userShouldCopyPassword should return true for basic auth user")
}
}
func TestCopyPasswordToClipboardLogic(t *testing.T) {
if userShouldCopyPassword(nil) {
t.Error("Should not copy password when user is nil")
}
user := &sqlconfig.User{
AuthenticationType: "integrated",
}
if userShouldCopyPassword(user) {
t.Error("Should not copy password when auth type is not basic")
}
user = &sqlconfig.User{
AuthenticationType: "basic",
BasicAuth: &sqlconfig.BasicAuthDetails{
Username: "sa",
Password: "test",
},
}
if !userShouldCopyPassword(user) {
t.Error("Should copy password when auth type is basic")
}
}
// userShouldCopyPassword is a helper that tests the condition logic
func userShouldCopyPassword(user *sqlconfig.User) bool {
if user == nil || user.AuthenticationType != "basic" {
return false
}
return true
}