@@ -6,7 +6,11 @@ import (
66"net/http"
77"testing"
88
9- "github.com/google/uuid"
9+ "github.com/coder/coder/v2/coderd/database/dbtestutil"
10+
11+ "github.com/coder/coder/v2/coderd/database"
12+ "github.com/coder/coder/v2/coderd/database/dbfake"
13+
1014"github.com/stretchr/testify/assert"
1115"github.com/stretchr/testify/require"
1216
@@ -17,7 +21,6 @@ import (
1721"github.com/coder/coder/v2/enterprise/coderd"
1822"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
1923"github.com/coder/coder/v2/enterprise/coderd/license"
20- "github.com/coder/coder/v2/provisioner/echo"
2124"github.com/coder/coder/v2/testutil"
2225)
2326
@@ -125,13 +128,15 @@ func TestServiceBanners(t *testing.T) {
125128ctx ,cancel := context .WithTimeout (context .Background (),testutil .WaitLong )
126129defer cancel ()
127130
131+ store ,ps := dbtestutil .NewDB (t )
128132client ,user := coderdenttest .New (t ,& coderdenttest.Options {
129133Options :& coderdtest.Options {
130- IncludeProvisionerDaemon :true ,
134+ Database :store ,
135+ Pubsub :ps ,
131136},
132137DontAddLicense :true ,
133138})
134- license := coderdenttest .AddLicense (t ,client , coderdenttest.LicenseOptions {
139+ lic := coderdenttest .AddLicense (t ,client , coderdenttest.LicenseOptions {
135140Features : license.Features {
136141codersdk .FeatureAppearance :1 ,
137142},
@@ -146,35 +151,28 @@ func TestServiceBanners(t *testing.T) {
146151err := client .UpdateAppearance (ctx ,cfg )
147152require .NoError (t ,err )
148153
149- authToken := uuid .NewString ()
150- agentClient := agentsdk .New (client .URL )
151- agentClient .SetSessionToken (authToken )
152- version := coderdtest .CreateTemplateVersion (t ,client ,user .OrganizationID ,& echo.Responses {
153- Parse :echo .ParseComplete ,
154- ProvisionPlan :echo .PlanComplete ,
155- ProvisionApply :echo .ProvisionApplyWithAgent (authToken ),
156- })
157- template := coderdtest .CreateTemplate (t ,client ,user .OrganizationID ,version .ID )
158- coderdtest .AwaitTemplateVersionJobCompleted (t ,client ,version .ID )
159- workspace := coderdtest .CreateWorkspace (t ,client ,user .OrganizationID ,template .ID )
160- coderdtest .AwaitWorkspaceBuildJobCompleted (t ,client ,workspace .LatestBuild .ID )
154+ r := dbfake .WorkspaceBuild (t ,store , database.Workspace {
155+ OrganizationID :user .OrganizationID ,
156+ OwnerID :user .UserID ,
157+ }).WithAgent ().Do ()
161158
159+ agentClient := agentsdk .New (client .URL )
160+ agentClient .SetSessionToken (r .AgentToken )
162161banner ,err := agentClient .GetServiceBanner (ctx )
163162require .NoError (t ,err )
164163require .Equal (t ,cfg .ServiceBanner ,banner )
165164
166- // No enterprise means a 404 on the endpoint meaning no banner.
167- client = coderdtest .New (t ,& coderdtest.Options {
168- IncludeProvisionerDaemon :true ,
169- })
170- agentClient = agentsdk .New (client .URL )
171- agentClient .SetSessionToken (authToken )
172- banner ,err = agentClient .GetServiceBanner (ctx )
165+ // Create an AGPL Coderd against the same database
166+ agplClient := coderdtest .New (t ,& coderdtest.Options {Database :store ,Pubsub :ps })
167+ agplAgentClient := agentsdk .New (agplClient .URL )
168+ agplAgentClient .SetSessionToken (r .AgentToken )
169+ banner ,err = agplAgentClient .GetServiceBanner (ctx )
173170require .NoError (t ,err )
174171require .Equal (t , codersdk.ServiceBannerConfig {},banner )
175172
176173// No license means no banner.
177- client .DeleteLicense (ctx ,license .ID )
174+ err = client .DeleteLicense (ctx ,lic .ID )
175+ require .NoError (t ,err )
178176banner ,err = agentClient .GetServiceBanner (ctx )
179177require .NoError (t ,err )
180178require .Equal (t , codersdk.ServiceBannerConfig {},banner )