fix: Protect codersdk.Client SessionToken so it can be updated (#4965)

This feature is used by the coder agent to exchange a new token. By
protecting the SessionToken via mutex we ensure there are no data races
when accessing it.
This commit is contained in:
Mathias Fredriksson
2022-11-09 15:31:24 +02:00
committed by GitHub
parent 8cadb33396
commit 26ab0d37c1
25 changed files with 82 additions and 64 deletions
+3 -3
View File
@@ -36,7 +36,7 @@ func TestReplicas(t *testing.T) {
Pubsub: pubsub,
},
})
secondClient.SessionToken = firstClient.SessionToken
secondClient.SetSessionToken(firstClient.SessionToken())
ents, err := secondClient.Entitlements(context.Background())
require.NoError(t, err)
require.Len(t, ents.Errors, 1)
@@ -67,7 +67,7 @@ func TestReplicas(t *testing.T) {
Pubsub: pubsub,
},
})
secondClient.SessionToken = firstClient.SessionToken
secondClient.SetSessionToken(firstClient.SessionToken())
replicas, err := secondClient.Replicas(context.Background())
require.NoError(t, err)
require.Len(t, replicas, 2)
@@ -110,7 +110,7 @@ func TestReplicas(t *testing.T) {
TLSCertificates: certificates,
},
})
secondClient.SessionToken = firstClient.SessionToken
secondClient.SetSessionToken(firstClient.SessionToken())
replicas, err := secondClient.Replicas(context.Background())
require.NoError(t, err)
require.Len(t, replicas, 2)
+1 -1
View File
@@ -120,7 +120,7 @@ func setupWorkspaceAgent(t *testing.T, client *codersdk.Client, user codersdk.Cr
},
},
}
agentClient.SessionToken = authToken
agentClient.SetSessionToken(authToken)
agentCloser := agent.New(agent.Options{
Client: agentClient,
Logger: slogtest.Make(t, nil).Named("agent"),