1// Copyright 2015 Keybase, Inc. All rights reserved. Use of
2// this source code is governed by the included BSD license.
3
4package engine
5
6import (
7	"testing"
8
9	"github.com/keybase/client/go/libkb"
10)
11
12func TestDeviceKey(t *testing.T) {
13	tc := SetupEngineTest(t, "dkal")
14	defer tc.Cleanup()
15
16	fu := CreateAndSignupFakeUser(tc, "dkal")
17
18	check := func() {
19		u, err := libkb.LoadMe(libkb.NewLoadUserArg(tc.G))
20		if err != nil {
21			t.Fatal(err)
22		}
23		if u == nil {
24			t.Fatalf("Can't load current user")
25		}
26
27		if subkey, err := u.GetDeviceSubkey(); err != nil {
28			t.Fatal(err)
29		} else if subkey == nil {
30			t.Fatalf("Failed to load device subkey right after signup")
31		}
32	}
33	check()
34
35	Logout(tc)
36	fu.LoginOrBust(tc)
37	check()
38}
39