@@ -1726,11 +1726,11 @@ func TestUserAutofillParameters(t *testing.T) {
1726
1726
t .Parallel ()
1727
1727
t .Run ("NotSelf" , func (t * testing.T ) {
1728
1728
t .Parallel ()
1729
- client , _ , api := coderdtest .NewWithAPI (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
1729
+ client1 , _ , api := coderdtest .NewWithAPI (t , & coderdtest.Options {})
1730
1730
1731
- u1 := coderdtest .CreateFirstUser (t , client )
1731
+ u1 := coderdtest .CreateFirstUser (t , client1 )
1732
1732
1733
- _ , u2 := coderdtest .CreateAnotherUser (t , client , u1 .OrganizationID )
1733
+ client2 , u2 := coderdtest .CreateAnotherUser (t , client1 , u1 .OrganizationID )
1734
1734
1735
1735
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
1736
1736
defer cancel ()
@@ -1745,25 +1745,32 @@ func TestUserAutofillParameters(t *testing.T) {
1745
1745
Required : true ,
1746
1746
}).Do ()
1747
1747
1748
- _ , err := client .UserAutofillParameters (
1748
+ _ , err := client2 .UserAutofillParameters (
1749
1749
ctx ,
1750
- u2 . ID .String (),
1751
- version .Template .ID . String () ,
1750
+ u1 . UserID .String (),
1751
+ version .Template .ID ,
1752
1752
)
1753
1753
1754
1754
var apiErr * codersdk.Error
1755
1755
require .ErrorAs (t , err , & apiErr )
1756
- require .Equal (t , http .StatusForbidden , apiErr .StatusCode ())
1756
+ require .Equal (t , http .StatusBadRequest , apiErr .StatusCode ())
1757
+
1758
+ // u1 should be able to read u2's parameters as u1 is site admin.
1759
+ _ , err = client1 .UserAutofillParameters (
1760
+ ctx ,
1761
+ u2 .ID .String (),
1762
+ version .Template .ID ,
1763
+ )
1764
+ require .NoError (t , err )
1757
1765
})
1758
1766
1759
1767
t .Run ("FindsParameters" , func (t * testing.T ) {
1760
1768
t .Parallel ()
1761
- client , _ , api := coderdtest .NewWithAPI (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
1769
+ client1 , _ , api := coderdtest .NewWithAPI (t , & coderdtest.Options {})
1762
1770
1763
- u1 := coderdtest .CreateFirstUser (t , client )
1771
+ u1 := coderdtest .CreateFirstUser (t , client1 )
1764
1772
1765
- ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
1766
- defer cancel ()
1773
+ client2 , u2 := coderdtest .CreateAnotherUser (t , client1 , u1 .OrganizationID )
1767
1774
1768
1775
db := api .Database
1769
1776
@@ -1775,20 +1782,22 @@ func TestUserAutofillParameters(t *testing.T) {
1775
1782
Required : true ,
1776
1783
}).Do ()
1777
1784
1778
- coderdtest .CreateWorkspace (t , client , u1 .OrganizationID , version .Template .ID ,
1779
- func (cwr * codersdk.CreateWorkspaceRequest ) {
1780
- cwr .RichParameterValues = []codersdk.WorkspaceBuildParameter {
1781
- {
1782
- Name : "param" ,
1783
- Value : "foo" ,
1784
- },
1785
- }
1786
- })
1785
+ dbfake .WorkspaceBuild (t , db , database.Workspace {}).Params (
1786
+ database.WorkspaceBuildParameter {
1787
+ Name : "param" ,
1788
+ Value : "foo" ,
1789
+ },
1790
+ ).Do ()
1787
1791
1788
- params , err := client .UserAutofillParameters (
1792
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
1793
+ defer cancel ()
1794
+
1795
+ // Use client2 since client1 is site admin, so
1796
+ // we don't get good coverage on RBAC working.
1797
+ params , err := client2 .UserAutofillParameters (
1789
1798
ctx ,
1790
- u1 . UserID .String (),
1791
- version .Template .ID . String () ,
1799
+ u2 . ID .String (),
1800
+ version .Template .ID ,
1792
1801
)
1793
1802
require .NoError (t , err )
1794
1803
0 commit comments