From b3bcbe30a3559d7ea69276476b8e74c16aa85467 Mon Sep 17 00:00:00 2001 From: RyuJongJin <266630912+RyuJongJin@users.noreply.github.com> Date: Wed, 30 Sep 2026 13:31:15 +0900 Subject: [PATCH] =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8:=20=EC=8B=A4?= =?UTF-8?q?=EC=A0=9C=20GitHub=20Release=20=EB=A1=9C=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=ED=99=95=EC=9D=B8=20=C2=B7=20=EB=B0=9B?= =?UTF-8?q?=EA=B8=B0=20=C2=B7=20=EA=B2=80=EC=A6=9D=20(JJ=5FNET=5FTESTS=3D1?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- test/update_test.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/update_test.dart b/test/update_test.dart index 5910584..c7e33de 100644 --- a/test/update_test.dart +++ b/test/update_test.dart @@ -51,6 +51,19 @@ void main() { }); }); + test('실제 GitHub: v1.0.0 에서 최신 찾기 · 받기 · 검증 (JJ_NET_TESTS=1)', () async { + if (Platform.environment['JJ_NET_TESTS'] != '1') return markTestSkipped('인터넷 테스트 꺼짐'); + final tmp = Directory.systemTemp.createTempSync('jj_real_upd_'); + addTearDown(() => tmp.deleteSync(recursive: true)); + final up = GitHubUpdater(appDir: tmp.path, versionOverride: '1.0.0'); + final r = (await up.latest())!; + expect(r.isNewerThan('1.0.0'), isTrue); + expect(r.sha256, hasLength(64)); + final dir = await up.download(r, (_) {}); + expect(File(p.join(dir, 'jj_mkvmaker.exe')).existsSync(), isTrue); + expect(File(p.join(dir, 'ffmpeg', 'ffmpeg.exe')).existsSync(), isTrue); + }, timeout: const Timeout(Duration(minutes: 10))); + group('GitHubUpdater (가짜 GitHub 서버 · 실제 스크립트)', () { late HttpServer server; late Directory tmp;