1package engine 2 3import ( 4 "testing" 5 6 "github.com/keybase/client/go/libkb" 7 "github.com/stretchr/testify/require" 8) 9 10func 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} 44