@@ -1587,6 +1587,95 @@ def test_055_bootmode_preserve_oldvals(self):
15871587 ],
15881588 )
15891589
1590+ def test_056_bootmode_default_user (self ):
1591+ del self .vm .template
1592+ self .loop .run_until_complete (
1593+ self .ext .qubes_features_request (
1594+ self .vm ,
1595+ "features-request" ,
1596+ untrusted_features = {
1597+ "boot-mode.name.vmreq" : "VMReq" ,
1598+ "boot-mode.kernelopts.vmreq" : "vmreq1 vmreq2" ,
1599+ "boot-mode.default-user.vmreq" : "altuser" ,
1600+ },
1601+ )
1602+ )
1603+ self .assertListEqual (
1604+ self .vm .mock_calls ,
1605+ [
1606+ ("features.items" , (), {}),
1607+ (
1608+ "features.__setitem__" ,
1609+ ("boot-mode.kernelopts.vmreq" , "vmreq1 vmreq2" ),
1610+ {},
1611+ ),
1612+ (
1613+ "features.__setitem__" ,
1614+ ("boot-mode.name.vmreq" , "VMReq" ),
1615+ {},
1616+ ),
1617+ (
1618+ "features.__setitem__" ,
1619+ ("boot-mode.default-user.vmreq" , "altuser" ),
1620+ {},
1621+ ),
1622+ ("features.get" , ("qrexec" , False ), {}),
1623+ ("features.get" , ("qrexec" , False ), {}),
1624+ ],
1625+ )
1626+
1627+ def test_056_bootmode_default_user_mismatch (self ):
1628+ del self .vm .template
1629+ self .loop .run_until_complete (
1630+ self .ext .qubes_features_request (
1631+ self .vm ,
1632+ "features-request" ,
1633+ untrusted_features = {
1634+ "boot-mode.name.vmreq" : "VMReq" ,
1635+ "boot-mode.kernelopts.vmreq" : "vmreq1 vmreq2" ,
1636+ "boot-mode.default-user.nope" : "altuser" ,
1637+ },
1638+ )
1639+ )
1640+ self .assertListEqual (
1641+ self .vm .mock_calls ,
1642+ [
1643+ ("features.items" , (), {}),
1644+ (
1645+ "features.__setitem__" ,
1646+ ("boot-mode.kernelopts.vmreq" , "vmreq1 vmreq2" ),
1647+ {},
1648+ ),
1649+ (
1650+ "features.__setitem__" ,
1651+ ("boot-mode.name.vmreq" , "VMReq" ),
1652+ {},
1653+ ),
1654+ ("features.get" , ("qrexec" , False ), {}),
1655+ ("features.get" , ("qrexec" , False ), {}),
1656+ ],
1657+ )
1658+
1659+ def test_057_bootmode_default_user_default_bootmode (self ):
1660+ del self .vm .template
1661+ self .loop .run_until_complete (
1662+ self .ext .qubes_features_request (
1663+ self .vm ,
1664+ "features-request" ,
1665+ untrusted_features = {
1666+ "boot-mode.default-user.default" : "altuser" ,
1667+ },
1668+ )
1669+ )
1670+ self .assertListEqual (
1671+ self .vm .mock_calls ,
1672+ [
1673+ ("features.items" , (), {}),
1674+ ("features.get" , ("qrexec" , False ), {}),
1675+ ("features.get" , ("qrexec" , False ), {}),
1676+ ],
1677+ )
1678+
15901679 def test_100_servicevm_feature (self ):
15911680 self .vm .provides_network = True
15921681 self .ext .set_servicevm_feature (self .vm )
0 commit comments