parse_test.go 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package third
  2. import "testing"
  3. func Test_decrypt(t *testing.T) {
  4. type args struct {
  5. in []byte
  6. }
  7. tests := []struct {
  8. name string
  9. args args
  10. want string
  11. wantErr bool
  12. }{
  13. // TODO: Add test cases.
  14. {
  15. name: "https://unlockdoc.smain.cn/api/api/user/getUserInfoPlus",
  16. args: args{in: []byte("tjagpyNaMSjRxlfwxYMLsg==")},
  17. want: "{}",
  18. wantErr: false,
  19. },
  20. {
  21. name: "https://unlockdoc.smain.cn/api/api/user/getUserInfoPlus",
  22. args: args{in: []byte("aJboPrg3FKs91jg4BmmKc4CDeIDyrNQqhanW1uVXQCo=")},
  23. want: "{\"code\":200,\"message\":\"成功\"}",
  24. wantErr: false,
  25. },
  26. {
  27. name: "https://unlockdoc.smain.cn/api/api/user/getRecords",
  28. args: args{in: []byte("5fczz2FJXKZcx59LiJXI9rnuMH+vkb8r5MOq4k5jcvgwBbyVTuITC1AKnurpIUudDERL+qIU8E/hAeUXU18sjg==")},
  29. want: "{\"userToken\":\"df9pi7ebzky\",\"email\":\"df9pi7ebzky\"}",
  30. wantErr: false,
  31. },
  32. {
  33. name: "https://unlockdoc.smain.cn/api/api/user/getRecords",
  34. args: args{in: []byte("aJboPrg3FKs91jg4BmmKc+5vw5ycrPr/pBR9r8v6dhbnoea471YYVelrqVTfl5pCI7GLEBzV2UMF4Xo3hwKfBpC+ioEsqJcbqawgV6LhGoZ/tcX94VzKlld2fi+UJEmJCUSIochS2fq57whI7ZQ6q4w610atfgGqQ6XFn/Mjxn77Za+LszFtHq0XxGukgragippUywJHGjyoILvK8ggWtqUNpzTwCRUNvVx4r4HZZNnYybYGy7o7FcZJX1f+DuvN6QMIOK2QgaIjXlnKLClI12BOnrI5+7j3yfVbHT7dmYvfOVgnlbr+gdZBMiLmP6mtu0gC0piJXWZyJa3ejy8ulbk1Aw29ErqtXVN5CUCAbPW2ICmPcVBtzYcZ4oTGsuZxYU4e4xjYSgeNUovE6WbGV5ptQPbt9AJ9hz03Uzv3U0n6QnKZUvjVhDD6p+M23s2x/l+jyL2T6oCcIdmtQsC0XTT+l8K8Jy6eMxZytPtsuhpJo1eTc69nTz2VD24YHY6udyjycUft2dG2S0q2Hf8FM1wToGREbPVmhnOz+HYbVYyd4W6Hu8DFVToBi+tWcJWzKSOj582CFVkUa3BfnUmepTxfkr//6KqTklz3dpyClPA/+imNuAS6/NE5gs4+HMNF9iPiHriQMD9MO+PVYsmVU7nxt0iJwzDpK3xn+kvSpNV4+bQiROz3OYGh/BlO2443CZsss9svhsbtcOOIQfpUhlx87LDwUN8vRGbJdleAWiIo03LeQTxTWhyJvsrK350WiyhQPDtG15x+C8Xo8yFrK34m/OqhB5H/8y++Uy9qWFyxeoJ3R/dI2DnQ6m1r0TwLP50qzvkCjoYE+jx69hXN7hkvSo8oG91eOiR464rS3H8Y47fES/kl6G6tnd/81xrCheVUNyXyBBipSZapZhNxnhaFWWvbvMO/9/5TA9WF3LVSagxASo3GvjFdGyNvmqFUkRbsOXOn3jEg589XsPvYi6Tel6yyVT1qlYoAgHFQeGkvcMANNCf25E4675bXZSEnk5rtaLgV6yY6X4fPduHthXwQ2qggvYfY7dio1zO829eh0CrgTFuNv5eNBJpmT1luzwMcWrkBFyOnvWVZ8q+dBHM0k7NFlrtNURr6ZbvEVquGmX3xNnD0uLxXCuaBB+D0wgQBP2JKE/zTV3Mo+phxL9WNNPq3qwvus4nJuQFYEz+klOXFLfOfPGcJHGWohTgRZbCeDuabnNa5h1HyBiIXPc2ELqQF9IirLxSM27jDnboEJrGLO2/ne7WVh5yvixAnIOC4yyf8YRpS28cw3InbOC6wsJ2Jkc6dyAFj4z/KbR4zmBnHhNFmZRKHmxtureVHv4QBVGS5TR2+lFvu4lG9IgzaCCIBT+R5o78YNBy96x3NP44GDiFIG7XqT3wL++VHEFvtWr1wlv2vYEe4H+/TKHgnWeXCWTZaL8OGD0IUsATaOVJi0Qh2WhfxHDgp/rAfmEOHSm2nrplfQiZrnlRE3e4lh0yEr0lCwBiuDSjuRyE=")},
  35. want: "{\"code\":200,\"message\":\"成功\",\"data\":[{\"id\":\"1930160779866267648\",\"email\":\"df9pi7ebzky\",\"date\":\"2025-06-04 15:12:45\",\"markdown_url\":\"https://mark.cuckooing.cn/mdstx/2025-04-05/SquidV6.8编译安装升级记录.md\",\"html_url\":\"https://mark.cuckooing.cn/mdstx/2025-04-05/SquidV6.8编译安装升级记录.html\",\"online_html_url\":\"https://unlockdoc.smain.cn/online/2025-06-04/9fae92c9a32218e0a3cb9587c60de2ad.html\",\"pdf_url\":null,\"source\":\"https://blog.csdn.net/2301_76390982/article/details/136744443\",\"title\":\"SquidV6.8编译安装升级记录\",\"isFail\":null},{\"id\":\"1930133868200976384\",\"email\":\"df9pi7ebzky\",\"date\":\"2025-06-04 13:25:48\",\"markdown_url\":\"https://unlockdoc.smain.cn/mds/2025-06-04/Golang中通过cgo调用C++的动态库的功能封装.md\",\"html_url\":\"https://unlockdoc.smain.cn/mds/2025-06-04/Golang中通过cgo调用C++的动态库的功能封装.html\",\"online_html_url\":\"https://unlockdoc.smain.cn/online/2025-06-04/e32d5340604be42eefbf7d0a1f36c10e.html\",\"pdf_url\":null,\"source\":\"https://blog.csdn.net/JineD/article/details/130735088\",\"title\":\"Golang中通过cgo调用C++的动态库的功能封装\",\"isFail\":null}]}",
  36. wantErr: false,
  37. },
  38. }
  39. for _, tt := range tests {
  40. t.Run(tt.name, func(t *testing.T) {
  41. got, err := decrypt(tt.args.in)
  42. //t.Logf("name:%s, got: %s,err: %s", tt.name, got, err)
  43. if (err != nil) != tt.wantErr {
  44. t.Errorf("decrypt() error = %v, wantErr %v", err, tt.wantErr)
  45. return
  46. }
  47. if got != tt.want {
  48. t.Errorf("decrypt() got = %v, want %v", got, tt.want)
  49. }
  50. })
  51. }
  52. }
  53. func Test_encrypt(t *testing.T) {
  54. type args struct {
  55. in []byte
  56. }
  57. tests := []struct {
  58. name string
  59. args args
  60. want string
  61. wantErr bool
  62. }{
  63. // TODO: Add test cases.
  64. {
  65. name: "t1",
  66. args: args{in: []byte("{}")},
  67. want: "tjagpyNaMSjRxlfwxYMLsg==",
  68. wantErr: false,
  69. },
  70. {
  71. name: "https://unlockdoc.smain.cn/api/api/user/getUserInfoPlus",
  72. args: args{in: []byte("{\"code\":200,\"message\":\"成功\"}")},
  73. want: "aJboPrg3FKs91jg4BmmKc4CDeIDyrNQqhanW1uVXQCo=",
  74. wantErr: false,
  75. },
  76. {
  77. name: "https://unlockdoc.smain.cn/api/api/user/getRecords",
  78. args: args{in: []byte("{\"userToken\":\"df9pi7ebzky\",\"email\":\"df9pi7ebzky\"}")},
  79. want: "5fczz2FJXKZcx59LiJXI9rnuMH+vkb8r5MOq4k5jcvgwBbyVTuITC1AKnurpIUudDERL+qIU8E/hAeUXU18sjg==",
  80. wantErr: false,
  81. },
  82. {
  83. name: "https://unlockdoc.smain.cn/api/api/user/getRecords",
  84. args: args{in: []byte("{\"code\":200,\"message\":\"成功\",\"data\":[{\"id\":\"1930160779866267648\",\"email\":\"df9pi7ebzky\",\"date\":\"2025-06-04 15:12:45\",\"markdown_url\":\"https://mark.cuckooing.cn/mdstx/2025-04-05/SquidV6.8编译安装升级记录.md\",\"html_url\":\"https://mark.cuckooing.cn/mdstx/2025-04-05/SquidV6.8编译安装升级记录.html\",\"online_html_url\":\"https://unlockdoc.smain.cn/online/2025-06-04/9fae92c9a32218e0a3cb9587c60de2ad.html\",\"pdf_url\":null,\"source\":\"https://blog.csdn.net/2301_76390982/article/details/136744443\",\"title\":\"SquidV6.8编译安装升级记录\",\"isFail\":null},{\"id\":\"1930133868200976384\",\"email\":\"df9pi7ebzky\",\"date\":\"2025-06-04 13:25:48\",\"markdown_url\":\"https://unlockdoc.smain.cn/mds/2025-06-04/Golang中通过cgo调用C++的动态库的功能封装.md\",\"html_url\":\"https://unlockdoc.smain.cn/mds/2025-06-04/Golang中通过cgo调用C++的动态库的功能封装.html\",\"online_html_url\":\"https://unlockdoc.smain.cn/online/2025-06-04/e32d5340604be42eefbf7d0a1f36c10e.html\",\"pdf_url\":null,\"source\":\"https://blog.csdn.net/JineD/article/details/130735088\",\"title\":\"Golang中通过cgo调用C++的动态库的功能封装\",\"isFail\":null}]}")},
  85. want: "aJboPrg3FKs91jg4BmmKc+5vw5ycrPr/pBR9r8v6dhbnoea471YYVelrqVTfl5pCI7GLEBzV2UMF4Xo3hwKfBpC+ioEsqJcbqawgV6LhGoZ/tcX94VzKlld2fi+UJEmJCUSIochS2fq57whI7ZQ6q4w610atfgGqQ6XFn/Mjxn77Za+LszFtHq0XxGukgragippUywJHGjyoILvK8ggWtqUNpzTwCRUNvVx4r4HZZNnYybYGy7o7FcZJX1f+DuvN6QMIOK2QgaIjXlnKLClI12BOnrI5+7j3yfVbHT7dmYvfOVgnlbr+gdZBMiLmP6mtu0gC0piJXWZyJa3ejy8ulbk1Aw29ErqtXVN5CUCAbPW2ICmPcVBtzYcZ4oTGsuZxYU4e4xjYSgeNUovE6WbGV5ptQPbt9AJ9hz03Uzv3U0n6QnKZUvjVhDD6p+M23s2x/l+jyL2T6oCcIdmtQsC0XTT+l8K8Jy6eMxZytPtsuhpJo1eTc69nTz2VD24YHY6udyjycUft2dG2S0q2Hf8FM1wToGREbPVmhnOz+HYbVYyd4W6Hu8DFVToBi+tWcJWzKSOj582CFVkUa3BfnUmepTxfkr//6KqTklz3dpyClPA/+imNuAS6/NE5gs4+HMNF9iPiHriQMD9MO+PVYsmVU7nxt0iJwzDpK3xn+kvSpNV4+bQiROz3OYGh/BlO2443CZsss9svhsbtcOOIQfpUhlx87LDwUN8vRGbJdleAWiIo03LeQTxTWhyJvsrK350WiyhQPDtG15x+C8Xo8yFrK34m/OqhB5H/8y++Uy9qWFyxeoJ3R/dI2DnQ6m1r0TwLP50qzvkCjoYE+jx69hXN7hkvSo8oG91eOiR464rS3H8Y47fES/kl6G6tnd/81xrCheVUNyXyBBipSZapZhNxnhaFWWvbvMO/9/5TA9WF3LVSagxASo3GvjFdGyNvmqFUkRbsOXOn3jEg589XsPvYi6Tel6yyVT1qlYoAgHFQeGkvcMANNCf25E4675bXZSEnk5rtaLgV6yY6X4fPduHthXwQ2qggvYfY7dio1zO829eh0CrgTFuNv5eNBJpmT1luzwMcWrkBFyOnvWVZ8q+dBHM0k7NFlrtNURr6ZbvEVquGmX3xNnD0uLxXCuaBB+D0wgQBP2JKE/zTV3Mo+phxL9WNNPq3qwvus4nJuQFYEz+klOXFLfOfPGcJHGWohTgRZbCeDuabnNa5h1HyBiIXPc2ELqQF9IirLxSM27jDnboEJrGLO2/ne7WVh5yvixAnIOC4yyf8YRpS28cw3InbOC6wsJ2Jkc6dyAFj4z/KbR4zmBnHhNFmZRKHmxtureVHv4QBVGS5TR2+lFvu4lG9IgzaCCIBT+R5o78YNBy96x3NP44GDiFIG7XqT3wL++VHEFvtWr1wlv2vYEe4H+/TKHgnWeXCWTZaL8OGD0IUsATaOVJi0Qh2WhfxHDgp/rAfmEOHSm2nrplfQiZrnlRE3e4lh0yEr0lCwBiuDSjuRyE=",
  86. wantErr: false,
  87. },
  88. }
  89. for _, tt := range tests {
  90. t.Run(tt.name, func(t *testing.T) {
  91. got, err := encrypt(tt.args.in)
  92. //t.Logf("name:%s, got: %s,err: %s", tt.name, got, err)
  93. if (err != nil) != tt.wantErr {
  94. t.Errorf("encrypt() error = %v, wantErr %v", err, tt.wantErr)
  95. return
  96. }
  97. if got != tt.want {
  98. t.Errorf("encrypt() got = %v, want %v", got, tt.want)
  99. }
  100. })
  101. }
  102. }