github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/engine/list_trackers_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  )
    11  
    12  // TestTrackerList2 creates a new fake user and has that user track
    13  // t_alice. It then uses the TrackerList engine to get the
    14  // t_alice's trackers and makes sure that the new fake user is in
    15  // the list.
    16  func TestListTrackers2(t *testing.T) {
    17  	doWithSigChainVersions(func(sigVersion libkb.SigVersion) {
    18  		_testListTrackers2(t, sigVersion)
    19  	})
    20  }
    21  
    22  func _testListTrackers2(t *testing.T, sigVersion libkb.SigVersion) {
    23  	tc := SetupEngineTest(t, "trackerlist")
    24  	defer tc.Cleanup()
    25  
    26  	fu := CreateAndSignupFakeUser(tc, "login")
    27  	trackAlice(tc, fu, sigVersion)
    28  	defer untrackAlice(tc, fu, sigVersion)
    29  
    30  	e := NewListTrackersUnverifiedEngine(tc.G, ListTrackersUnverifiedEngineArg{Assertion: "t_alice"})
    31  	m := NewMetaContextForTestWithLogUI(tc)
    32  	if err := RunEngine2(m, e); err != nil {
    33  		t.Fatal(err)
    34  	}
    35  	res := e.GetResults()
    36  	if len(res.Users) == 0 {
    37  		t.Errorf("t_alice tracker count: 0. expected > 0.")
    38  	}
    39  
    40  	found := false
    41  	for _, x := range res.Users {
    42  		if x.Username == fu.Username {
    43  			found = true
    44  			break
    45  		}
    46  	}
    47  	if !found {
    48  		t.Errorf("fake user %q not included in list of t_alice trackers.", fu.Username)
    49  		t.Logf("tracker list:")
    50  		for i, x := range res.Users {
    51  			t.Logf("%d: %s", i, x.Username)
    52  		}
    53  	}
    54  }