def test_on_add(self): project = Project('pj') with temppath() as path: with open(path, 'w') as writer: writer.write('-- pig script') project.add_job('foo', PigJob({'pig.script': path})) eq_(project._files, {realpath(path).lstrip('/'): (realpath(path), False)})
def test_on_add_relative_without_root(self): with temppath() as path: root = dirname(path) project = Project('pj') with open(path, 'w') as writer: writer.write('-- pig script') rpath = relpath(path, root) project.add_job('foo', PigJob({ 'pig.script': rpath, 'type': 'pig' }))
def test_on_add_absolute(self): project = Project('pj') with temppath() as path: path = realpath(path) with open(path, 'w') as writer: writer.write('-- pig script') project.add_job('foo', PigJob({'pig.script': path, 'type': 'pig'})) eq_(project._files, {path.lstrip('/'): (path, False)}) with temppath() as zpath: project.build(zpath) reader = ZipFile(zpath) try: apath = path.lstrip('/') files = reader.namelist() ok_('foo.job' in files) ok_(apath in files) eq_( reader.read('foo.job').decode('utf-8'), u'pig.script=%s\ntype=pig\n' % (apath, )) finally: reader.close()
def test_on_add_relative_with_root(self): with temppath() as path: root = dirname(path) project = Project('pj', root=realpath(root)) with open(path, 'w') as writer: writer.write('-- pig script') rpath = relpath(path, root) project.add_job('foo', PigJob({ 'pig.script': rpath, 'type': 'pig' })) eq_(project._files, {rpath: (realpath(path), False)}) with temppath() as zpath: project.build(zpath) reader = ZipFile(zpath) try: files = reader.namelist() ok_('foo.job' in files) ok_(rpath in files) eq_( reader.read('foo.job').decode('utf-8'), 'pig.script=%s\ntype=pig\n' % (rpath, )) finally: reader.close()
def setup(self): if not self.session: raise SkipTest if self.project_name: sleep(1) self.project = Project(self.project_name)
def test_invalid_project(self): project = Project('an_non_existent_project') with temppath() as path: project.add_job('test', Job({'type': 'noop'})) project.build(path) self.session.upload_project(project, path)