Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitccf6f4e

Browse files
authored
chore: Use contexts with timeout incoderd tests (#3381)
1 parent690ba66 commitccf6f4e

18 files changed

+1082
-357
lines changed

‎coderd/coderd_test.go‎

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ func TestMain(m *testing.M) {
5050
funcTestBuildInfo(t*testing.T) {
5151
t.Parallel()
5252
client:=coderdtest.New(t,nil)
53-
buildInfo,err:=client.BuildInfo(context.Background())
53+
54+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
55+
defercancel()
56+
57+
buildInfo,err:=client.BuildInfo(ctx)
5458
require.NoError(t,err)
5559
require.Equal(t,buildinfo.ExternalURL(),buildInfo.ExternalURL,"external URL")
5660
require.Equal(t,buildinfo.Version(),buildInfo.Version,"version")
@@ -59,10 +63,10 @@ func TestBuildInfo(t *testing.T) {
5963
// TestAuthorizeAllEndpoints will check `authorize` is called on every endpoint registered.
6064
funcTestAuthorizeAllEndpoints(t*testing.T) {
6165
t.Parallel()
62-
var (
63-
ctx=context.Background()
64-
authorizer=&fakeAuthorizer{}
65-
)
66+
authorizer:=&fakeAuthorizer{}
67+
68+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
69+
defercancel()
6670

6771
// This function was taken from coderdtest.newWithAPI. It is intentionally
6872
// copied to avoid exposing the API to other tests in coderd. Tests should
@@ -84,7 +88,7 @@ func TestAuthorizeAllEndpoints(t *testing.T) {
8488
require.NoError(t,err)
8589
db=database.New(sqlDB)
8690

87-
pubsub,err=database.NewPubsub(context.Background(),sqlDB,connectionURL)
91+
pubsub,err=database.NewPubsub(ctx,sqlDB,connectionURL)
8892
require.NoError(t,err)
8993
t.Cleanup(func() {
9094
_=pubsub.Close()
@@ -94,8 +98,8 @@ func TestAuthorizeAllEndpoints(t *testing.T) {
9498
tickerCh:=make(chan time.Time)
9599
t.Cleanup(func() {close(tickerCh) })
96100

97-
ctx,cancelFunc:=context.WithCancel(context.Background())
98-
defert.Cleanup(cancelFunc)// Defer to ensure cancelFunc is executed first.
101+
ctx,cancel:=context.WithCancel(ctx)// Shadowed to avoid mixing contexts.
102+
defert.Cleanup(cancel)// Defer to ensure cancelFunc is executed first.
99103

100104
lifecycleExecutor:=executor.New(
101105
ctx,
@@ -513,7 +517,7 @@ func TestAuthorizeAllEndpoints(t *testing.T) {
513517
route=strings.ReplaceAll(route,"{scope}",string(templateParam.Scope))
514518
route=strings.ReplaceAll(route,"{id}",templateParam.ScopeID.String())
515519

516-
resp,err:=client.Request(context.Background(),method,route,nil)
520+
resp,err:=client.Request(ctx,method,route,nil)
517521
require.NoError(t,err,"do req")
518522
body,_:=io.ReadAll(resp.Body)
519523
t.Logf("Response Body: %q",string(body))

‎coderd/files_test.go‎

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"github.com/coder/coder/coderd/coderdtest"
1111
"github.com/coder/coder/codersdk"
12+
"github.com/coder/coder/testutil"
1213
)
1314

1415
funcTestPostFiles(t*testing.T) {
@@ -17,26 +18,38 @@ func TestPostFiles(t *testing.T) {
1718
t.Parallel()
1819
client:=coderdtest.New(t,nil)
1920
_=coderdtest.CreateFirstUser(t,client)
20-
_,err:=client.Upload(context.Background(),"bad", []byte{'a'})
21+
22+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
23+
defercancel()
24+
25+
_,err:=client.Upload(ctx,"bad", []byte{'a'})
2126
require.Error(t,err)
2227
})
2328

2429
t.Run("Insert",func(t*testing.T) {
2530
t.Parallel()
2631
client:=coderdtest.New(t,nil)
2732
_=coderdtest.CreateFirstUser(t,client)
28-
_,err:=client.Upload(context.Background(),codersdk.ContentTypeTar,make([]byte,1024))
33+
34+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
35+
defercancel()
36+
37+
_,err:=client.Upload(ctx,codersdk.ContentTypeTar,make([]byte,1024))
2938
require.NoError(t,err)
3039
})
3140

3241
t.Run("InsertAlreadyExists",func(t*testing.T) {
3342
t.Parallel()
3443
client:=coderdtest.New(t,nil)
3544
_=coderdtest.CreateFirstUser(t,client)
45+
46+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
47+
defercancel()
48+
3649
data:=make([]byte,1024)
37-
_,err:=client.Upload(context.Background(),codersdk.ContentTypeTar,data)
50+
_,err:=client.Upload(ctx,codersdk.ContentTypeTar,data)
3851
require.NoError(t,err)
39-
_,err=client.Upload(context.Background(),codersdk.ContentTypeTar,data)
52+
_,err=client.Upload(ctx,codersdk.ContentTypeTar,data)
4053
require.NoError(t,err)
4154
})
4255
}
@@ -47,7 +60,11 @@ func TestDownload(t *testing.T) {
4760
t.Parallel()
4861
client:=coderdtest.New(t,nil)
4962
_=coderdtest.CreateFirstUser(t,client)
50-
_,_,err:=client.Download(context.Background(),"something")
63+
64+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
65+
defercancel()
66+
67+
_,_,err:=client.Download(ctx,"something")
5168
varapiErr*codersdk.Error
5269
require.ErrorAs(t,err,&apiErr)
5370
require.Equal(t,http.StatusNotFound,apiErr.StatusCode())
@@ -57,9 +74,13 @@ func TestDownload(t *testing.T) {
5774
t.Parallel()
5875
client:=coderdtest.New(t,nil)
5976
_=coderdtest.CreateFirstUser(t,client)
60-
resp,err:=client.Upload(context.Background(),codersdk.ContentTypeTar,make([]byte,1024))
77+
78+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
79+
defercancel()
80+
81+
resp,err:=client.Upload(ctx,codersdk.ContentTypeTar,make([]byte,1024))
6182
require.NoError(t,err)
62-
data,contentType,err:=client.Download(context.Background(),resp.Hash)
83+
data,contentType,err:=client.Download(ctx,resp.Hash)
6384
require.NoError(t,err)
6485
require.Len(t,data,1024)
6586
require.Equal(t,codersdk.ContentTypeTar,contentType)

‎coderd/gitsshkey_test.go‎

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,59 +12,75 @@ import (
1212
"github.com/coder/coder/codersdk"
1313
"github.com/coder/coder/provisioner/echo"
1414
"github.com/coder/coder/provisionersdk/proto"
15+
"github.com/coder/coder/testutil"
1516
)
1617

1718
funcTestGitSSHKey(t*testing.T) {
1819
t.Parallel()
1920
t.Run("None",func(t*testing.T) {
2021
t.Parallel()
21-
ctx:=context.Background()
2222
client:=coderdtest.New(t,nil)
2323
res:=coderdtest.CreateFirstUser(t,client)
24+
25+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
26+
defercancel()
27+
2428
key,err:=client.GitSSHKey(ctx,res.UserID.String())
2529
require.NoError(t,err)
2630
require.NotEmpty(t,key.PublicKey)
2731
})
2832
t.Run("Ed25519",func(t*testing.T) {
2933
t.Parallel()
30-
ctx:=context.Background()
3134
client:=coderdtest.New(t,&coderdtest.Options{
3235
SSHKeygenAlgorithm:gitsshkey.AlgorithmEd25519,
3336
})
3437
res:=coderdtest.CreateFirstUser(t,client)
38+
39+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
40+
defercancel()
41+
3542
key,err:=client.GitSSHKey(ctx,res.UserID.String())
3643
require.NoError(t,err)
3744
require.NotEmpty(t,key.PublicKey)
3845
})
3946
t.Run("ECDSA",func(t*testing.T) {
4047
t.Parallel()
41-
ctx:=context.Background()
4248
client:=coderdtest.New(t,&coderdtest.Options{
4349
SSHKeygenAlgorithm:gitsshkey.AlgorithmECDSA,
4450
})
4551
res:=coderdtest.CreateFirstUser(t,client)
52+
53+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
54+
defercancel()
55+
4656
key,err:=client.GitSSHKey(ctx,res.UserID.String())
4757
require.NoError(t,err)
4858
require.NotEmpty(t,key.PublicKey)
4959
})
5060
t.Run("RSA4096",func(t*testing.T) {
5161
t.Parallel()
52-
ctx:=context.Background()
5362
client:=coderdtest.New(t,&coderdtest.Options{
5463
SSHKeygenAlgorithm:gitsshkey.AlgorithmRSA4096,
5564
})
5665
res:=coderdtest.CreateFirstUser(t,client)
66+
67+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
68+
defercancel()
69+
5770
key,err:=client.GitSSHKey(ctx,res.UserID.String())
5871
require.NoError(t,err)
5972
require.NotEmpty(t,key.PublicKey)
6073
})
6174
t.Run("Regenerate",func(t*testing.T) {
6275
t.Parallel()
63-
ctx:=context.Background()
6476
client:=coderdtest.New(t,&coderdtest.Options{
6577
SSHKeygenAlgorithm:gitsshkey.AlgorithmEd25519,
6678
})
6779
res:=coderdtest.CreateFirstUser(t,client)
80+
81+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
82+
defercancel()
83+
6884
key1,err:=client.GitSSHKey(ctx,res.UserID.String())
6985
require.NoError(t,err)
7086
require.NotEmpty(t,key1.PublicKey)
@@ -112,7 +128,10 @@ func TestAgentGitSSHKey(t *testing.T) {
112128
agentClient:=codersdk.New(client.URL)
113129
agentClient.SessionToken=authToken
114130

115-
agentKey,err:=agentClient.AgentGitSSHKey(context.Background())
131+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
132+
defercancel()
133+
134+
agentKey,err:=agentClient.AgentGitSSHKey(ctx)
116135
require.NoError(t,err)
117136
require.NotEmpty(t,agentKey.PrivateKey)
118137
}

‎coderd/organizations_test.go‎

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@ import (
99

1010
"github.com/coder/coder/coderd/coderdtest"
1111
"github.com/coder/coder/codersdk"
12+
"github.com/coder/coder/testutil"
1213
)
1314

1415
funcTestOrganizationsByUser(t*testing.T) {
1516
t.Parallel()
1617
client:=coderdtest.New(t,nil)
1718
_=coderdtest.CreateFirstUser(t,client)
18-
orgs,err:=client.OrganizationsByUser(context.Background(),codersdk.Me)
19+
20+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
21+
defercancel()
22+
23+
orgs,err:=client.OrganizationsByUser(ctx,codersdk.Me)
1924
require.NoError(t,err)
2025
require.NotNil(t,orgs)
2126
require.Len(t,orgs,1)
@@ -27,7 +32,11 @@ func TestOrganizationByUserAndName(t *testing.T) {
2732
t.Parallel()
2833
client:=coderdtest.New(t,nil)
2934
coderdtest.CreateFirstUser(t,client)
30-
_,err:=client.OrganizationByName(context.Background(),codersdk.Me,"nothing")
35+
36+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
37+
defercancel()
38+
39+
_,err:=client.OrganizationByName(ctx,codersdk.Me,"nothing")
3140
varapiErr*codersdk.Error
3241
require.ErrorAs(t,err,&apiErr)
3342
require.Equal(t,http.StatusNotFound,apiErr.StatusCode())
@@ -38,11 +47,15 @@ func TestOrganizationByUserAndName(t *testing.T) {
3847
client:=coderdtest.New(t,nil)
3948
first:=coderdtest.CreateFirstUser(t,client)
4049
other:=coderdtest.CreateAnotherUser(t,client,first.OrganizationID)
41-
org,err:=client.CreateOrganization(context.Background(), codersdk.CreateOrganizationRequest{
50+
51+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
52+
defercancel()
53+
54+
org,err:=client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
4255
Name:"another",
4356
})
4457
require.NoError(t,err)
45-
_,err=other.OrganizationByName(context.Background(),codersdk.Me,org.Name)
58+
_,err=other.OrganizationByName(ctx,codersdk.Me,org.Name)
4659
varapiErr*codersdk.Error
4760
require.ErrorAs(t,err,&apiErr)
4861
require.Equal(t,http.StatusNotFound,apiErr.StatusCode())
@@ -52,9 +65,13 @@ func TestOrganizationByUserAndName(t *testing.T) {
5265
t.Parallel()
5366
client:=coderdtest.New(t,nil)
5467
user:=coderdtest.CreateFirstUser(t,client)
55-
org,err:=client.Organization(context.Background(),user.OrganizationID)
68+
69+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
70+
defercancel()
71+
72+
org,err:=client.Organization(ctx,user.OrganizationID)
5673
require.NoError(t,err)
57-
_,err=client.OrganizationByName(context.Background(),codersdk.Me,org.Name)
74+
_,err=client.OrganizationByName(ctx,codersdk.Me,org.Name)
5875
require.NoError(t,err)
5976
})
6077
}
@@ -65,9 +82,13 @@ func TestPostOrganizationsByUser(t *testing.T) {
6582
t.Parallel()
6683
client:=coderdtest.New(t,nil)
6784
user:=coderdtest.CreateFirstUser(t,client)
68-
org,err:=client.Organization(context.Background(),user.OrganizationID)
85+
86+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
87+
defercancel()
88+
89+
org,err:=client.Organization(ctx,user.OrganizationID)
6990
require.NoError(t,err)
70-
_,err=client.CreateOrganization(context.Background(), codersdk.CreateOrganizationRequest{
91+
_,err=client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
7192
Name:org.Name,
7293
})
7394
varapiErr*codersdk.Error
@@ -79,7 +100,11 @@ func TestPostOrganizationsByUser(t *testing.T) {
79100
t.Parallel()
80101
client:=coderdtest.New(t,nil)
81102
_=coderdtest.CreateFirstUser(t,client)
82-
_,err:=client.CreateOrganization(context.Background(), codersdk.CreateOrganizationRequest{
103+
104+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
105+
defercancel()
106+
107+
_,err:=client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
83108
Name:"new",
84109
})
85110
require.NoError(t,err)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp