def test_process_main_only_publish_directory_contents(self): source_dir = os.path.join(self.working_directory, 'source') master_dir = os.path.join(self.working_directory, 'master') publish_dir = os.path.join(self.working_directory, 'publish', 'bar') publish_dir += '/' step = AtomicDirectoryPublishStep(source_dir, [('/', publish_dir)], master_dir, only_publish_directory_contents=True) step.parent = Mock(timestamp=str(time.time())) # create some files to test sub_file = os.path.join(source_dir, 'bar.html') touch(sub_file) # create an existing file that will be maintained existing_file = os.path.join(source_dir, 'bar.html') touch(existing_file) # Create an old directory to test old_dir = os.path.join(master_dir, 'foo') os.makedirs(old_dir) step.process_main() target_file = os.path.join(publish_dir, 'bar.html') self.assertEquals(True, os.path.exists(target_file)) self.assertTrue(os.path.exists(existing_file)) self.assertEquals(1, len(os.listdir(master_dir)))
def test_process_main_multiple_targets(self): source_dir = os.path.join(self.working_directory, 'source') master_dir = os.path.join(self.working_directory, 'master') publish_dir = os.path.join(self.working_directory, 'publish', 'bar') publish_dir += '/' # create some files to test sub_file = os.path.join(source_dir, 'foo', 'bar.html') touch(sub_file) sub_file = os.path.join(source_dir, 'qux', 'quux.html') touch(sub_file) target_qux = os.path.join(self.working_directory, 'publish', 'qux.html') step = AtomicDirectoryPublishStep( source_dir, [('/', publish_dir), ('qux/quux.html', target_qux)], master_dir) step.parent = Mock(timestamp=str(time.time())) step.process_main() target_file = os.path.join(publish_dir, 'foo', 'bar.html') self.assertEquals(True, os.path.exists(target_file)) self.assertEquals(True, os.path.exists(target_qux))