def invite_user(info_a,info_b): api = UserRequest(mode) db = DbLib() dc_a = info_a['dc'] mid_a = info_a['data']['userinfo']['uid'] code_a = db.get_inv_code_by_db(mid_a) dc_b = info_b['dc'] mid_b = info_b['data']['userinfo']['uid'] code_b = db.get_inv_code_by_db(mid_b) print mid_a,mid_b #A邀请B return api.invite(dc_b,code_a)
def inv_count_test(): db = DbLib() base = '1361234567' p_list = [] mid_list = [] user_list = [] dc_list = [] invcode_list = [] invcount_dict = { } step = 1 num = 5 for i in range(num): p_list.append(base+str(i)) try: for p in p_list: db.delete_user_by_db(p,'phone') except: pass for j in range(num): user_list.append(regist_and_login(p_list[j])) for k in user_list: t_mid,t_dc = get_dc_mid_from_userinfo(k) mid_list.append(t_mid) dc_list.append(t_dc) invcode_list.append(db.get_inv_code_by_db(t_mid)) #print mid_list,invcode_list for l in range(num): t_str = '%s mid: %s invcode: %s' % (str(l),str(mid_list[l]),str(invcode_list[l])) print t_str api = UserRequest(mode) #A邀请B api.invite(dc_list[1],invcode_list[0]) #B邀请C api.invite(dc_list[2],invcode_list[1]) print 'check 1:', 'A:',get_inv_count(mid_list[0]),'B:',get_inv_count(mid_list[1]),'C:',get_inv_count(mid_list[2]) assert get_inv_count(mid_list[0]) == 2 and get_inv_count(mid_list[1]) == 1 and get_inv_count(mid_list[2]) == 0 print u'step %s:用户A邀请了用户B,用户B邀请了用户C。A:2 B:1 C:0 result:OK!' % (str(step)) step+=1 #C邀请A api.invite(dc_list[0],invcode_list[2]) print 'check 2:', 'A:', get_inv_count(mid_list[0]),'B:',get_inv_count(mid_list[1]),'C:',get_inv_count(mid_list[2]) assert get_inv_count(mid_list[0]) == 2 and get_inv_count(mid_list[1]) == 1 and get_inv_count(mid_list[2]) == 1 print mid_list[0] inviter_A,rootinviter_A = get_invite_info(mid_list[0]) assert inviter_A == mid_list[2] and rootinviter_A == mid_list[0] print u'step %s: 用户A填写了C的邀请码,A(父节点/根节点):(C/A)。A:2 B:1 C:1 result:OK!' % (str(step)) step+=1 #A邀请D api.invite(dc_list[3],invcode_list[0]) print 'check 3:', 'A:',get_inv_count(mid_list[0]),'B:', get_inv_count(mid_list[1]),'C:', get_inv_count(mid_list[2]),'D:', get_inv_count(mid_list[3]),'E:', get_inv_count(mid_list[4]) assert get_inv_count(mid_list[0]) == 3 and get_inv_count(mid_list[1]) == 1 and get_inv_count(mid_list[2]) == 1 and get_inv_count(mid_list[3]) == 0 and get_inv_count(mid_list[4]) == 0 print u'step %s:用户A邀请D A:3 B:1 C:1 D:0 E:0 result:OK!' % (str(step)) step+=1 #C邀请E api.invite(dc_list[4],invcode_list[2]) print 'check 4:', 'A:', get_inv_count(mid_list[0]),'B:', get_inv_count(mid_list[1]),'C:', get_inv_count(mid_list[2]),'D:', get_inv_count(mid_list[3]),'E:', get_inv_count(mid_list[4]) assert get_inv_count(mid_list[0]) == 4 and get_inv_count(mid_list[1]) == 1 and get_inv_count(mid_list[2]) == 2 and get_inv_count(mid_list[3]) == 0 and get_inv_count(mid_list[4]) == 0 inviter_D,rootinviter_D = get_invite_info(mid_list[3]) inviter_E,rootinviter_E = get_invite_info(mid_list[4]) assert inviter_D == mid_list[0] and rootinviter_D == mid_list[0] assert inviter_E == mid_list[2] and rootinviter_E == mid_list[0] print u'step %s:用户C邀请E D:(A/A),E:(C/A) A:4 B:1 C:2 D:0 E:0 result:OK!' % (str(step)) step+=1 try: for p in p_list: db.delete_user_by_db(p,'phone') except: pass
def invite(dc,code): api = UserRequest(mode) return api.invite(dc,code)