本文整理汇总了Golang中github.com/keybase/client/go/libkb.NewLoadUserByNameArg函数的典型用法代码示例。如果您正苦于以下问题:Golang NewLoadUserByNameArg函数的具体用法?Golang NewLoadUserByNameArg怎么用?Golang NewLoadUserByNameArg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewLoadUserByNameArg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: CreateAndSignupFakeUser
func CreateAndSignupFakeUser(prefix string, g *libkb.GlobalContext) (*FakeUser, error) {
fu, err := NewFakeUser(prefix)
if err != nil {
return nil, err
}
arg := engine.SignupEngineRunArg{
Username: fu.Username,
Email: fu.Email,
InviteCode: testInviteCode,
Passphrase: fu.Passphrase,
DeviceName: "my device",
SkipGPG: true,
SkipMail: true,
}
ctx := &engine.Context{
LogUI: g.UI.GetLogUI(),
GPGUI: &gpgtestui{},
SecretUI: fu.NewSecretUI(),
LoginUI: &libkb.TestLoginUI{Username: fu.Username},
}
s := engine.NewSignupEngine(&arg, g)
if err := engine.RunEngine(s, ctx); err != nil {
return nil, err
}
fu.User, err = libkb.LoadUser(libkb.NewLoadUserByNameArg(g, fu.Username))
if err != nil {
return nil, err
}
return fu, nil
}
示例2: Run
func (e *ListTrackingEngine) Run(ctx *Context) (err error) {
var user *libkb.User
if len(e.arg.ForAssertion) > 0 {
user, err = libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), e.arg.ForAssertion))
} else {
user, err = libkb.LoadMe(libkb.NewLoadUserArg(e.G()))
}
if err != nil {
return
}
var trackList TrackList
trackList = user.IDTable().GetTrackList()
trackList, err = filterRxx(trackList, e.arg.Filter)
if err != nil {
return
}
sort.Sort(trackList)
if e.arg.JSON {
err = e.runJSON(trackList, e.arg.Verbose)
} else {
err = e.runTable(trackList)
}
return
}
示例3: runLoggedIn
func (e *PGPPullEngine) runLoggedIn(ctx *Context, summaries []keybase1.UserSummary) error {
// Loop over the list of all users we track.
for _, userSummary := range summaries {
// Compute the set of tracked pgp fingerprints. LoadUser will fetch key
// data from the server, and we will compare it against this.
trackedFingerprints := make(map[string]bool)
for _, pubKey := range userSummary.Proofs.PublicKeys {
if pubKey.PGPFingerprint != "" {
trackedFingerprints[pubKey.PGPFingerprint] = true
}
}
// Get user data from the server.
user, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), userSummary.Username))
if err != nil {
ctx.LogUI.Errorf("Failed to load user %s: %s", userSummary.Username, err)
continue
}
if err = e.exportKeysToGPG(ctx, user, trackedFingerprints); err != nil {
return err
}
}
return nil
}
示例4: assertUntracked
func assertUntracked(tc libkb.TestContext, username string) {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(tc.G))
if err != nil {
tc.T.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
tc.T.Fatal(err)
}
if s != nil {
tc.T.Fatal("expected not to get a tracking statement; but got one")
}
s, err = libkb.LocalTrackChainLinkFor(me.GetUID(), them.GetUID(), tc.G)
if err != nil {
tc.T.Fatal(err)
}
if s != nil {
tc.T.Fatal("expected not to get a local tracking statement; but got one")
}
}
示例5: loadThem
func (e *TrackToken) loadThem(username string) error {
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), username))
if err != nil {
return err
}
e.them = them
return nil
}
示例6: loadUser
// loadUser will load the user by name specified in e.username.
func (e *LoginProvision) loadUser(ctx *Context) (*libkb.User, error) {
if len(e.username) == 0 {
return nil, libkb.NoUsernameError{}
}
e.G().Log.Debug("LoginProvision: loading user %s", e.username)
arg := libkb.NewLoadUserByNameArg(e.G(), e.username)
arg.PublicKeyOptional = true
return libkb.LoadUser(arg)
}
示例7: TestSelectEngine
func TestSelectEngine(t *testing.T) {
tc := SetupEngineTest(t, "select")
defer tc.Cleanup()
fu := NewFakeUserOrBust(t, "se")
if err := tc.GenerateGPGKeyring(fu.Email); err != nil {
t.Fatal(err)
}
arg := MakeTestSignupEngineRunArg(fu)
arg.SkipGPG = false
s := NewSignupEngine(&arg, tc.G)
testui := &gpgtestui{}
ctx := &Context{
LogUI: tc.G.UI.GetLogUI(),
GPGUI: testui,
SecretUI: fu.NewSecretUI(),
LoginUI: &libkb.TestLoginUI{Username: fu.Username},
}
if err := RunEngine(s, ctx); err != nil {
t.Fatal(err)
}
fuUser, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, fu.Username))
if err != nil {
tc.T.Fatal(err)
}
publicKeys := fuUser.GetActivePGPKeys(false)
if len(publicKeys) != 1 {
tc.T.Fatal("There should be one generated PGP key")
}
key := publicKeys[0]
fp := fmt.Sprintf("%s", key.GetFingerprint())
garg := GPGImportKeyArg{
Query: fp,
AllowMulti: true,
SkipImport: false,
OnlyImport: false,
}
gpg := NewGPGImportKeyEngine(&garg, tc.G)
err = RunEngine(gpg, ctx)
// The GPGImportKeyEngine converts a multi select on the same key into
// an update, so our test checks that the update code ran, by counting
// on the test version of the update key prompt.
if testui.keyChosenCount != 1 {
tc.T.Fatal("Selected the same key twice and no update happened")
}
if len(gpg.duplicatedFingerprints) != 1 {
tc.T.Fatal("Server didn't return an error while updating")
}
if !key.GetFingerprint().Eq(gpg.duplicatedFingerprints[0]) {
tc.T.Fatal("Our fingerprint ID wasn't returned as up to date")
}
return
}
示例8: getCurrentBTCAddr
func getCurrentBTCAddr(tc libkb.TestContext, username string) string {
u, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
cryptoLink := u.IDTable().ActiveCryptocurrency()
if cryptoLink == nil {
return ""
}
return cryptoLink.ToDisplayString()
}
示例9: LoadUserByName
func (h *UserHandler) LoadUserByName(_ context.Context, arg keybase1.LoadUserByNameArg) (user keybase1.User, err error) {
loadUserArg := libkb.NewLoadUserByNameArg(h.G(), arg.Username)
loadUserArg.PublicKeyOptional = true
u, err := libkb.LoadUser(loadUserArg)
if err != nil {
return
}
exportedUser := u.Export()
user = *exportedUser
return
}
示例10: loadUser
// loadUser will prompt for username (if not provided) and load the user.
func (e *LoginProvision) loadUser(ctx *Context) (*libkb.User, error) {
if len(e.arg.Username) == 0 {
username, err := ctx.LoginUI.GetEmailOrUsername(context.TODO(), 0)
if err != nil {
return nil, err
}
e.arg.Username = username
}
arg := libkb.NewLoadUserByNameArg(e.G(), e.arg.Username)
arg.PublicKeyOptional = true
return libkb.LoadUser(arg)
}
示例11: ensureUID
func (e *ListTrackersEngine) ensureUID() error {
if e.uid.Exists() {
return nil
}
if len(e.username) == 0 {
e.uid = e.G().GetMyUID()
return nil
}
user, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), e.username))
if err != nil {
return err
}
e.uid = user.GetUID()
return nil
}
示例12: isTracking
func (p *pgpPair) isTracking(meContext libkb.TestContext, username string) bool {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(meContext.G))
if err != nil {
p.t.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(meContext.G, username))
if err != nil {
p.t.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
p.t.Fatal(err)
}
return s != nil
}
示例13: Run
func (e *PGPPullEngine) Run(ctx *Context) error {
summaries, err := e.getTrackedUserSummaries(ctx)
if err != nil {
return err
}
gpgClient := libkb.NewGpgCLI(libkb.GpgCLIArg{
LogUI: ctx.LogUI,
})
err = gpgClient.Configure()
if err != nil {
return err
}
// Loop over the list of all users we track.
for _, userSummary := range summaries {
// Compute the set of tracked pgp fingerprints. LoadUser will fetch key
// data from the server, and we will compare it against this.
trackedFingerprints := make(map[string]bool)
for _, pubKey := range userSummary.Proofs.PublicKeys {
if pubKey.PGPFingerprint != "" {
trackedFingerprints[pubKey.PGPFingerprint] = true
}
}
// Get user data from the server.
user, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), userSummary.Username))
if err != nil {
ctx.LogUI.Errorf("Failed to load user %s: %s", userSummary.Username, err)
continue
}
for _, bundle := range user.GetActivePGPKeys(false) {
// Check each key against the tracked set.
if !trackedFingerprints[bundle.GetFingerprint().String()] {
ctx.LogUI.Warning("Keybase says that %s owns key %s, but you have not tracked this fingerprint before.", user.GetName(), bundle.GetFingerprint())
continue
}
err = gpgClient.ExportKey(*bundle)
if err != nil {
return err
}
ctx.LogUI.Info("Imported key for %s.", user.GetName())
}
}
return nil
}
示例14: loadUsers
// don't identify or track, just load the users
func (e *PGPKeyfinder) loadUsers(ctx *Context) {
if e.runerr != nil {
return
}
for _, u := range e.arg.Usernames {
arg := libkb.NewLoadUserByNameArg(e.G(), u)
user, err := libkb.LoadUser(arg)
if err != nil {
e.runerr = err
return
}
e.addUser(user, false)
}
}
示例15: assertNotTracking
func assertNotTracking(tc libkb.TestContext, username string) {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(tc.G))
if err != nil {
tc.T.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
tc.T.Fatal(err)
}
if s != nil {
tc.T.Errorf("a tracking statement exists for %s -> %s", me.GetName(), them.GetName())
}
}