@@ -668,7 +668,7 @@ func TestResourcePermissionsCreate_conflicting_fields(t *testing.T) {
668668
669669func TestResourcePermissionsCreate_AdminsThrowError (t * testing.T ) {
670670 _ , err := qa.ResourceFixture {
671- Fixtures : []qa.HTTPFixture {},
671+ Fixtures : []qa.HTTPFixture {me },
672672 Resource : ResourcePermissions (),
673673 Create : true ,
674674 HCL : `
@@ -679,8 +679,7 @@ func TestResourcePermissionsCreate_AdminsThrowError(t *testing.T) {
679679 }
680680 ` ,
681681 }.Apply (t )
682- assert .EqualError (t , err , "invalid config supplied. [access_control] " +
683- "It is not possible to restrict any permissions from `admins`." )
682+ assert .EqualError (t , err , "it is not possible to restrict any permissions from `admins`" )
684683}
685684
686685func TestResourcePermissionsCreate (t * testing.T ) {
@@ -1590,3 +1589,109 @@ func TestResourcePermissionsCreate_DirectoryPath(t *testing.T) {
15901589 assert .Equal (t , TestingUser , firstElem ["user_name" ])
15911590 assert .Equal (t , "CAN_READ" , firstElem ["permission_level" ])
15921591}
1592+
1593+ func TestResourcePermissionsPasswordUsage (t * testing.T ) {
1594+ d , err := qa.ResourceFixture {
1595+ Fixtures : []qa.HTTPFixture {
1596+ me ,
1597+ {
1598+ Method : http .MethodPut ,
1599+ Resource : "/api/2.0/permissions/authorization/passwords" ,
1600+ ExpectedRequest : AccessControlChangeList {
1601+ AccessControlList : []AccessControlChange {
1602+ {
1603+ GroupName : "admins" ,
1604+ PermissionLevel : "CAN_USE" ,
1605+ },
1606+ },
1607+ },
1608+ },
1609+ {
1610+ Method : http .MethodGet ,
1611+ Resource : "/api/2.0/permissions/authorization/passwords" ,
1612+ Response : ObjectACL {
1613+ ObjectID : "/authorization/passwords" ,
1614+ ObjectType : "passwords" ,
1615+ AccessControlList : []AccessControl {
1616+ {
1617+ GroupName : "admins" ,
1618+ PermissionLevel : "CAN_USE" ,
1619+ },
1620+ },
1621+ },
1622+ },
1623+ },
1624+ Resource : ResourcePermissions (),
1625+ HCL : `
1626+ authorization = "passwords"
1627+ access_control {
1628+ group_name = "admins"
1629+ permission_level = "CAN_USE"
1630+ }
1631+ ` ,
1632+ Create : true ,
1633+ }.Apply (t )
1634+ assert .NoError (t , err )
1635+ ac := d .Get ("access_control" ).(* schema.Set )
1636+ require .Equal (t , 1 , len (ac .List ()))
1637+ firstElem := ac .List ()[0 ].(map [string ]any )
1638+ assert .Equal (t , "admins" , firstElem ["group_name" ])
1639+ assert .Equal (t , "CAN_USE" , firstElem ["permission_level" ])
1640+ }
1641+
1642+ func TestResourcePermissionsRootDirectory (t * testing.T ) {
1643+ d , err := qa.ResourceFixture {
1644+ Fixtures : []qa.HTTPFixture {
1645+ me ,
1646+ {
1647+ Method : http .MethodPut ,
1648+ Resource : "/api/2.0/permissions/directories/0" ,
1649+ ExpectedRequest : AccessControlChangeList {
1650+ AccessControlList : []AccessControlChange {
1651+ {
1652+ UserName : TestingUser ,
1653+ PermissionLevel : "CAN_READ" ,
1654+ },
1655+ {
1656+ GroupName : "admins" ,
1657+ PermissionLevel : "CAN_MANAGE" ,
1658+ },
1659+ },
1660+ },
1661+ },
1662+ {
1663+ Method : http .MethodGet ,
1664+ Resource : "/api/2.0/permissions/directories/0" ,
1665+ Response : ObjectACL {
1666+ ObjectID : "/directories/0" ,
1667+ ObjectType : "directory" ,
1668+ AccessControlList : []AccessControl {
1669+ {
1670+ UserName : TestingUser ,
1671+ PermissionLevel : "CAN_READ" ,
1672+ },
1673+ {
1674+ GroupName : "admins" ,
1675+ PermissionLevel : "CAN_MANAGE" ,
1676+ },
1677+ },
1678+ },
1679+ },
1680+ },
1681+ Resource : ResourcePermissions (),
1682+ HCL : `
1683+ directory_id = "0"
1684+ access_control {
1685+ user_name = "ben"
1686+ permission_level = "CAN_READ"
1687+ }
1688+ ` ,
1689+ Create : true ,
1690+ }.Apply (t )
1691+ assert .NoError (t , err )
1692+ ac := d .Get ("access_control" ).(* schema.Set )
1693+ require .Equal (t , 1 , len (ac .List ()))
1694+ firstElem := ac .List ()[0 ].(map [string ]any )
1695+ assert .Equal (t , TestingUser , firstElem ["user_name" ])
1696+ assert .Equal (t , "CAN_READ" , firstElem ["permission_level" ])
1697+ }
0 commit comments