def test_post_ndex(self):
        pdict = {}
        pdict[dao.DOID_PARAM] = 1234
        rv = self._app.post(diseasescope_rest_server.SERVICE_NS,
                            json=pdict,
                            follow_redirects=True)
        self.assertEqual(rv.status_code, 202)
        res = rv.headers['Location']
        self.assertTrue(res is not None)
        self.assertTrue('http://' in res)

        uuidstr = re.sub('^.*/', '', res)
        diseasescope_rest_server.app.config[
            diseasescope_rest_server.JOB_PATH_KEY] = self._temp_dir

        tpath = diseasescope_rest_server.get_task(
            uuidstr, basedir=diseasescope_rest_server.get_submit_dir())
        self.assertTrue(os.path.isdir(tpath))
        jsonfile = os.path.join(tpath, dao.TASK_JSON)
        self.assertTrue(os.path.isfile(jsonfile))
        with open(jsonfile, 'r') as f:
            jdata = json.load(f)

        self.assertEqual(jdata['tasktype'], 'diseasescope_ontology')
        self.assertEqual(jdata[dao.DOID_PARAM], 1234)
    def test_get_task_for_validuuid(self):
        somefile = os.path.join(self._temp_dir, '1')
        open(somefile, 'a').close()
        theuuid_dir = os.path.join(self._temp_dir, '1.2.3.4', '1234')
        os.makedirs(theuuid_dir, mode=0o755)

        someipfile = os.path.join(self._temp_dir, '1.2.3.4', '1')
        open(someipfile, 'a').close()
        self.assertEqual(
            diseasescope_rest_server.get_task('1234', basedir=self._temp_dir),
            theuuid_dir)
 def test_get_task_for_nonexistantuuid(self):
     self.assertEqual(
         diseasescope_rest_server.get_task(str(uuid.uuid4()),
                                           basedir=self._temp_dir), None)
 def test_get_task_for_none_uuid(self):
     self.assertEqual(
         diseasescope_rest_server.get_task(None, basedir=self._temp_dir),
         None)
 def test_get_task_basedir_not_a_directory(self):
     somefile = os.path.join(self._temp_dir, 'hi')
     open(somefile, 'a').close()
     self.assertEqual(
         diseasescope_rest_server.get_task('foo', basedir=somefile), None)
 def test_get_task_basedir_none(self):
     self.assertEqual(diseasescope_rest_server.get_task('foo'), None)