github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/engine/prove_check_test.go (about) 1 // Copyright 2015 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 package engine 5 6 import ( 7 "testing" 8 9 "github.com/keybase/client/go/libkb" 10 keybase1 "github.com/keybase/client/go/protocol/keybase1" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestProveCheck(t *testing.T) { 15 doWithSigChainVersions(func(sigVersion libkb.SigVersion) { 16 tc := SetupEngineTest(t, "proveCheck") 17 defer tc.Cleanup() 18 19 fu := CreateAndSignupFakeUser(tc, "prove") 20 21 proveCheck := func(sigID keybase1.SigID, noText bool) { 22 checkEng := NewProveCheck(tc.G, sigID) 23 m := libkb.NewMetaContextTODO(tc.G) 24 err := RunEngine2(m, checkEng) 25 require.NoError(t, err) 26 27 found, status, state, text := checkEng.Results() 28 require.True(t, found) 29 require.Equal(t, keybase1.ProofStatus_OK, status) 30 require.Equal(t, keybase1.ProofState_OK, state) 31 if noText { 32 require.Zero(t, len(text)) 33 } else { 34 require.NotZero(t, len(text)) 35 } 36 } 37 38 proveUI, sigID, err := proveRooter(tc.G, fu, sigVersion) 39 require.NoError(t, err) 40 require.False(t, proveUI.overwrite) 41 require.False(t, proveUI.warning) 42 require.False(t, proveUI.recheck) 43 require.True(t, proveUI.checked) 44 proveCheck(sigID, false /* noText */) 45 46 sigID = proveGubbleSocial(tc, fu, sigVersion) 47 proveCheck(sigID, true /* noText */) 48 }) 49 }