mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 04:36:43 +00:00
feat(BRIDGE-281): disable keychain test on macOS.
This commit is contained in:
@ -31,21 +31,12 @@ const (
|
||||
MacOSKeychain = "macos-keychain"
|
||||
)
|
||||
|
||||
func listHelpers(skipKeychainTest bool) (Helpers, string) {
|
||||
func listHelpers() (Helpers, string) {
|
||||
helpers := make(Helpers)
|
||||
|
||||
// MacOS always provides a keychain.
|
||||
if skipKeychainTest {
|
||||
logrus.WithField("pkg", "keychain").Info("Skipping macOS keychain test")
|
||||
helpers[MacOSKeychain] = newMacOSHelper
|
||||
} else {
|
||||
if isUsable(newMacOSHelper("")) {
|
||||
helpers[MacOSKeychain] = newMacOSHelper
|
||||
logrus.WithField("keychain", "MacOSKeychain").Info("Keychain is usable.")
|
||||
} else {
|
||||
logrus.WithField("keychain", "MacOSKeychain").Debug("Keychain is not available.")
|
||||
}
|
||||
}
|
||||
logrus.WithField("pkg", "keychain").Info("Skipping macOS keychain test")
|
||||
helpers[MacOSKeychain] = newMacOSHelper
|
||||
|
||||
// Use MacOSKeychain by default.
|
||||
return helpers, MacOSKeychain
|
||||
|
||||
@ -31,7 +31,7 @@ const (
|
||||
SecretServiceDBus = "secret-service-dbus"
|
||||
)
|
||||
|
||||
func listHelpers(_ bool) (Helpers, string) {
|
||||
func listHelpers() (Helpers, string) {
|
||||
helpers := make(Helpers)
|
||||
|
||||
if isUsable(newDBusHelper("")) {
|
||||
|
||||
@ -25,7 +25,7 @@ import (
|
||||
|
||||
const WindowsCredentials = "windows-credentials"
|
||||
|
||||
func listHelpers(_ bool) (Helpers, string) {
|
||||
func listHelpers() (Helpers, string) {
|
||||
helpers := make(Helpers)
|
||||
// Windows always provides a keychain.
|
||||
if isUsable(newWinCredHelper("")) {
|
||||
|
||||
@ -62,9 +62,9 @@ type List struct {
|
||||
// NewList checks availability of every keychains detected on the User Operating System
|
||||
// This will ask the user to unlock keychain(s) to check their usability.
|
||||
// This should only be called once.
|
||||
func NewList(skipKeychainTest bool) *List {
|
||||
func NewList() *List {
|
||||
var list = List{locker: &sync.Mutex{}}
|
||||
list.helpers, list.defaultHelper = listHelpers(skipKeychainTest)
|
||||
list.helpers, list.defaultHelper = listHelpers()
|
||||
return &list
|
||||
}
|
||||
|
||||
@ -210,7 +210,7 @@ func (kc *Keychain) secretURL(userID string) string {
|
||||
}
|
||||
|
||||
// isUsable returns whether the credentials helper is usable.
|
||||
func isUsable(helper credentials.Helper, err error) bool {
|
||||
func isUsable(helper credentials.Helper, err error) bool { //nolint:unused
|
||||
l := logrus.WithField("helper", reflect.TypeOf(helper))
|
||||
|
||||
if err != nil {
|
||||
@ -240,7 +240,7 @@ func isUsable(helper credentials.Helper, err error) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func getTestCredentials() *credentials.Credentials {
|
||||
func getTestCredentials() *credentials.Credentials { //nolint:unused
|
||||
// On macOS, a handful of users experience failures of the test credentials.
|
||||
if runtime.GOOS == "darwin" {
|
||||
return &credentials.Credentials{
|
||||
@ -257,7 +257,7 @@ func getTestCredentials() *credentials.Credentials {
|
||||
}
|
||||
}
|
||||
|
||||
func retry(condition func() error) error {
|
||||
func retry(condition func() error) error { //nolint:unused
|
||||
var maxRetry = 5
|
||||
for r := 0; ; r++ {
|
||||
err := condition()
|
||||
|
||||
@ -117,7 +117,7 @@ func TestInsertReadRemove(t *testing.T) {
|
||||
|
||||
func TestIsErrKeychainNoItem(t *testing.T) {
|
||||
r := require.New(t)
|
||||
helpers := NewList(false).GetHelpers()
|
||||
helpers := NewList().GetHelpers()
|
||||
|
||||
for helperName := range helpers {
|
||||
kc, err := NewKeychain(helperName, "bridge-test", helpers, helperName)
|
||||
|
||||
Reference in New Issue
Block a user