tests.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:mygene.info 作者: biothings 项目源码 文件源码
def test_dotfield(self):
        # /query service
        # default dotfield=0
        rdefault = self.json_ok(self.get_ok(self.api +
                                '/query?q=ccnk&fields=refseq.rna'))
        # force no dotfield
        rfalse = self.json_ok(self.get_ok(self.api +
                              '/query?q=ccnk&fields=refseq.rna&dotfield=false'))
        # force dotfield
        rtrue = self.json_ok(self.get_ok(self.api +
                             '/query?q=ccnk&fields=refseq.rna&dotfield=true'))
        # check defaults and bool params
        # TODO: put this in json_ok as post-process filter ?
        for d in [rdefault,rfalse,rtrue]:
            for h in d["hits"]:
                del h["_score"]
        eq_(rdefault["hits"], rfalse["hits"])
        # check struct
        assert "refseq.rna" in rtrue["hits"][0].keys()
        assert "refseq" in rdefault["hits"][0].keys()
        assert "rna" in rdefault["hits"][0]["refseq"].keys()
        # TODO: no fields but dotfield => dotfield results
        # TODO: fields with dot but no dotfield => dotfield results

        # /gene service
        rdefault = self.json_ok(self.get_ok(self.api +
                                '/gene/1017?filter=symbol,go.MF'))
        rtrue = self.json_ok(self.get_ok(self.api +
                             '/gene/1017?filter=symbol,go.MF&dotfield=true'))
        rfalse = self.json_ok(self.get_ok(self.api +
                              '/gene/1017?filter=symbol,go.MF&dotfield=false'))
        # sharding makes scoring slightly variable
        rdefault.pop("_score")
        rfalse.pop("_score")
        eq_(rdefault, rfalse)
        assert "go.MF.term" in rtrue.keys()
        assert "go" in rdefault.keys()
        assert "MF" in rdefault["go"].keys()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号