(t *testing.T)
| 54 | } |
| 55 | |
| 56 | func TestLogin(t *testing.T) { |
| 57 | var ( |
| 58 | qrsig string |
| 59 | ptqrtoken string |
| 60 | ptqrloginCookie string |
| 61 | redirectCookie string |
| 62 | data []byte |
| 63 | err error |
| 64 | ) |
| 65 | data, qrsig, ptqrtoken, err = Ptqrshow() |
| 66 | if err != nil { |
| 67 | t.Fatal(err) |
| 68 | } |
| 69 | err = os.WriteFile("ptqrcode.png", data, 0666) |
| 70 | if err != nil { |
| 71 | t.Fatal(err) |
| 72 | } |
| 73 | LOOP: |
| 74 | for { |
| 75 | time.Sleep(2 * time.Second) |
| 76 | data, ptqrloginCookie, err = Ptqrlogin(qrsig, ptqrtoken) |
| 77 | if err != nil { |
| 78 | t.Fatal(err) |
| 79 | } |
| 80 | t.Logf("ptqrloginCookie:%v\n", ptqrloginCookie) |
| 81 | text := binary.BytesToString(data) |
| 82 | t.Logf("text:%v\n", text) |
| 83 | switch { |
| 84 | case strings.Contains(text, "二维码已失效"): |
| 85 | t.Fatal("二维码已失效, 登录失败") |
| 86 | return |
| 87 | case strings.Contains(text, "登录成功"): |
| 88 | _ = os.Remove("ptqrcode.png") |
| 89 | dealedCheckText := strings.ReplaceAll(text, "'", "") |
| 90 | redirectURL := strings.Split(dealedCheckText, ",")[2] |
| 91 | redirectCookie, err = LoginRedirect(redirectURL) |
| 92 | if err != nil { |
| 93 | t.Fatal(err) |
| 94 | } |
| 95 | t.Logf("ptqrloginCookie:%v\n", redirectCookie) |
| 96 | break LOOP |
| 97 | } |
| 98 | } |
| 99 | m := NewManager(ptqrloginCookie + redirectCookie) |
| 100 | t.Logf("m:%#v\n", m) |
| 101 | err = os.WriteFile("cookie.txt", binary.StringToBytes(ptqrloginCookie+redirectCookie), 0666) |
| 102 | if err != nil { |
| 103 | t.Fatal(err) |
| 104 | } |
| 105 | gotResult, err := m.EmotionPublish("真好", nil) |
| 106 | if err != nil { |
| 107 | t.Fatal(err) |
| 108 | } |
| 109 | t.Logf("gotResult:%#v\n", gotResult) |
| 110 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…