同步提交

Change-Id: Ia8b140cefb8bc70d12a20685b91e8c0b93315db5
diff --git a/src/test/java/trackertest/TrackerTest.java b/src/test/java/trackertest/TrackerTest.java
index 104f017..8f45a4a 100644
--- a/src/test/java/trackertest/TrackerTest.java
+++ b/src/test/java/trackertest/TrackerTest.java
@@ -1,5 +1,4 @@
 package trackertest;
-
 import java.io.File;
 import java.util.Collection;
 import java.util.HashMap;
@@ -9,31 +8,26 @@
 import java.util.UUID;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
-
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.EntityTransaction;
 import javax.persistence.Persistence;
-
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.DynamicTest;
 import org.junit.jupiter.api.TestFactory;
-
 import entity.Seed;
 import entity.TransRecord;
 import entity.TransportId;
 import entity.config;
 import tracker.Tracker;
-
 public class TrackerTest {
     private static EntityManagerFactory emf;
     private static EntityManager em;
     private static List<String> userIds;
     private static Map<String, Long> originalUploads;
     private static Tracker tracker;
-
     @BeforeAll
     static void setup() throws Exception {
         // 强制加载 MySQL 驱动,否则无法建立连接
@@ -54,7 +48,6 @@
         userIds = em.createQuery(
             "select u.userid from UserPT u", String.class
         ).getResultList();
-
         // 保存初始 upload 值
         originalUploads = new HashMap<>();
         for (String uid : userIds) {
@@ -66,7 +59,6 @@
         }
         tracker = new Tracker(emf);
     }
-
     @AfterAll
     static void teardown() {
         // 清理:删除测试过程中保存的所有 torrent 文件
@@ -81,11 +73,9 @@
                 }
             }
         }
-
         if (em != null && em.isOpen()) em.close();
         if (emf != null && emf.isOpen()) emf.close();
     }
-
     @TestFactory
     Collection<DynamicTest> testAddUpLoad() {
         Random rnd = new Random();
@@ -99,7 +89,6 @@
                 Assertions.assertFalse(tracker.AddUpLoad(uid, delta), 
                     "AddUpLoad should return false on successful operation");
                 System.out.println("AddUpLoad assert passed for user=" + uid);
-
                 // Clear the persistence context to ensure fresh data is fetched
                 em.clear();
                 
@@ -108,7 +97,6 @@
                     "select u.upload from UserPT u where u.userid = :uid", Long.class
                 ).setParameter("uid", uid)
                  .getSingleResult();
-
                 // upload 值断言前打印
                 System.out.println("Running upload-value assert for user=" + uid);
                 Assertions.assertEquals(before + delta, after, 
@@ -123,7 +111,6 @@
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testReduceUpLoad() {
         Random rnd = new Random();
@@ -133,22 +120,18 @@
                 int max = (int)Math.min(before, 1000);
                 int delta = max > 0 ? rnd.nextInt(max) + 1 : 0;
                 if (delta == 0) return;  // 无可减量时跳过
-
                 // ReduceUpLoad 前打印
                 System.out.println("Running ReduceUpLoad assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.ReduceUpLoad(uid, delta));
                 System.out.println("ReduceUpLoad assert passed for user=" + uid);
-
                 Long after = em.createQuery(
                     "select u.upload from UserPT u where u.userid = :uid", Long.class
                 ).setParameter("uid", uid)
                  .getSingleResult();
-
                 // 减少后值断言前打印
                 System.out.println("Running post-reduce-value assert for user=" + uid);
                 Assertions.assertEquals(before - delta, after);
                 System.out.println("Post-reduce-value assert passed for user=" + uid);
-
                 // 回滚 AddUpLoad 前打印
                 System.out.println("Running rollback AddUpLoad assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.AddUpLoad(uid, delta));
@@ -156,7 +139,6 @@
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testAddDownload() {
         Random rnd = new Random();
@@ -167,26 +149,22 @@
                     "select u.download from UserPT u where u.userid = :uid", Long.class
                 ).setParameter("uid", uid).getSingleResult();
                 before = before != null ? before : 0L;
-
                 System.out.println("Running AddDownload assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.AddDownload(uid, delta),
                     "AddDownload should return false on successful operation");
                 em.clear();
-
                 Long after = em.createQuery(
                     "select u.download from UserPT u where u.userid = :uid", Long.class
                 ).setParameter("uid", uid).getSingleResult();
                 System.out.println("Running download-value assert for user=" + uid);
                 Assertions.assertEquals(before + delta, after,
                     "Download value should be increased by " + delta);
-
                 System.out.println("Running rollback ReduceDownload assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.ReduceDownload(uid, delta),
                     "Rollback ReduceDownload should return false");
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testReduceDownload() {
         Random rnd = new Random();
@@ -199,7 +177,6 @@
                 int max = before.intValue();
                 int delta = max > 0 ? rnd.nextInt(max) + 1 : 0;
                 if (delta == 0) return;
-
                 System.out.println("Running ReduceDownload assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.ReduceDownload(uid, delta));
                 Long after = em.createQuery(
@@ -207,13 +184,11 @@
                 ).setParameter("uid", uid).getSingleResult();
                 System.out.println("Running post-reduce-download-value assert for user=" + uid);
                 Assertions.assertEquals(before - delta, after);
-
                 System.out.println("Running rollback AddDownload assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.AddDownload(uid, delta));
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testAddMagic() {
         Random rnd = new Random();
@@ -224,23 +199,19 @@
                     "select u.magic from UserPT u where u.userid = :uid", Integer.class
                 ).setParameter("uid", uid).getSingleResult();
                 before = before != null ? before : 0;
-
                 System.out.println("Running AddMagic assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.AddMagic(uid, delta));
                 em.clear();
-
                 Integer after = em.createQuery(
                     "select u.magic from UserPT u where u.userid = :uid", Integer.class
                 ).setParameter("uid", uid).getSingleResult();
                 System.out.println("Running magic-value assert for user=" + uid);
                 Assertions.assertEquals(before + delta, after.intValue());
-
                 System.out.println("Running rollback ReduceMagic assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.ReduceMagic(uid, delta));
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testReduceMagic() {
         Random rnd = new Random();
@@ -253,7 +224,6 @@
                 int max = before.intValue();
                 int delta = max > 0 ? rnd.nextInt(max) + 1 : 0;
                 if (delta == 0) return;
-
                 System.out.println("Running ReduceMagic assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.ReduceMagic(uid, delta));
                 Integer after = em.createQuery(
@@ -261,13 +231,11 @@
                 ).setParameter("uid", uid).getSingleResult();
                 System.out.println("Running post-reduce-magic-value assert for user=" + uid);
                 Assertions.assertEquals(before - delta, after.intValue());
-
                 System.out.println("Running rollback AddMagic assert for user=" + uid + ", delta=" + delta);
                 Assertions.assertFalse(tracker.AddMagic(uid, delta));
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testAddRecord() {
         Random rnd = new Random();
@@ -286,7 +254,6 @@
                 String downloaderId = userIds.get(rnd.nextInt(userIds.size()));
                 String seedId = seedIds.get(rnd.nextInt(seedIds.size()));
                 String taskId = UUID.randomUUID().toString();
-
                 TransRecord rd = new TransRecord();
                 rd.taskid = taskId;
                 rd.uploaduserid = uploaderId;
@@ -296,16 +263,13 @@
                 rd.download = rnd.nextInt(10000);
                 rd.maxupload = rd.upload + rnd.nextInt(10000);
                 rd.maxdownload = rd.download + rnd.nextInt(10000);
-
                 // 调用待测方法
                 int ret = tracker.AddRecord(rd);
                 Assertions.assertTrue(ret > 0, "返回值应为新记录主键");
-
                 // 验证已插入
                 TransportId pk = new TransportId(taskId, uploaderId, downloaderId);
                 TransRecord fetched = em.find(TransRecord.class, pk);
                 Assertions.assertNotNull(fetched, "应查询到新增的 TransRecord");
-
                 // 清理:删除测试记录
                 EntityTransaction tx = em.getTransaction();
                 tx.begin();
@@ -314,7 +278,6 @@
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testSaveTorrent() {
         List<String> seedIds = em.createQuery(
@@ -327,12 +290,10 @@
                 // 调用 SaveTorrent
                 int ret = tracker.SaveTorrent(sid, temp);
                 Assertions.assertEquals(0, ret, "SaveTorrent 应返回 0");
-
                 // 验证文件已按约定存储
                 File stored = new File(config.TORRENT_STORAGE_DIR,
                                        sid + "_" + temp.getName());
                 Assertions.assertTrue(stored.exists(), "存储文件应存在");
-
                 // 验证数据库中 url 字段已更新
                 em.clear();
                 Seed seed = em.find(Seed.class, sid);
@@ -342,14 +303,12 @@
                     new File(seed.url).getAbsolutePath(),
                     "Seed.url 应更新为存储路径"
                 );
-
                 // 清理测试文件
                 stored.delete();
                 temp.delete();
             }))
             .collect(Collectors.toList());
     }
-
     @TestFactory
     Collection<DynamicTest> testGetTTorent() {
         // 拿到所有 seedid
@@ -362,12 +321,10 @@
                 File temp = File.createTempFile(sid + "_test", ".torrent");
                 int saveRet = tracker.SaveTorrent(sid, temp);
                 Assertions.assertEquals(0, saveRet, "SaveTorrent 应返回 0");
-
                 // 刷新上下文并取回更新后的 seed 实体
                 em.clear();
                 Seed seed = em.find(Seed.class, sid);
                 Assertions.assertNotNull(seed.url, "Seed.url 应已被更新");
-
                 // 调用 GetTTorent 并断言路径一致
                 String uid = userIds.get(0), ip = "127.0.0.1";
                 File ret = tracker.GetTTorent(sid, uid, ip);
@@ -378,7 +335,6 @@
                     ret.getAbsolutePath(),
                     "返回文件路径应与Seed.url一致"
                 );
-
                 // 清理:删掉本地文件,回滚 DB url 字段,删掉 temp
                 expected.delete();
                 EntityTransaction tx = em.getTransaction();
@@ -390,4 +346,4 @@
             }))
             .collect(Collectors.toList());
     }
-}
+}
\ No newline at end of file