def test_post_ndex(self):
        pdict = {}
        pdict[ddot_rest_server.ALPHA_PARAM] = 0.5
        pdict[ddot_rest_server.BETA_PARAM] = 1.0
        pdict[ddot_rest_server.INTERACTION_FILE_PARAM] = (
            io.BytesIO(b'hi there'), 'yo.txt')
        rv = self._app.post(ddot_rest_server.ONTOLOGY_NS,
                            data=pdict,
                            follow_redirects=True)
        self.assertEqual(rv.status_code, 202)
        res = rv.headers['Location']
        self.assertTrue(res is not None)
        self.assertTrue(ddot_rest_server.ONTOLOGY_NS in res)

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

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

        self.assertEqual(jdata['tasktype'], 'ddot_ontology')
        self.assertEqual(jdata[ddot_rest_server.ALPHA_PARAM], 0.5)
        self.assertEqual(jdata[ddot_rest_server.BETA_PARAM], 1.0)
    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(
            ddot_rest_server.get_task('1234', basedir=self._temp_dir),
            theuuid_dir)
 def test_get_task_for_nonexistantuuid(self):
     self.assertEqual(
         ddot_rest_server.get_task(str(uuid.uuid4()),
                                   basedir=self._temp_dir), None)
 def test_get_task_for_none_uuid(self):
     self.assertEqual(
         ddot_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(ddot_rest_server.get_task('foo', basedir=somefile),
                      None)
 def test_get_task_basedir_none(self):
     self.assertEqual(ddot_rest_server.get_task('foo'), None)