def test_filter_datastores_specific_match(self): data = [ ['VMFS', 'os-some-name', True, 987654321, 1234678], ['NFS', 'another-name', True, 9876543210, 123467890], ['BAD', 'some-name-bad', True, 98765432100, 1234678900], ['VMFS', 'some-name-good', True, 987654321, 12346789], ['VMFS', 'some-other-good', False, 987654321000, 12346789000], ] # only the DS some-name-good is accessible and matches the regex datastores = self.build_result_set(data) datastore_regex = re.compile('.*-good$') rec = vm_util._get_datastore_ref_and_name(datastores, datastore_regex) self.assertIsNotNone(rec, "could not find datastore!") self.assertEqual('ds-003', rec[0].value, "didn't find the right datastore!") self.assertNotEqual('ds-004', rec[0].value, "accepted an unreachable datastore!") self.assertEqual('some-name-good', rec[1]) self.assertEqual(12346789, rec[3], "did not obtain correct freespace!") self.assertEqual(987654321, rec[2], "did not obtain correct capacity!")
def test_filter_datastores_empty(self): data = [] datastores = self.build_result_set(data) rec = vm_util._get_datastore_ref_and_name(datastores) self.assertIsNone(rec)
def test_filter_datastores_specific_match(self): data = [ ['VMFS', 'os-some-name', True, 987654321, 1234678], ['NFS', 'another-name', True, 9876543210, 123467890], ['BAD', 'some-name-bad', True, 98765432100, 1234678900], ['VMFS', 'some-name-good', True, 987654321, 12346789], ['VMFS', 'some-other-good', False, 987654321000, 12346789000], ] # only the DS some-name-good is accessible and matches the regex datastores = self.build_result_set(data) datastore_regex = re.compile('.*-good$') rec = vm_util._get_datastore_ref_and_name(datastores, datastore_regex) self.assertIsNotNone(rec, "could not find datastore!") self.assertEqual('ds-003', rec[0].value, "didn't find the right datastore!") self.assertNotEqual('ds-004', rec[0].value, "accepted an unreachable datastore!") self.assertEqual('some-name-good', rec[1]) self.assertEqual(12346789, rec[3], "did not obtain correct freespace!") self.assertEqual(987654321, rec[2], "did not obtain correct capacity!")
def test_filter_datastores_empty(self): data = [] datastores = self.build_result_set(data) rec = vm_util._get_datastore_ref_and_name(datastores) self.assertIsNone(rec)
def test_filter_datastores_no_match(self): datastores = self.build_result_set(self.data) datastore_regex = re.compile('no_match.*') rec = vm_util._get_datastore_ref_and_name(datastores, datastore_regex) self.assertIsNone(rec, "did not fail to match datastore properly")
def test_filter_datastores_no_match(self): datastores = self.build_result_set(self.data) datastore_regex = re.compile('no_match.*') rec = vm_util._get_datastore_ref_and_name(datastores, datastore_regex) self.assertIsNone(rec, "did not fail to match datastore properly")
def test_filter_datastores_simple(self): datastores = self.build_result_set(self.data) rec = vm_util._get_datastore_ref_and_name(datastores) self.assertIsNotNone(rec[0], "could not find datastore!") self.assertEqual('ds-001', rec[0].value, "didn't find the right datastore!") self.assertEqual(123467890, rec[3], "did not obtain correct freespace!")
def test_filter_datastores_simple(self): datastores = self.build_result_set(self.data) rec = vm_util._get_datastore_ref_and_name(datastores) self.assertIsNotNone(rec[0], "could not find datastore!") self.assertEqual('ds-001', rec[0].value, "didn't find the right datastore!") self.assertEqual(123467890, rec[3], "did not obtain correct freespace!")
def test_filter_datastores_missing_props(self): data = [ ['VMFS', 'os-some-name', 987654321, 1234678], ['NFS', 'another-name', 9876543210, 123467890], ] # no matches are expected when 'summary.accessible' is missing prop_names = ['summary.type', 'summary.name', 'summary.capacity', 'summary.freeSpace'] datastores = self.build_result_set(data, prop_names) rec = vm_util._get_datastore_ref_and_name(datastores) self.assertIsNone(rec, "no matches were expected")
def test_filter_datastores_missing_props(self): data = [ ['VMFS', 'os-some-name', 987654321, 1234678], ['NFS', 'another-name', 9876543210, 123467890], ] # no matches are expected when 'summary.accessible' is missing prop_names = [ 'summary.type', 'summary.name', 'summary.capacity', 'summary.freeSpace' ] datastores = self.build_result_set(data, prop_names) rec = vm_util._get_datastore_ref_and_name(datastores) self.assertIsNone(rec, "no matches were expected")