node_mode_test.dart 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import 'package:naiyouwl/app/data/model/NodeMode.dart';
  2. import 'package:test/test.dart';
  3. import 'package:dart_json_mapper/dart_json_mapper.dart';
  4. import 'package:naiyouwl/main.dart';
  5. void main() {
  6. group('NodeMode tests', () {
  7. test('Convert JSON to YAML', () {
  8. var jsonData = '''[
  9. {
  10. "id": 908,
  11. "name": "香港原生61D",
  12. "host": "soca01.top",
  13. "group": "用户中心",
  14. "type": "trojan",
  15. "port": 443,
  16. "passwd": "VMhGp5wEIyCDf90T",
  17. "sni": "",
  18. "udp": 1,
  19. "ip": null,
  20. "online_users": 174,
  21. "country_code": "hk"
  22. },
  23. {
  24. "id": 871,
  25. "name": "马来西亚02",
  26. "host": "ncyidong.ip8000.top",
  27. "group": "用户中心",
  28. "type": "v2ray",
  29. "port": 29694,
  30. "uuid": "459b4a80-bd61-4ecd-a26b-e9c1809d9e45",
  31. "method": "auto",
  32. "v2_alter_id": 0,
  33. "v2_net": "tcp",
  34. "v2_type": "none",
  35. "v2_host": "",
  36. "v2_path": "/xej8pandp2augugy",
  37. "v2_tls": "",
  38. "v2_sni": "king-new04.xyz",
  39. "udp": 1,
  40. "vless": 1,
  41. "vless_pulkey": "qhTzYYIgBzDLNYR79oxftqdo1kzL-1_hGJKfqrOliCY",
  42. "ip": "38.60.194.62",
  43. "online_users": 10,
  44. "country_code": "fr"
  45. },
  46. {
  47. "id": 714,
  48. "name": "阿根廷02",
  49. "host": "ncyidong.ip8000.top",
  50. "group": "用户中心",
  51. "type": "shadowsocks",
  52. "method": "aes-128-gcm",
  53. "udp": 1,
  54. "port": 15464,
  55. "passwd": "VMhGp5wEIyCDf90T",
  56. "ip": "38.54.45.152",
  57. "online_users": 18,
  58. "country_code": "au"
  59. }
  60. ...
  61. ]'''; // 这里简化为省略号。请用你提供的完整JSON替换。
  62. // var nodes = JsonMapper.deserialize<List<NodeMode>>(jsonData)!;
  63. // var proxies = nodes.map(nodeToYaml).toList();
  64. //
  65. // // 这里我们只检查转换后的YAML是否为空,你可以根据需要添加更多具体的测试条件。
  66. // expect(proxies, isNotEmpty);
  67. });
  68. });
  69. }