using skyscraper5.Mpeg2; using skyscraper5.Skyscraper.Scraper; using skyscraper5.Skyscraper.Scraper.Storage.InMemory; using skyscraper8.Skyscraper.Net; using skyscraper8.Skyscraper.Scraper.Storage; using skyscraper8.Tests.NUnit; namespace skyscraper8.Tests.NUnit.Tests; [TestFixture] public class RecordedSamplesTests : SkyscrapersTestingFramework { [Test] public void RussianT2Mi() { FileStream streamSample = GetStreamSample("express_3928L_t2mi.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //42931 uncovered Assert.True(result.DataStorage.TestForCaSystem(1, 1, 1453)); } [Test] public void Simmin() { FileStream streamSample = GetStreamSample("thor_11049v_simmin-radiomidun.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //36611 uncovered Assert.True(result.DataStorage.TestForTerminalBurstTimePlan2(1326, 1, 0)); Assert.True(result.DataStorage.TestForBroadcastConfiguration(1326, 2)); } [Test] public void GseDab() { FileStream streamSample = GetStreamSample("thor_10717v_gse-dab.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); Assert.IsTrue(result.IpTrafficHandler.TestForUdpTraffic("192.168.1.4", "239.199.2.4", 1234, 1234)); //36446 uncovered } [Test] public void EarlyBrazilianNip() { FileStream streamSample = GetStreamSample("brazilian-dvb-nip-000000.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //35222 Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_9/HLS_OUT/NIP_9-mp4a_140800=20000-begin=3403218160093331-dur=40106667-seq=85080456.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://usd.xxxoperatorxxx.com/fragments/envelope.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_4/HLS_OUT/NIP_4-mp4a_140800=20000-begin=3403218170199998-dur=39893334-seq=85080456.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("envelope.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid274499940_cid274499942.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_6/HLS_OUT/NIP_6-hvc1_1761664=10000-p=335204011000000-init.mp4")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid274499949_cid274499951.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_9/HLS_OUT/NIP_9-hvc1_1761664=10000-p=330114634000000-init.mp4")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid274499913_cid274499915.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_1/HLS_OUT/NIP_1-hvc1_1761664=10000-p=330114493000000-init.mp4")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid274499968_cid274499970.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_4/HLS_OUT/NIP_4-hvc1_1761664=10000-p=330030655000000-init.mp4")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid274499922_cid274499924.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_2/HLS_OUT/NIP_2-hvc1_1761664=10000-p=330114509000000-init.mp4")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid244303386_cid244303388.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_0/HLS_OUT/NIP_0-hvc1_1761664=10000-p=330114463000000-init.mp4")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid274499958_cid274499960.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_6/HLS_OUT/NIP_6-mp4a_140800=20000-begin=3403218200093333-dur=40106667-seq=85080457.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:nativeip:NetworkInformationFile")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_4/HLS_OUT/NIP_4-mp4a_140800=20000-begin=3403218210093332-dur=40106667-seq=85080457.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.22:80/1/images.tar")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_2/HLS_OUT/NIP_2-mp4a_140800=20000-begin=3403218240093332-dur=40106667-seq=85080458.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.22:80/pages.tar")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://10.10.10.24:8888/live/diskb/NIP_0/HLS_OUT/NIP_0-hvc1_1761664=10000-begin=3403218250000000-dur=40000000-seq=85080458.m4s")); } [Test] public void GseNip() { FileStream streamSample = GetStreamSample("astra1_12441v_gse-nip.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:cs:MulticastTransportObjectTypeCS:2021:gateway-configuration")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sgc/tva_schedule_20251123100000_PT3H15M_CoreSet.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_1000.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:cs:NativeIPMulticastTransportObjectTypeCS:2023:bootstrap")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/MorningNews.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_4500.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/PoliticalInsight.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/ScienceFictionShowcase.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s1/5G-EMERGE/Live/hls/RaiStoria/RaiStoria_v_1000_6287140.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/SportsHighlights.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_1000_6287143.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/TravelAdventures.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod2/5G-Emerge_v_1000_00006.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_2000_6287143.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/ComedyHour.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_4500_6287143.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod2/5G-Emerge_v_1000_00005.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/FitnessHour.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s0/5G-EMERGE/Live/hls/crits_linear/crits_linear_v_1000_556702.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:nativeip:NetworkInformationFile")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/cg/manifest.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:nativeip:ServiceGuide")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod1/5G-MAG_v_4500_00004.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/KidsFunTime.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod2/5G-Emerge_v_1000_00009.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s1/5G-EMERGE/Live/hls/RaiStoria/RaiStoria_v_1000_6287141.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/RomanticEvenings.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_1000_6287144.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1007.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod2/5G-Emerge_v_1000_00013.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1009.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/TechTalk.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s1/5G-EMERGE/Live/hls/RaiStoria/RaiStoria_v_4500_6287141.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1005.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_2000_6287144.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/DocumentaryWorld.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod2/5G-Emerge_v_1000_00017.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/Astronomy-2e.pdf")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/MysteryTheater.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod2/5G-Emerge_v_1000_00021.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s0/5G-EMERGE/Live/hls/crits_linear/crits_linear_v_1000_556703.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1006.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/sge/WildlifeWonders.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s1/5G-EMERGE/Live/hls/RaiStoria/RaiStoria_v_1000_6287142.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/vod1/5G-MAG_v_4500_00011.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s0/5G-EMERGE/Live/hls/crits_linear/crits_linear_v_2000_556703.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1000.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s1/5G-EMERGE/Live/hls/RaiStoria/RaiStoria_v_4500_6287142.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1011.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/s2/5G-EMERGE/Live/hls/RaiScuola/RaiScuola_v_4500_6287145.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/inverto.tv/data/IMG_1012.jpeg")); //34545 } [Test] public void GseNip2() { FileStream streamSample = GetStreamSample("astra1_11141h_gse_nip.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //34462 Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:cs:MulticastTransportObjectTypeCS:2021:gateway-configuration")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/xml.aitx")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/C1/fr-sub/1763893122.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/main.js")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/B2/playlist-audio.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/live/channel1/manifest.mpd")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/C1/audio/1763893122.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/img/dvbnip.png")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/C1/playlist-audio2.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/style.css")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/dvbi/service_list_ses_private.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/button.js")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:cs:NativeIPMulticastTransportObjectTypeCS:2023:bootstrap")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/B1/audio/881946560.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/index.html")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/vod_small/covers/A%20Better%20Super%20Bowl.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/dvbi/service_list_full.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/C1/audio2/1763893123.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/dvbi/cg/CoreSetRelatedMaterials/programm-api.ard.de/images/MjAyNS0xMC0wMQ==/68ddba3f8ace97dd375c961b_1759361599632.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:nativeip:dvb-i-slep")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/vod_small/covers/HDplus_ExtraScreen.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/hbbtv/img/WTqW6FTJ2.jpeg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/B2/audio/881946561.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/live/channel1/1-2025940.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/C1/audio/1763893124.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/materials/b1.png")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/vod_small/covers/2017_SES_4K_trailer_IBC.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/dvbi/service_list_tp1045.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/B1/audio/881946561.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/dvbi/cg/manifest.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/vod_small/covers/SES_BS.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/materials/5G-EMERGE.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/vod_small/covers/AIT_VF-10-08-15_French.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/C1/audio/1763893125.m4s")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/dvbi/sg/CoreSetRelatedMaterial/programm-api.ard.de/images/MjAyNS0wOS0xMA==/68c20b38bc0414230a56325d_1757547321028.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/materials/b2.png")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/private/vod_small/covers/Welcome%20to%20Luxembourg.jpg")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/ses.com/livesim2/B2/audio/881946562.m4s")); } [Test] public void TsNipIncludingLegacyChannel() { FileStream streamSample = GetStreamSample("hotbird_12380v_nip.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //33518 Assert.IsTrue(result.DataStorage.TestForCaSystem(318, 8400, 7104)); Assert.IsTrue(result.IpTrafficHandler.TestForUdpTraffic("0.0.0.0", "224.1.1.103", 0, 16301)); Assert.IsTrue(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/rai.it/s0/5G-EMERGE/Live/dash/crits_linear/crits_linear_v_4500_001114520.mp4")); } [Test] public void TsNip() { FileStream streamSample = GetStreamSample("hotbird_12226v_nip.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //33518 Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_tamazight_tccybxt/playlist.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/corp/73_arryadia_k2tgcj0_480p/playlist.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/bpk-tv/orp01-ten999-ch009/hls-sb/index.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_arrabia_hthcj4p/playlist.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/bpk-tv/orp01-ten999-ch008/hls-sb/index.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_almaghribia_83tz85q/corp/73_almaghribia_83tz85q_240p/l_43709_87687000_23699.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/corp/73_aloula_w1dqfwm/playlist.m3u8")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_tamazight_tccybxt/corp/73_tamazight_tccybxt_480p/l_22569_7413000_17779.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:cs:NativeIPMulticastTransportObjectTypeCS:2023:bootstrap")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_almaghribia_83tz85q/corp/73_almaghribia_83tz85q_240p/l_43709_87690000_23700.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("urn:dvb:metadata:cs:MulticastTransportObjectTypeCS:2021:gateway-configuration")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/bpk-tv/orp01-ten999-ch007/hls-sb/keyframes/orp01-ten999-ch007-video=2580000-440974019.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_almaghribia_83tz85q/corp/73_almaghribia_83tz85q_360p/l_43705_87690000_23700.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/bpk-tv/orp01-ten999-ch009/hls-sb/keyframes/orp01-ten999-ch009-video=2600000-440974020.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_arrabia_hthcj4p/corp/73_arrabia_hthcj4p_480p/l_43737_7398000_23696.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/corp/73_aloula_w1dqfwm/l_43669_7389881_23706.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_almaghribia_83tz85q/corp/73_almaghribia_83tz85q_480p/l_43701_87690000_23700.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/corp/73_arryadia_k2tgcj0_480p/l_22601_52377000_17770.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_almaghribia_83tz85q/corp/73_almaghribia_83tz85q_240p/l_43709_87693000_23701.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("envelope.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://www.enensys.com/usd_bid8331_cid8335.xml")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/ts_corp/73_almaghribia_83tz85q/corp/73_almaghribia_83tz85q_480p/l_43701_87693000_23701.ts")); Assert.True(result.ObjectStorage.DvbNipTestForFile("http://dvb.gw/eutelsat/bpk-tv/orp01-ten999-ch009/hls-sb/orp01-ten999-ch009-audio_133600_eng=131600-video=2600000-440974020.ts")); } [Test] public void GseRcs2() { FileStream streamSample = GetStreamSample("telstar12v-bfbs-000000.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); //32559 Assert.True(result.DataStorage.TestForTerminalBurstTimePlan2(65281, 5, 0)); Assert.True(result.DataStorage.TestForBroadcastConfiguration(65281, 2)); Assert.True(result.IpTrafficHandler.TestForUdpTraffic("192.168.19.50", "238.1.1.1", 1024, 4000)); } [Test] public void BadrDvbSis() { FileStream streamSample = GetStreamSample("badr_12563v_dvb-sis.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); Assert.True(result.ObjectStorage.TestForSisDsaci(136, 26, 1, 13)); } [Test] public void Eutelsat5DvbSis() { FileStream streamSample = GetStreamSample("eutelsat5_12522v_dvb-sis.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); Assert.True(result.ObjectStorage.TestForSisDsaci(1375, 20700, 9, 17)); } [Test] public void Kira7Patchday() { FileStream streamSample = GetStreamSample("kira7.ts"); SkyscrapersTestingHarness result = ProcessSample(streamSample); streamSample.Close(); Assert.IsTrue(result.IpTrafficHandler.TestForUdpTraffic("192.168.1.48", "224.0.0.252", 62983, 5355)); Assert.IsTrue(result.IpTrafficHandler.TestForLlcTraffic("ff:ff:ff:ff:ff:ff", 8, 0, 0)); } private SkyscrapersTestingHarness ProcessSample(Stream sample) { TsContext ts = new TsContext(); InMemoryScraperStorageFactory inMemoryStorageFactory = new InMemoryScraperStorageFactory(); DataStorage dataStorage = inMemoryStorageFactory.CreateDataStorage(); ObjectStorage blackholeObjectStorage = new BlackholeObjectStorage(); BlackholeIpTrafficHandler ipTrafficHandler = new BlackholeIpTrafficHandler(); SkyscraperContext context = new SkyscraperContext(ts, dataStorage, blackholeObjectStorage); context.InitalizeFilterChain(); context.OverrideIpTrafficHandler(ipTrafficHandler); context.IngestFromStream(sample); SkyscrapersTestingHarness harness = new SkyscrapersTestingHarness(); harness.DataStorage = dataStorage; harness.ObjectStorage = blackholeObjectStorage; harness.Events = GetCapturedLogEvents(); harness.IpTrafficHandler = ipTrafficHandler; return harness; } }