def create_partition(self, free_space, size=None, fstype="ext4", label=None, ptype="primary"): if size is None: size = free_space.size # create "user input" for the new partition parent_selection = ProxyDataContainer(parent_device=free_space.parents[0], free_space=free_space, selected_size=size) size_selection = ProxyDataContainer(total_size=size, parents=[parent_selection]) user_input = ProxyDataContainer(device_type="partition", size_selection=size_selection, filesystem=fstype, name=None, label=label, mountpoint=None, encrypt=False, passphrase=None, raid_level=None, advanced={"parttype": ptype}) ret = self.blivet_utils.add_device(user_input) self.assertTrue(ret.success) self.assertIsNone(ret.message) self.assertIsNone(ret.exception) self.assertIsNone(ret.traceback) return ret.actions
def test_convert_args(self): # 'normal' arguments args = ["abcdef", 1, 1.01, True, None] converted_args = BlivetUtilsServer._args_convertTo_objects( MagicMock(), args) self.assertEqual(converted_args, args) # ProxyID arguments test_dict = {} arg1 = ProxyID() arg1_obj = MagicMock(blivet_object=MagicMock()) test_dict[arg1.id] = arg1_obj arg2 = ProxyID() arg2_obj = MagicMock(blivet_object=MagicMock()) test_dict[arg2.id] = arg2_obj converted_args = BlivetUtilsServer._args_convertTo_objects( MagicMock(object_dict=test_dict), [arg1, arg2]) self.assertEqual(converted_args, [arg1_obj.blivet_object, arg2_obj.blivet_object]) # ProxyDataContainer as an argument test_dict = {} arg3 = ProxyID() arg3_obj = MagicMock(blivet_object=MagicMock()) test_dict[arg3.id] = arg3_obj args = [ProxyDataContainer(data1="abcdef", data2=1, data3=arg3)] converted_args = BlivetUtilsServer._args_convertTo_objects( MagicMock(object_dict=test_dict), args) self.assertEqual(converted_args[0]["data1"], "abcdef") self.assertEqual(converted_args[0]["data2"], 1) self.assertEqual(converted_args[0]["data3"], arg3_obj.blivet_object)
def test_convert_args(self): client = BlivetGUIClient(MagicMock()) # 'normal' arguments args = ["abcdef", 1, 1.01, True, None, Size("8 GiB")] converted_args = client._args_convertTo_id(args) self.assertEqual(converted_args, args) # ClientProxyObject (id of object should be returned) args = [ClientProxyObject(MagicMock(), ProxyID())] converted_args = client._args_convertTo_id(args) self.assertTrue(isinstance(converted_args[0], ProxyID)) self.assertEqual(converted_args, [arg.proxy_id for arg in args]) # ProxyDataContainer args = [ ProxyDataContainer(data1="abcdef", data2=Size("8 GiB"), data3=ClientProxyObject(MagicMock(), ProxyID())) ] converted_args = client._args_convertTo_id(args) self.assertEqual(converted_args[0].data1, args[0].data1) self.assertEqual(converted_args[0].data2, args[0].data2) self.assertTrue(isinstance(converted_args[0].data3, ProxyID)) self.assertEqual(converted_args[0].data3, args[0].data3.proxy_id) # ProxyDataContainer inside ProxyDataContainer args = [ ProxyDataContainer(data1="abcdef", data2=Size("8 GiB"), data3=ProxyDataContainer( dataA="xyz", dataB=ClientProxyObject( MagicMock(), ProxyID()))) ] converted_args = client._args_convertTo_id(args) self.assertEqual(converted_args[0].data1, args[0].data1) self.assertEqual(converted_args[0].data2, args[0].data2) self.assertTrue(isinstance(converted_args[0].data3, ProxyDataContainer)) self.assertEqual(converted_args[0].data3.dataA, args[0].data3.dataA) self.assertTrue(isinstance(converted_args[0].data3.dataB, ProxyID)) self.assertEqual(converted_args[0].data3.dataB, args[0].data3.dataB.proxy_id)
def format_device(self, device, fstype="ext4", label=None, mountpoint=None): # prepare "user input" for editting (in this case formatting) a device user_input = ProxyDataContainer(edit_device=device, format=True, filesystem=fstype, label=label, mountpoint=mountpoint) ret = self.blivet_utils.format_device(user_input) self.assertTrue(ret.success) self.assertIsNone(ret.message) self.assertIsNone(ret.exception) self.assertIsNone(ret.traceback) return ret.actions
def test_proxy_data_container(self): container = ProxyDataContainer(a="a", b="b", c="c") # __iter__ args = [] for item in container: args.append(item) self.assertEqual(sorted(args), ["a", "b", "c"]) # __getitem__ self.assertEqual(container["a"], "a") # __setitem__ container["a"] = 1 self.assertEqual(container["a"], 1) # __getattr__ self.assertEqual(container.b, "b") with self.assertRaises(AttributeError): container.d # pylint: disable=W0104