Revision 256eb94b test/ganeti.utils_unittest.py

b/test/ganeti.utils_unittest.py
336 336
    self.failUnlessEqual(MatchNameComponent(key1, mlist), None)
337 337
    self.failUnlessEqual(MatchNameComponent(key2, mlist), key2)
338 338

  
339
  def testCaseInsensitivePartialMatch(self):
340
    """Test for the case_insensitive keyword"""
341
    mlist = ["test1.example.com", "test2.example.net"]
342
    self.assertEqual(MatchNameComponent("test2", mlist, case_sensitive=False),
343
                     "test2.example.net")
344
    self.assertEqual(MatchNameComponent("Test2", mlist, case_sensitive=False),
345
                     "test2.example.net")
346
    self.assertEqual(MatchNameComponent("teSt2", mlist, case_sensitive=False),
347
                     "test2.example.net")
348
    self.assertEqual(MatchNameComponent("TeSt2", mlist, case_sensitive=False),
349
                     "test2.example.net")
350

  
351

  
352
  def testCaseInsensitiveFullMatch(self):
353
    mlist = ["ts1.ex", "ts1.ex.org", "ts2.ex", "Ts2.ex"]
354
    # Between the two ts1 a full string match non-case insensitive should work
355
    self.assertEqual(MatchNameComponent("Ts1", mlist, case_sensitive=False),
356
                     None)
357
    self.assertEqual(MatchNameComponent("Ts1.ex", mlist, case_sensitive=False),
358
                     "ts1.ex")
359
    self.assertEqual(MatchNameComponent("ts1.ex", mlist, case_sensitive=False),
360
                     "ts1.ex")
361
    # Between the two ts2 only case differs, so only case-match works
362
    self.assertEqual(MatchNameComponent("ts2.ex", mlist, case_sensitive=False),
363
                     "ts2.ex")
364
    self.assertEqual(MatchNameComponent("Ts2.ex", mlist, case_sensitive=False),
365
                     "Ts2.ex")
366
    self.assertEqual(MatchNameComponent("TS2.ex", mlist, case_sensitive=False),
367
                     None)
368

  
339 369

  
340 370
class TestFormatUnit(unittest.TestCase):
341 371
  """Test case for the FormatUnit function"""

Also available in: Unified diff