@@ -15,12 +15,66 @@ import (
15
15
16
16
func TestWorkspaceAgent (t * testing.T ) {
17
17
t .Parallel ()
18
+ t .Run ("Azure" , func (t * testing.T ) {
19
+ t .Parallel ()
20
+ instanceID := "instanceidentifier"
21
+ certificates , metadataClient := coderdtest .NewAzureInstanceIdentity (t , instanceID )
22
+ client := coderdtest .New (t , & coderdtest.Options {
23
+ AzureCertificates : certificates ,
24
+ })
25
+ user := coderdtest .CreateFirstUser (t , client )
26
+ coderdtest .NewProvisionerDaemon (t , client )
27
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , & echo.Responses {
28
+ Parse : echo .ParseComplete ,
29
+ Provision : []* proto.Provision_Response {{
30
+ Type : & proto.Provision_Response_Complete {
31
+ Complete : & proto.Provision_Complete {
32
+ Resources : []* proto.Resource {{
33
+ Name : "somename" ,
34
+ Type : "someinstance" ,
35
+ Agents : []* proto.Agent {{
36
+ Auth : & proto.Agent_InstanceId {
37
+ InstanceId : instanceID ,
38
+ },
39
+ }},
40
+ }},
41
+ },
42
+ },
43
+ }},
44
+ })
45
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
46
+ coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
47
+ workspace := coderdtest .CreateWorkspace (t , client , codersdk .Me , template .ID )
48
+ coderdtest .AwaitWorkspaceBuildJob (t , client , workspace .LatestBuild .ID )
49
+
50
+ cmd , _ := clitest .New (t , "agent" , "--auth" , "azure-instance-identity" , "--url" , client .URL .String ())
51
+ ctx , cancelFunc := context .WithCancel (context .Background ())
52
+ defer cancelFunc ()
53
+ go func () {
54
+ // A linting error occurs for weakly typing the context value here,
55
+ // but it seems reasonable for a one-off test.
56
+ // nolint
57
+ ctx = context .WithValue (ctx , "azure-client" , metadataClient )
58
+ err := cmd .ExecuteContext (ctx )
59
+ require .NoError (t , err )
60
+ }()
61
+ coderdtest .AwaitWorkspaceAgents (t , client , workspace .LatestBuild .ID )
62
+ resources , err := client .WorkspaceResourcesByBuild (ctx , workspace .LatestBuild .ID )
63
+ require .NoError (t , err )
64
+ dialer , err := client .DialWorkspaceAgent (ctx , resources [0 ].Agents [0 ].ID , nil )
65
+ require .NoError (t , err )
66
+ defer dialer .Close ()
67
+ _ , err = dialer .Ping ()
68
+ require .NoError (t , err )
69
+ cancelFunc ()
70
+ })
71
+
18
72
t .Run ("AWS" , func (t * testing.T ) {
19
73
t .Parallel ()
20
74
instanceID := "instanceidentifier"
21
75
certificates , metadataClient := coderdtest .NewAWSInstanceIdentity (t , instanceID )
22
76
client := coderdtest .New (t , & coderdtest.Options {
23
- AWSInstanceIdentity : certificates ,
77
+ AWSCertificates : certificates ,
24
78
})
25
79
user := coderdtest .CreateFirstUser (t , client )
26
80
coderdtest .NewProvisionerDaemon (t , client )
@@ -74,7 +128,7 @@ func TestWorkspaceAgent(t *testing.T) {
74
128
instanceID := "instanceidentifier"
75
129
validator , metadata := coderdtest .NewGoogleInstanceIdentity (t , instanceID , false )
76
130
client := coderdtest .New (t , & coderdtest.Options {
77
- GoogleInstanceIdentity : validator ,
131
+ GoogleTokenValidator : validator ,
78
132
})
79
133
user := coderdtest .CreateFirstUser (t , client )
80
134
coderdtest .NewProvisionerDaemon (t , client )
0 commit comments