# -*- coding: utf-8; -*-
from __future__ import unicode_literals, absolute_import
import os
import shutil
import tempfile
import unittest
import lockfile
from rattail import files
class TestLockingCopy(unittest.TestCase):
def setUp(self):
self.tempdir = tempfile.mkdtemp()
self.srcdir = os.path.join(self.tempdir, 'src')
os.makedirs(self.srcdir)
self.dstdir = os.path.join(self.tempdir, 'dst')
os.makedirs(self.dstdir)
self.src_file = os.path.join(self.srcdir, 'somefile')
with open(self.src_file, 'wt') as f:
f.write('')
def tearDown(self):
shutil.rmtree(self.tempdir)
def test_normal_copy_succeeds(self):
files.locking_copy(self.src_file, self.dstdir)
dst_file = os.path.join(self.dstdir, 'somefile')
self.assertTrue(os.path.exists(dst_file))
self.assertTrue(os.path.isfile(dst_file))
self.assertFalse(os.path.exists(os.path.join(self.dstdir, 'somefile.lock')))