@@ -54,6 +54,56 @@ func TestPostLicense(t *testing.T) {
5454require .Contains (t ,errResp .Message ,"License cannot be used on this deployment!" )
5555})
5656
57+ t .Run ("InvalidAccountID" ,func (t * testing.T ) {
58+ t .Parallel ()
59+ // The generated deployment will start out with a different deployment ID.
60+ client ,_ := coderdenttest .New (t ,& coderdenttest.Options {DontAddLicense :true })
61+ license := coderdenttest .GenerateLicense (t , coderdenttest.LicenseOptions {
62+ AllowEmpty :true ,
63+ AccountID :"" ,
64+ })
65+ _ ,err := client .AddLicense (context .Background (), codersdk.AddLicenseRequest {
66+ License :license ,
67+ })
68+ errResp := & codersdk.Error {}
69+ require .ErrorAs (t ,err ,& errResp )
70+ require .Equal (t ,http .StatusBadRequest ,errResp .StatusCode ())
71+ require .Contains (t ,errResp .Message ,"Invalid license" )
72+ })
73+
74+ t .Run ("InvalidAccountType" ,func (t * testing.T ) {
75+ t .Parallel ()
76+ // The generated deployment will start out with a different deployment ID.
77+ client ,_ := coderdenttest .New (t ,& coderdenttest.Options {DontAddLicense :true })
78+ license := coderdenttest .GenerateLicense (t , coderdenttest.LicenseOptions {
79+ AllowEmpty :true ,
80+ AccountType :"" ,
81+ })
82+ _ ,err := client .AddLicense (context .Background (), codersdk.AddLicenseRequest {
83+ License :license ,
84+ })
85+ errResp := & codersdk.Error {}
86+ require .ErrorAs (t ,err ,& errResp )
87+ require .Equal (t ,http .StatusBadRequest ,errResp .StatusCode ())
88+ require .Contains (t ,errResp .Message ,"Invalid license" )
89+ })
90+
91+ t .Run ("InvalidLicenseExpires" ,func (t * testing.T ) {
92+ t .Parallel ()
93+ // The generated deployment will start out with a different deployment ID.
94+ client ,_ := coderdenttest .New (t ,& coderdenttest.Options {DontAddLicense :true })
95+ license := coderdenttest .GenerateLicense (t , coderdenttest.LicenseOptions {
96+ GraceAt :time .Unix (99999999999 ,0 ),
97+ })
98+ _ ,err := client .AddLicense (context .Background (), codersdk.AddLicenseRequest {
99+ License :license ,
100+ })
101+ errResp := & codersdk.Error {}
102+ require .ErrorAs (t ,err ,& errResp )
103+ require .Equal (t ,http .StatusBadRequest ,errResp .StatusCode ())
104+ require .Contains (t ,errResp .Message ,"Invalid license" )
105+ })
106+
57107t .Run ("Unauthorized" ,func (t * testing.T ) {
58108t .Parallel ()
59109client ,_ := coderdenttest .New (t ,& coderdenttest.Options {DontAddLicense :true })