@@ -25,14 +25,19 @@ type Runner struct {
25
25
user codersdk.User
26
26
}
27
27
28
+ type User struct {
29
+ codersdk.User
30
+ SessionToken string
31
+ }
32
+
28
33
func NewRunner (client * codersdk.Client ,cfg Config )* Runner {
29
34
return & Runner {
30
35
client :client ,
31
36
cfg :cfg ,
32
37
}
33
38
}
34
39
35
- func (r * Runner )RunReturningUser (ctx context.Context ,id string ,logs io.Writer ) (codersdk. User ,error ) {
40
+ func (r * Runner )RunReturningUser (ctx context.Context ,id string ,logs io.Writer ) (User ,error ) {
36
41
ctx ,span := tracing .StartSpan (ctx )
37
42
defer span .End ()
38
43
@@ -44,7 +49,7 @@ func (r *Runner) RunReturningUser(ctx context.Context, id string, logs io.Writer
44
49
if r .cfg .Username == "" || r .cfg .Email == "" {
45
50
genUsername ,genEmail ,err := loadtestutil .GenerateUserIdentifier (id )
46
51
if err != nil {
47
- return codersdk. User {},xerrors .Errorf ("generate user identifier: %w" ,err )
52
+ return User {},xerrors .Errorf ("generate user identifier: %w" ,err )
48
53
}
49
54
if r .cfg .Username == "" {
50
55
r .cfg .Username = genUsername
@@ -57,7 +62,7 @@ func (r *Runner) RunReturningUser(ctx context.Context, id string, logs io.Writer
57
62
_ ,_ = fmt .Fprintln (logs ,"Generating user password..." )
58
63
password ,err := cryptorand .String (16 )
59
64
if err != nil {
60
- return codersdk. User {},xerrors .Errorf ("generate random password for user: %w" ,err )
65
+ return User {},xerrors .Errorf ("generate random password for user: %w" ,err )
61
66
}
62
67
63
68
_ ,_ = fmt .Fprintln (logs ,"Creating user:" )
@@ -68,7 +73,7 @@ func (r *Runner) RunReturningUser(ctx context.Context, id string, logs io.Writer
68
73
Password :password ,
69
74
})
70
75
if err != nil {
71
- return codersdk. User {},xerrors .Errorf ("create user: %w" ,err )
76
+ return User {},xerrors .Errorf ("create user: %w" ,err )
72
77
}
73
78
r .user = user
74
79
@@ -79,7 +84,7 @@ func (r *Runner) RunReturningUser(ctx context.Context, id string, logs io.Writer
79
84
Password :password ,
80
85
})
81
86
if err != nil {
82
- return codersdk. User {},xerrors .Errorf ("login as new user: %w" ,err )
87
+ return User {},xerrors .Errorf ("login as new user: %w" ,err )
83
88
}
84
89
r .sessionToken = loginRes .SessionToken
85
90
@@ -88,7 +93,7 @@ func (r *Runner) RunReturningUser(ctx context.Context, id string, logs io.Writer
88
93
_ ,_ = fmt .Fprintf (logs ,"\t Email: %s\n " ,user .Email )
89
94
_ ,_ = fmt .Fprintf (logs ,"\t Password: ****************\n " )
90
95
91
- return user ,nil
96
+ return User { User : user , SessionToken : r . sessionToken } ,nil
92
97
}
93
98
94
99
func (r * Runner )Cleanup (ctx context.Context ,_ string ,logs io.Writer )error {
@@ -101,7 +106,3 @@ func (r *Runner) Cleanup(ctx context.Context, _ string, logs io.Writer) error {
101
106
}
102
107
return nil
103
108
}
104
-
105
- func (r * Runner )SessionToken ()string {
106
- return r .sessionToken
107
- }