@@ -71,12 +71,14 @@ TTestStartUpParameter = class(TTestCase)
7171 procedure CreateFilledTorrent (TrackerListOrder: TTrackerListOrder);
7272 procedure DownloadNewTrackonTrackers ;
7373 procedure Test_Paramater_Ux (TrackerListOrder: TTrackerListOrder);
74+ procedure Add_One_URL (TrackerListOrder: TTrackerListOrder;
75+ const tracker_URL: string; TestMustBeSuccess: boolean);
7476
7577 protected
7678 procedure SetUp ; override;
7779 procedure TearDown ; override;
7880 published
79- procedure Test_Tracker_UserInput_Without_Announce_Exit_Code ;
81+ procedure Test_Tracker_UserInput_All_Different_URL ;
8082 procedure Test_Create_Empty_Torrent_And_Then_Filled_It_All_Mode ;
8183
8284 procedure Test_Paramater_U0 ;
@@ -315,35 +317,74 @@ procedure TTestStartUpParameter.Test_Paramater_Ux(TrackerListOrder: TTrackerList
315317 Check(FConsoleLogData.TorrentFilesCount = TEST_TORRENT_FILES_COUNT);
316318end ;
317319
320+ procedure TTestStartUpParameter.Add_One_URL (TrackerListOrder: TTrackerListOrder;
321+ const tracker_URL: string; TestMustBeSuccess: boolean);
322+ begin
323+ // add one tracker to the 'add_trackers'
324+ FVerifyTrackerResult.TrackerAdded.Clear;
325+ FVerifyTrackerResult.TrackerAdded.Add(tracker_URL);
326+
327+ FVerifyTrackerResult.TrackerAdded.SaveToFile(FFullPathToEndUser +
328+ FILE_NAME_ADD_TRACKERS);
329+
330+ // Generate the command line parameter
331+ TestParameter(TrackerListOrder);
332+
333+ // call the tracker editor exe file
334+ CallExecutableFile;
335+
336+ // Check the logdata status
337+ Check(ReadConsoleLogFile, ' Log data is not present' );
338+
339+
340+ if TestMustBeSuccess then
341+ begin
342+ // check the exit code. Must be OK
343+ CheckEquals(0 , FExitCode, tracker_URL);
318344
319- procedure TTestStartUpParameter.Test_Tracker_UserInput_Without_Announce_Exit_Code ;
345+ // the result must be True
346+ CheckTrue(FConsoleLogData.StatusOK, tracker_URL);
347+ end
348+ else
349+ begin
350+ // check the exit code. Must be an error
351+ CheckNotEquals(0 , FExitCode, tracker_URL);
352+
353+ // the result must be false
354+ CheckFalse(FConsoleLogData.StatusOK, tracker_URL);
355+ end ;
356+
357+ end ;
358+
359+
360+ procedure TTestStartUpParameter.Test_Tracker_UserInput_All_Different_URL ;
320361var
321362 TrackerListOrder: TTrackerListOrder;
363+ TrackerURL: string;
364+ const
365+ ANNOUNCE = ' /announce' ;
322366begin
323367 // Test if all the tracker update mode is working
324368 for TrackerListOrder in TTrackerListOrder do
325369 begin
370+ TrackerURL := ' udp://test.com' ;
371+ Add_One_URL(TrackerListOrder, TrackerURL, False);
372+ Add_One_URL(TrackerListOrder, TrackerURL + ANNOUNCE, True);
326373
327- // add a wrong tracker without /announce
328- FVerifyTrackerResult.TrackerAdded.Clear;
329- FVerifyTrackerResult.TrackerAdded.Add(' udp://test.com' );
330-
331- FVerifyTrackerResult.TrackerAdded.SaveToFile(FFullPathToEndUser +
332- FILE_NAME_ADD_TRACKERS);
333-
334- // Generate the command line parameter
335- TestParameter(TrackerListOrder);
374+ TrackerURL := ' http://test.com' ;
375+ Add_One_URL(TrackerListOrder, TrackerURL, False);
376+ Add_One_URL(TrackerListOrder, TrackerURL + ANNOUNCE, True);
336377
337- // call the tracker editor exe file
338- CallExecutableFile;
378+ TrackerURL := ' https://test.com' ;
379+ Add_One_URL(TrackerListOrder, TrackerURL, False);
380+ Add_One_URL(TrackerListOrder, TrackerURL + ANNOUNCE, True);
339381
340- // check the exit code. Must be an error
341- CheckNotEquals(0 , FExitCode);
382+ // webtorrent does NOT have announce
383+ TrackerURL := ' ws://test.com' ;
384+ Add_One_URL(TrackerListOrder, TrackerURL, True);
342385
343- // Check the logdata status
344- Check(ReadConsoleLogFile, ' Log data is not present' );
345- // the result must be false
346- CheckFalse(FConsoleLogData.StatusOK);
386+ TrackerURL := ' wss://test.com' ;
387+ Add_One_URL(TrackerListOrder, TrackerURL, True);
347388 end ;
348389end ;
349390
0 commit comments