[MediaPlayer][Non-ACR] Check network status when streaming TCs run 30/225930/5
authorruble <just.nam@samsung.com>
Mon, 24 Feb 2020 09:03:37 +0000 (18:03 +0900)
committerruble <just.nam@samsung.com>
Thu, 5 Mar 2020 06:36:26 +0000 (15:36 +0900)
Change-Id: Iebac333f680a7480f1d2e8049ed9cd8274750807

tct-suite-vs/Tizen.MediaPlayer.Tests/testcase/TSAdaptiveVariants.cs
tct-suite-vs/Tizen.MediaPlayer.Tests/testcase/TSDownloadProgress.cs
tct-suite-vs/Tizen.MediaPlayer.Tests/testcase/TSPlayer.cs
tct-suite-vs/Tizen.MediaPlayer.Tests/testcase/support/NetworkConnection.cs [new file with mode: 0644]
tct-suite-vs/Tizen.MediaPlayer.Tests/tizen-manifest.xml

index 907f509a41dc180b923b5180a650e6bf721c58cf..2101e76217e1d8ec33de3b01c30fb524d463acb1 100755 (executable)
@@ -122,11 +122,18 @@ namespace Tizen.Multimedia.Tests
         [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")]
         public async Task AvailableAdaptiveVariants_PROPERTY_READ_ONLY()
         {
-            var player = await GetPreparedPlayer(_adaptiveStreamingSource, DefaultDisplay);
-            IList result = player.AdaptiveVariants.AvailableAdaptiveVariants.ToList();
-            Assert.IsNotNull(result, "The list of adaptive variants should not be null.");
-            Assert.IsNotEmpty(result, "The list of adaptive variants should not be empty.");
-            Assert.Greater(result.Count, 0, "The list of adaptive variants should be greater than 0");
+            try
+            {
+                var player = await GetPreparedPlayer(_adaptiveStreamingSource, DefaultDisplay);
+                IList result = player.AdaptiveVariants.AvailableAdaptiveVariants.ToList();
+                Assert.IsNotNull(result, "The list of adaptive variants should not be null.");
+                Assert.IsNotEmpty(result, "The list of adaptive variants should not be empty.");
+                Assert.Greater(result.Count, 0, "The list of adaptive variants should be greater than 0");
+            }
+            catch (Exception)
+            {
+                NetworkConncetion.Check();
+            }
         }
 
         [Test]
index d668cf1c0170de0922ea342a603993f558fab910..de712e6cf579fe3d4516a77b931f1c076ccf4f7a 100755 (executable)
@@ -40,9 +40,16 @@ namespace Tizen.Multimedia.Tests
         [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")]
         public async Task Start_CHECK_INIT()
         {
-            var player = await GetPlayingPlayer(_streamingSource);
+            try
+            {
+                var player = await GetPlayingPlayer(_streamingSource);
 
-            Assert.That(player.GetDownloadProgress().Start, Is.Zero);
+                Assert.That(player.GetDownloadProgress().Start, Is.Zero);
+            }
+            catch (Exception)
+            {
+                NetworkConncetion.Check();
+            }
         }
 
         [Test]
@@ -54,12 +61,19 @@ namespace Tizen.Multimedia.Tests
         [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")]
         public async Task Start_CHECK()
         {
-            var player = await GetPlayingPlayer(_streamingSource);
+            try
+            {
+                var player = await GetPlayingPlayer(_streamingSource);
 
-            await player.SetPlayPositionAsync(player.StreamInfo.GetDuration() / 10, true);
-            await Task.Delay(100);
+                await player.SetPlayPositionAsync(player.StreamInfo.GetDuration() / 10, true);
+                await Task.Delay(100);
 
-            Assert.That(Math.Abs(player.GetDownloadProgress().Start - 10), Is.LessThanOrEqualTo(2));
+                Assert.That(Math.Abs(player.GetDownloadProgress().Start - 10), Is.LessThanOrEqualTo(2));
+            }
+            catch (Exception)
+            {
+                NetworkConncetion.Check();
+            }
         }
 
         [Test]
@@ -71,21 +85,28 @@ namespace Tizen.Multimedia.Tests
         [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")]
         public async Task Current_CHECK()
         {
-            var player = await GetPlayingPlayer(_streamingSource);
-
-            bool currentNotZero = false;
-            for (int tryConut = 0; tryConut < 10; ++tryConut)
+            try
             {
-                await Task.Delay(200);
+                var player = await GetPlayingPlayer(_streamingSource);
 
-                if (player.GetDownloadProgress().Current > 0)
+                bool currentNotZero = false;
+                for (int tryConut = 0; tryConut < 10; ++tryConut)
                 {
-                    currentNotZero = true;
-                    break;
+                    await Task.Delay(200);
+
+                    if (player.GetDownloadProgress().Current > 0)
+                    {
+                        currentNotZero = true;
+                        break;
+                    }
                 }
-            }
 
-            Assert.That(currentNotZero, Is.True);
+                Assert.That(currentNotZero, Is.True);
+            }
+            catch (Exception)
+            {
+                NetworkConncetion.Check();
+            }
         }
     }
 }
index da866937da70556d4e781359e45d16b954121bd2..79d4dee28d3f7b8708378b03c68c1e00b54d07b0 100755 (executable)
@@ -1056,13 +1056,20 @@ namespace Tizen.Multimedia.Tests
 
             using (var eventWaiter = EventAwaiter<BufferingProgressChangedEventArgs>.Create())
             {
-                player.BufferingProgressChanged += eventWaiter;
+                try
+                {
+                    player.BufferingProgressChanged += eventWaiter;
 
-                player.SetSource(_streamingSource);
+                    player.SetSource(_streamingSource);
 
-                player.PrepareAsync();
+                    player.PrepareAsync();
 
-                Assert.True(await eventWaiter.GetResultStateAsync(timeout: 40000), "Event wasn't triggered");
+                    Assert.True(await eventWaiter.GetResultStateAsync(timeout: 40000), "Event wasn't triggered");
+                }
+                catch(Exception)
+                {
+                    NetworkConncetion.Check();
+                }
             }
         }
 
@@ -1784,14 +1791,21 @@ namespace Tizen.Multimedia.Tests
         [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")]
         public async Task GetDownloadProgress_CHECK()
         {
-            var player = await GetPreparedPlayer(_streamingSource);
-            Assert.That(() => player.GetDownloadProgress(), Throws.Nothing);
+            try
+            {
+                var player = await GetPreparedPlayer(_streamingSource);
+                Assert.That(() => player.GetDownloadProgress(), Throws.Nothing);
 
-            player.Start();
-            Assert.That(() => player.GetDownloadProgress(), Throws.Nothing);
+                player.Start();
+                Assert.That(() => player.GetDownloadProgress(), Throws.Nothing);
 
-            player.Stop();
-            Assert.That(() => player.GetDownloadProgress(), Throws.Nothing);
+                player.Stop();
+                Assert.That(() => player.GetDownloadProgress(), Throws.Nothing);
+            }
+            catch (Exception)
+            {
+                NetworkConncetion.Check();
+            }
         }
 
         [Test]
diff --git a/tct-suite-vs/Tizen.MediaPlayer.Tests/testcase/support/NetworkConnection.cs b/tct-suite-vs/Tizen.MediaPlayer.Tests/testcase/support/NetworkConnection.cs
new file mode 100644 (file)
index 0000000..af8e9a2
--- /dev/null
@@ -0,0 +1,53 @@
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using Tizen.System;
+using System;
+using Tizen.Network.Connection;
+using Tizen.Network.WiFi;
+
+namespace Tizen.Multimedia
+{
+    internal static class NetworkConncetion
+    {
+        private static bool IsSupportable
+        {
+            get
+            {
+                Information.TryGetValue("http://tizen.org/feature/network.wifi", out bool isWiFiSupported);
+                if (isWiFiSupported)
+                {
+                    WiFiAP WifiAp = WiFiManager.GetConnectedAP();
+                    if (WifiAp != null)
+                    {
+                        LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "WifiAp : " + WifiAp.NetworkInformation.Essid.ToString());
+                        WifiAp.Dispose();
+                    }
+                }
+
+                Information.TryGetValue("http://tizen.org/feature/network.telephony", out bool isTelephonySupported);
+                Information.TryGetValue("http://tizen.org/feature/network.ethernet", out bool isEthernetSupported);
+
+                return isWiFiSupported | isTelephonySupported | isEthernetSupported;
+            }
+        }
+
+        public static void Check()
+        {
+            if (!IsSupportable)
+            {
+                Assert.Fail("No Wifi connection. Network support : " + IsSupportable);
+            }
+
+            try
+            {
+                var data = ConnectionManager.GetStatistics(ConnectionType.WiFi, StatisticsType.TotalReceivedData);
+                LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "LastReceivedData : " + data);
+                Assert.IsTrue(data > 0, "LastReceivedData should not be 0");
+            }
+            catch (Exception ex)
+            {
+                Assert.Fail("Failed to get connection statistics. : " + ex.ToString());
+            }
+        }
+    }
+}
index 573922c17838d9a62b252d8aabaf03b92e444db1..42e43ec2f932ea8afe736da0a453df2e2fc54175 100755 (executable)
@@ -13,5 +13,6 @@
     <privileges>\r
       <privilege>http://tizen.org/privilege/internet</privilege>\r
       <privilege>http://tizen.org/privilege/appmanager.launch</privilege>\r
+      <privilege>http://tizen.org/privilege/network.get</privilege>\r
     </privileges>\r
 </manifest>\r