@@ -808,26 +808,24 @@ def test__save_manifest_interactive_with_visible_manifests(
808808
809809 manifest_repr = {
810810 "section1" : [
811- {"id" : "visible1" , "value" : "default1" , "hidden" : False },
812- {"id" : "visible2" , "value" : "default2" , "hidden" : False },
811+ {"id" : "visible1" , "value" : 0 , "hidden" : False },
812+ {"id" : "visible2" , "value" : False , "hidden" : False },
813813 ]
814814 }
815815 ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
816816
817817 mock_browser = MagicMock ()
818818 mock_browser .run .return_value = {
819- "visible1" : "user_value1" ,
820- "visible2" : "user_value2" ,
819+ "visible1" : 5 ,
820+ "visible2" : True ,
821821 }
822822 mock_browser_class .return_value = mock_browser
823823 mock_browser_class .has_visible_manifests .return_value = True
824824
825825 launcher ._save_manifest (interactive = True )
826826
827- self .assertEqual (mock_browser .run .call_count , 1 )
828- self .assertEqual (ctx_mock .sa .save_manifest .call_count , 1 )
829827 ctx_mock .sa .save_manifest .assert_called_with (
830- {"visible1" : "user_value1" , "visible2" : "user_value2" }
828+ {"visible1" : 5 , "visible2" : True }
831829 )
832830
833831 @patch ("checkbox_ng.launcher.subcommands.ManifestBrowser" )
@@ -840,27 +838,21 @@ def test__save_manifest_interactive_no_visible_manifests(
840838
841839 manifest_repr = {
842840 "section1" : [
843- {"id" : "hidden1" , "value" : "default1" , "hidden" : True },
844- {"id" : "hidden2" , "value" : "default2" , "hidden" : True },
841+ {"id" : "hidden1" , "value" : True , "hidden" : True },
842+ {"id" : "hidden2" , "value" : 2 , "hidden" : True },
845843 ]
846844 }
847845 ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
848846 mock_browser_class .has_visible_manifests .return_value = False
849- mock_browser_class .get_default_values .return_value = {
850- "hidden1" : "default1" ,
851- "hidden2" : "default2" ,
847+ mock_browser_class .get_flattened_values .return_value = {
848+ "hidden1" : True ,
849+ "hidden2" : 2 ,
852850 }
853851
854852 launcher ._save_manifest (interactive = True )
855853
856- self .assertEqual (mock_browser_class .call_count , 0 )
857- self .assertEqual (
858- mock_browser_class .has_visible_manifests .call_count , 1
859- )
860- self .assertEqual (mock_browser_class .get_default_values .call_count , 1 )
861- self .assertEqual (ctx_mock .sa .save_manifest .call_count , 1 )
862854 ctx_mock .sa .save_manifest .assert_called_with (
863- {"hidden1" : "default1" , "hidden2" : "default2" }
855+ {"hidden1" : True , "hidden2" : 2 }
864856 )
865857
866858 @patch ("checkbox_ng.launcher.subcommands.ManifestBrowser" )
@@ -871,27 +863,20 @@ def test__save_manifest_non_interactive(self, mock_browser_class):
871863
872864 manifest_repr = {
873865 "section1" : [
874- {"id" : "manifest1" , "value" : "default1" , "hidden" : False },
875- {"id" : "manifest2" , "value" : "default2" , "hidden" : True },
866+ {"id" : "manifest1" , "value" : False , "hidden" : False },
867+ {"id" : "manifest2" , "value" : 7 , "hidden" : True },
876868 ]
877869 }
878870 ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
879- mock_browser_class .get_default_values .return_value = {
880- "manifest1" : "default1" ,
881- "manifest2" : "default2" ,
871+ mock_browser_class .get_flattened_values .return_value = {
872+ "manifest1" : False ,
873+ "manifest2" : 7 ,
882874 }
883875
884876 launcher ._save_manifest (interactive = False )
885877
886- self .assertEqual (mock_browser_class .call_count , 0 )
887- self .assertEqual (
888- mock_browser_class .has_visible_manifests .call_count , 0
889- )
890- self .assertEqual (mock_browser_class .get_default_values .call_count , 1 )
891- mock_browser_class .get_default_values .assert_called_with (manifest_repr )
892- self .assertEqual (ctx_mock .sa .save_manifest .call_count , 1 )
893878 ctx_mock .sa .save_manifest .assert_called_with (
894- {"manifest1" : "default1" , "manifest2" : "default2" }
879+ {"manifest1" : False , "manifest2" : 7 }
895880 )
896881
897882
@@ -1291,107 +1276,3 @@ def find_children_by_name(pattern):
12911276 # we expect the relevant unit function to leave unfound values the same
12921277 # and all in the same order
12931278 self .assertEqual (found_ids , ["other2.*" , * should_find , "other1.*" ])
1294-
1295-
1296- def setUp (self ):
1297- self .launcher = Launcher ()
1298- self .ctx_mock = MagicMock ()
1299- self .launcher .ctx = self .ctx_mock
1300-
1301- def test__save_manifest_no_or_empty_manifest_repr (self ):
1302-
1303- cases = [
1304- ("None" , None ),
1305- ("Empty" , {}),
1306- ]
1307-
1308- for case_name , manifest_repr in cases :
1309- with self .subTest (case = case_name ):
1310- self .ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
1311- self .launcher ._save_manifest (interactive = True )
1312- self .assertEqual (self .ctx_mock .sa .save_manifest .call_count , 0 )
1313-
1314- @patch ("checkbox_ng.launcher.subcommands.ManifestBrowser" )
1315- def test__save_manifest_interactive_with_visible_manifests (
1316- self , mock_browser_class
1317- ):
1318- manifest_repr = {
1319- "section1" : [
1320- {"id" : "visible1" , "value" : "default1" , "hidden" : False },
1321- {"id" : "visible2" , "value" : "default2" , "hidden" : False },
1322- ]
1323- }
1324- self .ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
1325-
1326- mock_browser = MagicMock ()
1327- mock_browser .run .return_value = {
1328- "visible1" : "user_value1" ,
1329- "visible2" : "user_value2" ,
1330- }
1331- mock_browser_class .return_value = mock_browser
1332- mock_browser_class .has_visible_manifests .return_value = True
1333-
1334- self .launcher ._save_manifest (interactive = True )
1335-
1336- self .assertEqual (mock_browser .run .call_count , 1 )
1337- self .assertEqual (self .ctx_mock .sa .save_manifest .call_count , 1 )
1338- self .ctx_mock .sa .save_manifest .assert_called_with (
1339- {"visible1" : "user_value1" , "visible2" : "user_value2" }
1340- )
1341-
1342- @patch ("checkbox_ng.launcher.subcommands.ManifestBrowser" )
1343- def test__save_manifest_interactive_no_visible_manifests (
1344- self , mock_browser_class
1345- ):
1346- manifest_repr = {
1347- "section1" : [
1348- {"id" : "hidden1" , "value" : "default1" , "hidden" : True },
1349- {"id" : "hidden2" , "value" : "default2" , "hidden" : True },
1350- ]
1351- }
1352- self .ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
1353- mock_browser_class .has_visible_manifests .return_value = False
1354- mock_browser_class .get_default_values .return_value = {
1355- "hidden1" : "default1" ,
1356- "hidden2" : "default2" ,
1357- }
1358-
1359- self .launcher ._save_manifest (interactive = True )
1360-
1361- self .assertEqual (mock_browser_class .call_count , 0 )
1362- self .assertEqual (
1363- mock_browser_class .has_visible_manifests .call_count , 1
1364- )
1365- self .assertEqual (mock_browser_class .get_default_values .call_count , 1 )
1366- self .assertEqual (self .ctx_mock .sa .save_manifest .call_count , 1 )
1367- self .ctx_mock .sa .save_manifest .assert_called_with (
1368- {"hidden1" : "default1" , "hidden2" : "default2" }
1369- )
1370-
1371- @patch ("checkbox_ng.launcher.subcommands.ManifestBrowser" )
1372- def test__save_manifest_non_interactive (self , mock_browser_class ):
1373- """Test _save_manifest in non-interactive mode."""
1374- manifest_repr = {
1375- "section1" : [
1376- {"id" : "manifest1" , "value" : "default1" , "hidden" : False },
1377- {"id" : "manifest2" , "value" : "default2" , "hidden" : True },
1378- ]
1379- }
1380- self .ctx_mock .sa .get_manifest_repr .return_value = manifest_repr
1381- mock_browser_class .get_default_values .return_value = {
1382- "manifest1" : "default1" ,
1383- "manifest2" : "default2" ,
1384- }
1385-
1386- self .launcher ._save_manifest (interactive = False )
1387-
1388- self .assertEqual (mock_browser_class .call_count , 0 )
1389- self .assertEqual (
1390- mock_browser_class .has_visible_manifests .call_count , 0
1391- )
1392- self .assertEqual (mock_browser_class .get_default_values .call_count , 1 )
1393- mock_browser_class .get_default_values .assert_called_with (manifest_repr )
1394- self .assertEqual (self .ctx_mock .sa .save_manifest .call_count , 1 )
1395- self .ctx_mock .sa .save_manifest .assert_called_with (
1396- {"manifest1" : "default1" , "manifest2" : "default2" }
1397- )
0 commit comments