Example #1
0
class DirCacheTest(unittest.TestCase):
  def setUp(self):
    self.test_data = TestData()

  def tearDown(self):
    self.test_data.close()

  def test_listdir_on_invalid_dir(self):
    c = DirCache()
    # shoudl not raise exception
    c.listdir(self.test_data.path_to('xxx'))

  def test_listdir_when_gone(self):
    c = DirCache()
    something = self.test_data.path_to('something');
    c.listdir(something)
    self.test_data.rm_rf(something)
    self.assertEquals([], c.listdir(self.test_data.path_to('something')))

  def test_up_to_date_after_change(self):
    c = DirCache()
    something = self.test_data.path_to('something');
    c.listdir(something)
    self.test_data.rm_rf(something)
    self.assertEquals([], c.listdir(self.test_data.path_to('something')))

  def test_toplevel_deletion_causes_changed(self):
    c = DirCache()
    base = self.test_data.path_to('');
    something = self.test_data.path_to('something');
    c.listdir(base)
    c.listdir(something)
    self.assertFalse(c.listdir_with_changed_status(base)[1])
    self.assertFalse(c.listdir_with_changed_status(something)[1])
    time.sleep(1.2)
    self.test_data.rm_rf(something)
    self.assertTrue(c.listdir_with_changed_status(base)[1])
    self.assertTrue(c.listdir_with_changed_status(something)[1])

  def test_toplevel_addition_causes_change(self):
    c = DirCache()
    base = self.test_data.path_to('');
    c.listdir(base)
    self.assertFalse(c.listdir_with_changed_status(base)[1])
    time.sleep(1.2)
    self.test_data.write1('READMEx')
    self.assertTrue(c.listdir_with_changed_status(base)[1])

  def test_toplevel_modification_doesnt_cause_change(self):
    c = DirCache()
    base = self.test_data.path_to('');
    c.listdir(base)
    self.assertFalse(c.listdir_with_changed_status(base)[1])
    time.sleep(1.2)
    self.test_data.write1('READMEx')
    self.assertTrue(c.listdir_with_changed_status(base)[1])
    time.sleep(1.2)
    self.test_data.write2('READMEx')
    self.assertFalse(c.listdir_with_changed_status(base)[1])
Example #2
0
class DirCacheTest(unittest.TestCase):
  def setUp(self):
    self.test_data = TestData()

  def tearDown(self):
    self.test_data.close()
    
  def test_listdir_on_invalid_dir(self):
    c = DirCache()
    # shoudl not raise exception
    c.listdir(self.test_data.path_to('xxx'))

  def test_listdir_when_gone(self):
    c = DirCache()
    something = self.test_data.path_to('something');
    c.listdir(something)
    self.test_data.rm_rf(something)
    self.assertEquals([], c.listdir(self.test_data.path_to('something')))

  def test_up_to_date_after_change(self):
    c = DirCache()
    something = self.test_data.path_to('something');
    c.listdir(something)
    self.test_data.rm_rf(something)
    self.assertEquals([], c.listdir(self.test_data.path_to('something')))

  def test_toplevel_deletion_causes_changed(self):
    c = DirCache()
    base = self.test_data.path_to('');
    something = self.test_data.path_to('something');
    c.listdir(base)
    c.listdir(something)
    self.assertFalse(c.listdir_with_changed_status(base)[1])
    self.assertFalse(c.listdir_with_changed_status(something)[1])
    time.sleep(1.2)
    self.test_data.rm_rf(something)
    self.assertTrue(c.listdir_with_changed_status(base)[1])
    self.assertTrue(c.listdir_with_changed_status(something)[1])

  def test_toplevel_addition_causes_change(self):
    c = DirCache()
    base = self.test_data.path_to('');
    c.listdir(base)
    self.assertFalse(c.listdir_with_changed_status(base)[1])
    time.sleep(1.2)
    self.test_data.write1('READMEx')
    self.assertTrue(c.listdir_with_changed_status(base)[1])

  def test_toplevel_modification_doesnt_cause_change(self):
    c = DirCache()
    base = self.test_data.path_to('');
    c.listdir(base)
    self.assertFalse(c.listdir_with_changed_status(base)[1])
    time.sleep(1.2)
    self.test_data.write1('READMEx')
    self.assertTrue(c.listdir_with_changed_status(base)[1])
    time.sleep(1.2)
    self.test_data.write2('READMEx')
    self.assertFalse(c.listdir_with_changed_status(base)[1])