def test_query_string_from_dict(self): adict = {"numkey":4, "dict":{"nestnum":5, "nestbool":True, "neststr":"hey", "doublenest": {"anumdnest":9}}, "tnest1": {"tnest2": {"tnest3-1":"1", "tnest3-2":"2", "tnest3-3":"b"}}, "strkey": "astr", "boolkey": False, 'unicodevalkey': u'unicodeval', u'unicode_key': 'val'} ret = utils.query_string_from_dict(adict) print "" print ret print "" self.assertTrue("tnest1.tnest2.tnest3-1=1" in ret) self.assertTrue("tnest1.tnest2.tnest3-2=2" in ret) self.assertTrue("tnest1.tnest2.tnest3-3=b" in ret) self.assertTrue("numkey=number:4&" in ret) self.assertTrue("dict.nestnum=number:5&" in ret) self.assertTrue("dict.nestbool=boolean:true&" in ret) self.assertTrue("dict.neststr=hey&" in ret) self.assertTrue("dict.doublenest.anumdnest=number:9&" in ret) self.assertTrue("strkey=astr&" in ret) self.assertTrue("boolkey=boolean:false&" in ret) self.assertTrue("unicodevalkey=unicodeval" in ret) self.assertTrue("unicode_key=val" in ret)
def do_add(self, qstr): '''add [qstr] add metadata to self.md_list ''' if not qstr: qstr = query_string_from_dict(self.d) if self.cert_key: r = requests.get(args["--unis-url"] + "/metadata?" + qstr, cert=self.cert_key, verify=False) else: r = requests.get(args["--unis-url"] + "/metadata?" + qstr) self.md_list.extend(r.json) self.uniquify_md_list() for md in r.json: print md["eventType"]
def do_query(self, qstr): '''query [qstr] query the ms for metadata and store it in self.md_list. If qstr is given, it is used as the query (everything after the ? mark in the URL. If it is not given, a query is generated based on the items in the current dict. ''' if not qstr: qstr = query_string_from_dict(self.d) if self.cert_key: r = requests.get(args["--unis-url"] + "/metadata?" + qstr, cert=self.cert_key, verify=False) else: r = requests.get(args["--unis-url"] + "/metadata?" + qstr) self.md_list = r.json() for md in r.json(): print md["eventType"]