github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/engine/login_provisioned_device_test.go (about)

     1  package engine
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/keybase/client/go/libkb"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestLoginDeviceIDConfigIssues(t *testing.T) {
    11  	tc := SetupEngineTest(t, "login")
    12  	defer tc.Cleanup()
    13  
    14  	// create a user to fill up config with something
    15  	fu := CreateAndSignupFakeUser(tc, "fake")
    16  	Logout(tc)
    17  
    18  	// remove device id from config file
    19  	err := tc.G.Env.GetConfigWriter().SetDeviceID("")
    20  	require.NoError(t, err)
    21  
    22  	// now try to log in on current device
    23  	uis := libkb.UIs{
    24  		LoginUI:  &libkb.TestLoginUI{Username: fu.Username},
    25  		LogUI:    tc.G.UI.GetLogUI(),
    26  		SecretUI: fu.NewSecretUI(),
    27  	}
    28  	eng := NewLoginProvisionedDevice(tc.G, fu.Username)
    29  	m := NewMetaContextForTest(tc).WithUIs(uis)
    30  	err = RunEngine2(m, eng)
    31  	if err != errNoDevice {
    32  		t.Errorf("run error: %v, expected %v", err, errNoDevice)
    33  	}
    34  
    35  	// put a device id into config file that is not this user's device
    36  	err = tc.G.Env.GetConfigWriter().SetDeviceID("31a7669bfa163eed3619780ebac8ee18")
    37  	require.NoError(t, err)
    38  	eng = NewLoginProvisionedDevice(tc.G, fu.Username)
    39  	err = RunEngine2(m, eng)
    40  	if err != errNoDevice {
    41  		t.Errorf("run error: %v, expected %v", err, errNoDevice)
    42  	}
    43  }