// GetRootNodeOrBust gets the root node for the given TLF name, which // must be canonical, creating it if necessary, and failing if there's // an error. func GetRootNodeOrBust( t logger.TestLogBackend, config Config, name string, public bool) Node { n, err := GetRootNodeForTest(config, name, public) if err != nil { t.Fatalf("Couldn't get root node for %s (public=%t): %v", name, public, err) } return n }
// parseTlfHandleOrBust parses the given TLF name, which must be // canonical, into a TLF handle, and failing if there's an error. func parseTlfHandleOrBust(t logger.TestLogBackend, config Config, name string, public bool) *TlfHandle { ctx := context.Background() h, err := ParseTlfHandle(ctx, config.KBPKI(), name, public, config.SharingBeforeSignupEnabled()) if err != nil { t.Fatalf("Couldn't parse %s (public=%t) into a TLF handle: %v", name, public, err) } return h }
func testRPCWithCanceledContext(t logger.TestLogBackend, serverConn net.Conn, fn func(context.Context) error) { ctx, cancel := context.WithCancel(context.Background()) go func() { // Wait for RPC in fn to make progress. n, err := serverConn.Read([]byte{1}) assert.Equal(t, n, 1) assert.NoError(t, err) cancel() }() err := fn(ctx) if err != context.Canceled { t.Fatalf("Function did not return a canceled error: %v", err) } }
// SwitchDeviceForLocalUserOrBust switches the current user's current device func SwitchDeviceForLocalUserOrBust(t logger.TestLogBackend, config Config, index int) { name, uid, err := config.KBPKI().GetCurrentUserInfo(context.Background()) if err != nil { t.Fatalf("Couldn't get UID: %v", err) } kbd, ok := config.KeybaseDaemon().(*KeybaseDaemonLocal) if !ok { t.Fatal("Bad keybase daemon") } if err := kbd.switchDeviceForTesting(uid, index); err != nil { t.Fatal(err.Error()) } if _, ok := config.Crypto().(*CryptoLocal); !ok { t.Fatal("Bad crypto") } keySalt := keySaltForUserDevice(name, index) signingKey := MakeLocalUserSigningKeyOrBust(keySalt) cryptPrivateKey := MakeLocalUserCryptPrivateKeyOrBust(keySalt) config.SetCrypto(NewCryptoLocal(config, signingKey, cryptPrivateKey)) }