def test_wework(self, userid, name, moblie): # 添加 print(WeWork().test_create(userid, name, moblie)) # assert 'created' == WeWork().test_create(userid, name, moblie)['errmsg'] # 查询 print(WeWork().test_get_member(userid)) # assert name == WeWork().test_get_member(userid)['name'] # 更新 print(WeWork().test_update_member(userid,"测试修改")) # assert 'updated' == WeWork().test_update_member(userid,"测试修改")['errmsg'] # 查询修改后 print(WeWork().test_get_member(userid)) # assert "测试修改" == WeWork().test_get_member(userid)['name'] # 删除 print(WeWork().test_delete_member(userid))
def delete_department(self, depart_id): param = {'access_token': WeWork.get_contact_token(), "id": depart_id} resp = super().request_api('GET', self.delete_url, params=param, headers=self.headers).json() super().json_format(resp) return resp
class Department(BaseApi): list_url = 'https://qyapi.weixin.qq.com/cgi-bin/department/list' create_url = 'https://qyapi.weixin.qq.com/cgi-bin/department/create' update_url = 'https://qyapi.weixin.qq.com/cgi-bin/department/update' delete_url = 'https://qyapi.weixin.qq.com/cgi-bin/department/delete' param = {'access_token': WeWork.get_contact_token()} headers = {'content-type': 'charset=utf-8'} def get_department_list(self): resp = super().request_api('GET', self.list_url, params=self.param, proxies=True).json() super().json_format(resp) return resp def create_department(self, depart_name: str, parentid, order): json = {"name": depart_name, "parentid": parentid, "order": order} resp = super().request_api('POST', self.create_url, params=self.param, json=json, headers=self.headers).json() super().json_format(resp) return resp def update_department(self, depart_id, update_name=None, update_parentid=1, update_order=9999): if update_name == None: update_name = "改个名" + str(calendar.timegm(time.gmtime())) json = { "id": depart_id, "name": update_name, "parentid": update_parentid, "order": update_order } resp = super().request_api('POST', self.update_url, params=self.param, json=json, headers=self.headers).json() super().json_format(resp) return resp def delete_department(self, depart_id): param = {'access_token': WeWork.get_contact_token(), "id": depart_id} resp = super().request_api('GET', self.delete_url, params=param, headers=self.headers).json() super().json_format(resp) return resp
def delete(self, id): r = requests.get( "https://qyapi.weixin.qq.com/cgi-bin/department/delete", params={ "access_token": WeWork.get_token(self._secret), "id": id }, headers={"content-type": "application/json; charset=UTF-8"}, proxies=proxies, verify=False ) self.format(r.json()) return r.json()
def update(self, id, **kwargs): data = {"id": id} data.update(kwargs) r = requests.post( "https://qyapi.weixin.qq.com/cgi-bin/department/update", params={"access_token": WeWork.get_token(self._secret)}, json=data, headers={"content-type": "application/json; charset=UTF-8"}, proxies=proxies, verify=False ) r.encoding = "utf-8" self.format(r.json()) return r.json()
def list(self): r = requests.get( "https://qyapi.weixin.qq.com/cgi-bin/department/list", params={"access_token": WeWork.get_token(self._secret)}, # headers={"content-type": "application/json; charset=UTF-8"}, headers={"content-type": "charset=utf-8"}, proxies=proxies, verify=False ) # 只对r.text起作用,对r.json()没用 r.encoding = "utf-8" # print(r.text) # print(type(json.loads(r.text))) # text是字符串类型,无法使用json格式化的方法 # print(type(r.text)) self.format(r.json()) return r.json()
class Message(BaseApi): send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send' headers = {'content-type': 'application/json; charset=utf-8'} param = {'access_token': WeWork.get_eat_token()} def send_text_massage(self, touser: list, agentid=1000005, content=None): json = { "touser": "******".join(touser), "msgtype": "text", "agentid": agentid, "text": { "content": content } } resp = super().request_api('POST', self.send_url, json=json, headers=self.headers, params=self.param).json() super().json_format(resp) return resp
def create(self, name, parentid, **kwargs): data = { "name": name, "parentid": parentid } data.update(kwargs) r = requests.post( "https://qyapi.weixin.qq.com/cgi-bin/department/create", params={"access_token": WeWork.get_token(self._secret)}, # 这里用data会报错:60001,Warning: wrong json format. department invalid length # done: data和json有何区别? # 可抓包看数据 # 用json表示,请求体body用json格式发送,{"name": "dont give up", "parentid": 1} # 用data表示,请求体body用赋值的格式传递,name=dont+give+up&parentid=1 json=data, # data=data, headers={"content-type": "application/json; charset=utf-8"}, # headers={"Accept-Encoding": "charset=utf8"}, proxies=proxies, verify=False ) self.format(r.json()) return r.json()
def __init__(self): #__init__函数:创建一个对象时默认被调用 self.token = WeWork().token()
def setup_class(self): wework = WeWork() self.token = wework.get_token() self.tag = Tag()
def test_get_token(self): assert WeWork.get_token(self.secret) != ""