예제 #1
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_rm(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.rm("opt/virtualenv/quail")

    self.assertRaises(VIOError, vd.open, "opt/virtualenv/quail", create=False)
예제 #2
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cd_absolute(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz", create_intermediate=True)
    vd.mkdir("bar/foo", create_intermediate=True)

    vd.cd("foo/bar/baz")

    vd.cd("/bar/foo")
    self.assertEqual("/bar/foo", vd.pwd())
예제 #3
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_pwd(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)
    
    self.assertEqual("", vd.pwd())

    vd.cd("foo")
    self.assertEqual("/foo", vd.pwd())

    vd.cd("bar")
    self.assertEqual("/foo/bar", vd.pwd())
예제 #4
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_walk(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    vd.walk()
예제 #5
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_walk_bottom_up(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    vd.walk(topdown=False)
예제 #6
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_ls(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    stream = StringIO()
    vd.ls(stream)
예제 #7
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cd_nop(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)

    vd.cd("foo/bar/baz")

    vd.cd(".//")
    self.assertEqual("baz", vd.cur.name)

    vd.cd("./.")
    self.assertEqual("baz", vd.cur.name)
예제 #8
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_zipfile(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.compress()
예제 #9
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cp_dir_into_existing_dir_with_same_content(self):
    vd = VDir()

    vd.open("opt/virtualenv/wing").write("flyes")
    vd.open("opt/virtualenv_copy/virtualenv/wing").write("baz")
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy/")

    # Assert that the file has been overwritten
    wing = vd.open("opt/virtualenv_copy/virtualenv/wing")
    self.assertEqual("flyes", wing.read())
예제 #10
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cd(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)

    vd.cd("foo")
    self.assertEqual("foo", vd.cur.name)

    vd.cd("bar/baz")
    self.assertEqual("baz", vd.cur.name)

    vd.cd("qux")
    self.assertEqual("qux", vd.cur.name)

    self.assertRaises(VIOError, vd.cd, "foo")
예제 #11
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_mv_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.mv("opt/virtualenv", "opt/virtualenv_moved")

    self.assertRaises(VIOError, vd.open, "opt/virtualenv", create=False)

    moved = vd.open("opt/virtualenv_moved/quail")
    self.assertEqual("foo", moved.read())
예제 #12
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cp_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/egg")
    self.assertEqual(original.read(), duplicate.read())
    
    # Assert writing to the original file does not affect the copied file
    original.write("bar")
    original.seek(0)
    duplicate.seek(0)
    self.assertNotEqual(original.read(), duplicate.read())
예제 #13
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cp_with_absolute_paths(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
    
    vd.cd("opt/virtualenv")
    vd.cp("/opt/virtualenv", "/opt/virtualenv_copy")

    # Assert the copied files contain the same data
    original = vd.open("/opt/virtualenv/quail")
    duplicate = vd.open("/opt/virtualenv_copy/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("/opt/virtualenv/egg")
    duplicate = vd.open("/opt/virtualenv_copy/egg")
    self.assertEqual(original.read(), duplicate.read())
예제 #14
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cp_dir_trailing_slash(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/egg")
    self.assertEqual(original.read(), duplicate.read())
예제 #15
0
파일: test_vdir.py 프로젝트: kajic/vdir
class TestVDir(unittest.TestCase):
  def setUp(self):
    self.vd = VDir()

  def assertIsFile(self, file):
    self.assertTrue(hasattr(file, "read"))
    self.assertTrue(hasattr(file, "write"))    

  def test_open(self):
    file = self.vd.open(".emacs")

    self.assertEqual(".emacs", file.name)
    self.assertIsFile(file)

  def test_open_nested_file(self):
    file = self.vd.open("opt/.git-create-branch")

    self.assertEqual(".git-create-branch", file.name)
    self.assertIsFile(file)

  def test_mkdir(self):
    self.vd.mkdir("foo")
    
    dir = self.vd.open("foo")
    self.assertTrue(hasattr(dir, "drill"))

  def test_mkdir_intermediate(self):
    self.vd.mkdir("foo/bar", create_intermediate=True)
    
    dir = self.vd.open("foo/bar")
    self.assertTrue(hasattr(dir, "drill"))
    
  def test_mkdir_no_intermediate(self):
    self.assertRaises(VIOError, self.vd.mkdir, "bar/foo")

  def test_mkdir_overwrite(self):
    self.vd.open("foo/bar").write("baz")
    self.vd.mkdir("foo/bar", overwrite=True)
    self.assertTrue(self.vd.open("foo/bar").is_directory())

  def test_mkdir_overwrite_intermediate(self):
    self.vd.open("foo/bar").write("baz")
    self.vd.mkdir("foo/bar/baz", overwrite=True)
    self.assertTrue(self.vd.open("foo/bar/baz").is_directory())

  def test_cd(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)

    vd.cd("foo")
    self.assertEqual("foo", vd.cur.name)

    vd.cd("bar/baz")
    self.assertEqual("baz", vd.cur.name)

    vd.cd("qux")
    self.assertEqual("qux", vd.cur.name)

    self.assertRaises(VIOError, vd.cd, "foo")

  def test_cd_parent(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)

    vd.cd("foo/bar/baz/qux")

    vd.cd("..")
    self.assertEqual("baz", vd.cur.name)

    vd.cd("../../")
    self.assertEqual("foo", vd.cur.name)

    vd.cd("bar/baz/../baz")
    self.assertEqual("baz", vd.cur.name)

  def test_cd_nop(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)

    vd.cd("foo/bar/baz")

    vd.cd(".//")
    self.assertEqual("baz", vd.cur.name)

    vd.cd("./.")
    self.assertEqual("baz", vd.cur.name)

  def test_cd_absolute(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz", create_intermediate=True)
    vd.mkdir("bar/foo", create_intermediate=True)

    vd.cd("foo/bar/baz")

    vd.cd("/bar/foo")
    self.assertEqual("/bar/foo", vd.pwd())

  def test_pwd(self):
    vd = VDir()

    vd.mkdir("foo/bar/baz/qux", create_intermediate=True)
    
    self.assertEqual("", vd.pwd())

    vd.cd("foo")
    self.assertEqual("/foo", vd.pwd())

    vd.cd("bar")
    self.assertEqual("/foo/bar", vd.pwd())
    
  def test_cp_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/egg")
    self.assertEqual(original.read(), duplicate.read())
    
    # Assert writing to the original file does not affect the copied file
    original.write("bar")
    original.seek(0)
    duplicate.seek(0)
    self.assertNotEqual(original.read(), duplicate.read())

  def test_cp_with_absolute_paths(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
    
    vd.cd("opt/virtualenv")
    vd.cp("/opt/virtualenv", "/opt/virtualenv_copy")

    # Assert the copied files contain the same data
    original = vd.open("/opt/virtualenv/quail")
    duplicate = vd.open("/opt/virtualenv_copy/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("/opt/virtualenv/egg")
    duplicate = vd.open("/opt/virtualenv_copy/egg")
    self.assertEqual(original.read(), duplicate.read())

  def test_cp_dir_trailing_slash(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/egg")
    self.assertEqual(original.read(), duplicate.read())

  def test_cp_dir_into_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy/")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/virtualenv/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/virtualenv/egg")
    self.assertEqual(original.read(), duplicate.read())
    
  def test_cp_dir_into_existing_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.mkdir("opt/virtualenv_copy/virtualenv/", create_intermediate=True)
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy/")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/virtualenv/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/virtualenv/egg")
    self.assertEqual(original.read(), duplicate.read())

  def test_cp_dir_into_existing_dir_with_content(self):
    vd = VDir()

    vd.open("opt/virtualenv_copy/virtualenv/wing").write("baz")
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy/")

    # Assert that the wing file has not been overwritten
    wing = vd.open("opt/virtualenv_copy/virtualenv/wing")
    self.assertEqual("baz", wing.read())

  def test_cp_dir_into_existing_dir_with_same_content(self):
    vd = VDir()

    vd.open("opt/virtualenv/wing").write("flyes")
    vd.open("opt/virtualenv_copy/virtualenv/wing").write("baz")
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy/")

    # Assert that the file has been overwritten
    wing = vd.open("opt/virtualenv_copy/virtualenv/wing")
    self.assertEqual("flyes", wing.read())

  def test_mv_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.mv("opt/virtualenv", "opt/virtualenv_moved")

    self.assertRaises(VIOError, vd.open, "opt/virtualenv", create=False)

    moved = vd.open("opt/virtualenv_moved/quail")
    self.assertEqual("foo", moved.read())

  def test_rm(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.rm("opt/virtualenv/quail")

    self.assertRaises(VIOError, vd.open, "opt/virtualenv/quail", create=False)

  def test_zipfile(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")
        
    vd.compress()

  def test_walk(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    vd.walk()

  def test_walk_bottom_up(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    vd.walk(topdown=False)

  def test_ls(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.cp("opt/virtualenv", "opt/virtualenv_copy")

    stream = StringIO()
    vd.ls(stream)
예제 #16
0
파일: test_vdir.py 프로젝트: kajic/vdir
  def test_cp_dir_into_existing_dir(self):
    vd = VDir()

    vd.open("opt/virtualenv/quail").write("foo")
    vd.open("opt/virtualenv/egg").write("bar")

    vd.mkdir("opt/virtualenv_copy/virtualenv/", create_intermediate=True)
        
    vd.cp("opt/virtualenv/", "opt/virtualenv_copy/")

    # Assert the copied files contain the same data
    original = vd.open("opt/virtualenv/quail")
    duplicate = vd.open("opt/virtualenv_copy/virtualenv/quail")
    self.assertEqual(original.read(), duplicate.read())

    original = vd.open("opt/virtualenv/egg")
    duplicate = vd.open("opt/virtualenv_copy/virtualenv/egg")
    self.assertEqual(original.read(), duplicate.read())
예제 #17
0
파일: test_vdir.py 프로젝트: kajic/vdir
 def setUp(self):
   self.vd = VDir()