Example #1
0
 def test_disk_with_only_serial(self):
     """test dname_byid returns rules for ID_SERIAL"""
     mypath = "/dev/" + self.random_string()
     myserial = self.random_string()
     info = {'DEVTYPE': 'disk', 'DEVNAME': mypath, 'ID_SERIAL': myserial}
     self.assertEqual([['ENV{ID_SERIAL}=="%s"' % myserial]],
                      block_meta.make_dname_byid(mypath, info=info))
Example #2
0
 def test_disk_with_only_wwn(self):
     """test dname_byid returns rules for ID_WWN_WITH_EXTENSION"""
     mypath = "/dev/" + self.random_string()
     mywwn = self.random_string()
     info = {'DEVTYPE': 'disk', 'DEVNAME': mypath,
             'ID_WWN_WITH_EXTENSION': mywwn}
     self.assertEqual(
         [['ENV{ID_WWN_WITH_EXTENSION}=="%s"' % mywwn]],
         block_meta.make_dname_byid(mypath, info=info))
Example #3
0
 def test_udevinfo_not_called_if_info_provided(self, m_udev):
     """dname_byid does not invoke udevadm_info if using info dict"""
     myserial = self.random_string()
     self.assertEqual(
         [['ENV{ID_SERIAL}=="%s"' % myserial]],
         block_meta.make_dname_byid(
             self.random_string(),
             info={'DEVTYPE': 'disk', 'ID_SERIAL': myserial}))
     self.assertEqual(0, m_udev.call_count)
Example #4
0
 def test_udevinfo_called_if_info_not_provided(self, m_udev):
     """dname_byid should call udevadm_info if no data given."""
     myserial = self.random_string()
     mypath = "/dev/" + self.random_string()
     m_udev.return_value = {
         'DEVTYPE': 'disk', 'ID_SERIAL': myserial, 'DEVNAME': mypath}
     self.assertEqual(
         [['ENV{ID_SERIAL}=="%s"' % myserial]],
         block_meta.make_dname_byid(mypath))
     self.assertEqual(
         [mock.call(path=mypath)], m_udev.call_args_list)
Example #5
0
 def test_disk_with_short_ids(self):
     """test dname_byid returns rules w/ both ID_WWN and ID_SERIAL_SHORT."""
     mypath = "/dev/" + self.random_string()
     myserial = self.random_string()
     mywwn = self.random_string()
     info = {'DEVTYPE': 'disk', 'ID_SERIAL_SHORT': myserial,
             'ID_WWN': mywwn,
             'DEVNAME': mypath}
     self.assertEqual(
         [[
             'ENV{ID_WWN}=="%s"' % mywwn,
             'ENV{ID_SERIAL_SHORT}=="%s"' % myserial,
         ]],
         block_meta.make_dname_byid(mypath, info=info))
Example #6
0
 def test_disk_with_both_id_wwn(self):
     """test dname_byid returns rules with both ID_WWN_* and ID_SERIAL"""
     mypath = "/dev/" + self.random_string()
     myserial = self.random_string()
     mywwn = self.random_string()
     info = {'DEVTYPE': 'disk', 'ID_SERIAL': myserial,
             'ID_WWN_WITH_EXTENSION': mywwn,
             'DEVNAME': mypath}
     self.assertEqual(
         [[
             'ENV{ID_WWN_WITH_EXTENSION}=="%s"' % mywwn,
             'ENV{ID_SERIAL}=="%s"' % myserial,
         ]],
         block_meta.make_dname_byid(mypath, info=info))
Example #7
0
 def test_disk_with_all_ids(self):
     """test dname_byid returns rules w/ all WWN and SERIAL values."""
     mypath = "/dev/" + self.random_string()
     myserial_short = self.random_string()
     myserial = myserial_short + "_" + myserial_short
     mywwn = self.random_string()
     mywwn_ext = mywwn + "_" + mywwn
     info = {'DEVTYPE': 'disk', 'ID_SERIAL_SHORT': myserial_short,
             'ID_SERIAL': myserial,
             'ID_WWN': mywwn,
             'ID_WWN_WITH_EXTENSION': mywwn_ext,
             'DEVNAME': mypath}
     self.assertEqual(
         [[
             'ENV{ID_WWN_WITH_EXTENSION}=="%s"' % mywwn_ext,
             'ENV{ID_WWN}=="%s"' % mywwn,
             'ENV{ID_SERIAL}=="%s"' % myserial,
             'ENV{ID_SERIAL_SHORT}=="%s"' % myserial_short,
         ]],
         block_meta.make_dname_byid(mypath, info=info))
Example #8
0
 def test_disk_with_no_id_wwn(self, m_udev):
     """test dname_byid raises RuntimeError on device without ID or WWN."""
     mypath = "/dev/" + self.random_string()
     m_udev.return_value = {'DEVTYPE': 'disk'}
     self.assertEqual([], block_meta.make_dname_byid(mypath))
Example #9
0
 def test_non_disk(self, m_udev):
     """test dname_byid raises ValueError on DEVTYPE != 'disk'"""
     mypath = "/dev/" + self.random_string()
     m_udev.return_value = {'DEVTYPE': 'not_a_disk'}
     with self.assertRaises(ValueError):
         block_meta.make_dname_byid(mypath)
Example #10
0
 def test_bad_path(self, m_udev):
     """test dname_byid raises ValueError on invalid path."""
     mypath = None
     with self.assertRaises(ValueError):
         block_meta.make_dname_byid(mypath)