fleet/server/mdm/nanomdm/certverify/fallback_test.go
Victor Lyuboslavsky e4df954b0f
Update nanomdm dependency with latest bug fixes and improvements. (#23906)
#23905 

- Update with upstream nanomdm changes up to
825f2979a2
- Removed PostgeSQL folder from our nanomdm
- Added nanomdm MySQL test job to our CI

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-11-20 11:47:11 -06:00

50 lines
1.3 KiB
Go

package certverify
import (
"context"
"crypto/x509"
"errors"
"testing"
)
type errVerifier struct{ err error }
func (v *errVerifier) Verify(_ context.Context, _ *x509.Certificate) error {
return v.err
}
var nilErroringVerifier = &errVerifier{}
var errErroringVerifier = &errVerifier{err: errors.New("verifier error")}
func TestFallbackVerifier(t *testing.T) {
v := NewFallbackVerifier(nilErroringVerifier)
err := v.Verify(context.Background(), nil)
if err != nil {
t.Errorf("should not have errored: %v", err)
}
v = NewFallbackVerifier(nilErroringVerifier, nilErroringVerifier)
if err = v.Verify(context.Background(), nil); err != nil {
t.Errorf("should not have errored: %v", err)
}
v = NewFallbackVerifier(errErroringVerifier)
if err = v.Verify(context.Background(), nil); err == nil {
t.Error("should have errored")
}
v = NewFallbackVerifier(errErroringVerifier, nilErroringVerifier)
if err = v.Verify(context.Background(), nil); err != nil {
t.Errorf("should not have errored: %v", err)
}
v = NewFallbackVerifier(nilErroringVerifier, errErroringVerifier)
if err = v.Verify(context.Background(), nil); err != nil {
t.Errorf("should not have errored: %v", err)
}
v = NewFallbackVerifier(errErroringVerifier, errErroringVerifier)
if err = v.Verify(context.Background(), nil); err == nil {
t.Error("should have errored")
}
}