[RPCPort][ACR-457] Add new RPCPort test cases 66/262866/22
authorChanggyu Choi <changyu.choi@samsung.com>
Thu, 7 Oct 2021 02:05:14 +0000 (11:05 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Thu, 4 Nov 2021 02:04:11 +0000 (11:04 +0900)
Change-Id: Ia39fbf13b326698b946edbf2f1294232d697677d
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.Parcel.cs
tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ParcelHeader.cs [new file with mode: 0755]
tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.StubBase.cs
tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.TimeStamp.cs [new file with mode: 0755]

index e844920..e7693ef 100755 (executable)
@@ -762,5 +762,27 @@ namespace Tizen.Applications.Tests
                 }
             }
         }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks whether GetHeader from parcel is correct or not")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.Parcel.GetHeader M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void GetHeader_RETURN()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                /* TEST CODE */
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+            }
+        }
     }
 }
diff --git a/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ParcelHeader.cs b/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ParcelHeader.cs
new file mode 100755 (executable)
index 0000000..c4f675c
--- /dev/null
@@ -0,0 +1,220 @@
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using System;
+using System.Threading.Tasks;
+using Tizen.Applications.RPCPort;
+
+namespace Tizen.Applications.Tests
+{
+    [TestFixture]
+    [Description("Tizen.Application.RPCPort.ParcelHeader Tests")]
+    public class ParcelHeaderTests
+    {
+        [SetUp]
+        public void Init()
+        {
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to set tag to ParcelHeader")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.ParcelHeader.SetTag M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void SetTag_ParcelHeader_WITHOUT_EXCEPTION()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+
+                /* TEST CODE */
+                try
+                {
+                    string tag = "test_tag";
+                    header.SetTag(tag);
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Checks to set tag to ParcelHeader whether invalid parameter or not")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.ParcelHeader.SetTag M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MEX")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void SetTag_ParcelHeader_INVALID_IO_EXCEPTION()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+
+                /* TEST CODE */
+                try
+                {
+                    header.SetTag(null);
+                    Assert.Fail("Failed to test SetTag invalid io exception.");
+                }
+                catch (InvalidIOException)
+                {
+                    Assert.Pass("Pass SetTag invalid io exception test.");
+                }
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to get tag from ParcelHeader")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.ParcelHeader.GetTag M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void GetTag_ParcelHeader_WITHOUT_EXCEPTION()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+
+                string tag = "test_tag";
+                header.SetTag(tag);
+
+                /* TEST CODE */
+                try
+                {
+                    string out_tag = header.GetTag();
+                    Assert.AreEqual(tag, out_tag);
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to set sequence number to ParcelHeader")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.ParcelHeader.SetSequenceNumber M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void SetSequenceNumber_ParcelHeader_WITHOUT_EXCEPTION()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+
+                /* TEST CODE */
+                try
+                {
+                    int seq = 100;
+                    header.SetSequenceNumber(seq);
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to get sequence number from ParcelHeader")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.ParcelHeader.GetSequenceNumber M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void GetSequenceNumber_ParcelHeader_WITHOUT_EXCEPTION()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+
+                int seq = 100;
+                header.SetSequenceNumber(seq);
+
+                /* TEST CODE */
+                try
+                {
+                    int out_seq = header.GetSequenceNumber();
+                    Assert.AreEqual(seq, out_seq);
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to get TimeStamp from ParcelHeader")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.ParcelHeader.GetTimeStamp M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void GetTimeStamp_ParcelHeader_RETURN()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+                Assert.IsInstanceOf<RPCPort.Parcel>(p);
+                Assert.IsNotNull(p, "Parcel shouldn't be null after init.");
+
+                var header = p.GetHeader();
+                Assert.IsInstanceOf<RPCPort.ParcelHeader>(header);
+                Assert.IsNotNull(header);
+
+                /* TEST CODE */
+                try
+                {
+                    var time = header.GetTimeStamp();
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+    }
+}
index 547412e..6ffa5fe 100755 (executable)
@@ -65,6 +65,11 @@ namespace Tizen.Applications.Tests
                 Assert.NotNull(p);
             }
 
+            public Port GetProxyPort()
+            {
+                return GetPort(Port.Type.Callback, Instance);
+            }
+
             public void TestAddPrivilege()
             {
                 AddPrivilege("test.privilege");
@@ -118,15 +123,15 @@ namespace Tizen.Applications.Tests
         [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
         public void StubBase_CHECK_INVALID_IO_EXCEPTION()
         {
-            try\r
-            {\r
-                string portName = null;\r
-                var stub = new Stub(portName);\r
-                Assert.Fail("InvalidIOException should be occurred");\r
+            try
+            {
+                string portName = null;
+                var stub = new Stub(portName);
+                Assert.Fail("InvalidIOException should be occurred");
             }
             catch (InvalidIOException)
-            {\r
-                Assert.Pass("InvalidIOException occurs");\r
+            {
+                Assert.Pass("InvalidIOException occurs");
             }
         }
 
@@ -571,5 +576,42 @@ namespace Tizen.Applications.Tests
             Assert.NotNull(_stub.PortName);
             Assert.True(_stub.PortName.Equals("Test"));
         }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test : Checks to Disconnects port")]
+        [Property("SPEC", " Tizen.Applications.RPCPort.Port.Disconnect M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@saumsung.com")]
+        public async Task Disconnect_CHECK_WITHOUT_EXCEPTION()
+        {\r
+            _stub.TestListen();
+            var ctrl = new AppControl()
+            {
+                ApplicationId = "org.tizen.example.RpcPortProxy"
+            };
+            ctrl.ExtraData.Add("send", "hello");
+
+            AppControl.SendLaunchRequest(ctrl);
+            await Task.Delay(4000);
+            Assert.True(_stub.Connected);
+            Assert.True(_stub.Received);
+
+            /* TEST CODE */
+            var proxy_port = _stub.GetProxyPort();
+            proxy_port.Disconnect();
+            await Task.Delay(4000);
+            Assert.True(_stub.Disconnected);
+
+            /* POSTCONDITION */
+            var c = new AppControl()
+            {
+                ApplicationId = "org.tizen.example.RpcPortProxy"
+            };
+            c.ExtraData.Add("Test", "finish");
+            AppControl.SendLaunchRequest(c);
+            await Task.Delay(3000);
+        }
     }
 }
diff --git a/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.TimeStamp.cs b/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.TimeStamp.cs
new file mode 100755 (executable)
index 0000000..72be307
--- /dev/null
@@ -0,0 +1,77 @@
+using NUnit.Framework;
+using System;
+using Tizen.Applications.RPCPort;
+
+namespace Tizen.Applications.Tests
+{
+    [TestFixture]
+    [Description("Tizen.Application.RPCPort.TimeStamp Tests")]
+    public class TimeStampTests
+    {
+        [SetUp]
+        public void Init()
+        {
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to get Second of TimeStamp")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.TimeStamp.Second A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void Second_TimeStamp_GET()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+
+                var header = p.GetHeader();
+                TimeStamp time = header.GetTimeStamp();
+
+                /* TEST CODE */
+                try
+                {
+                    long sec = time.Second;
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Checks to get NanoSecond of TimeStamp")]
+        [Property("SPEC", "Tizen.Applications.RPCPort.TimeStamp.NanoSecond A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Changgyu Choi, changyu.choi@samsung.com")]
+        public void NanoSecond_TimeStamp_GET()
+        {
+            using (var p = new Parcel())
+            {
+                /* PRECONDITION */
+
+                var header = p.GetHeader();
+                TimeStamp time = header.GetTimeStamp();
+
+                /* TEST CODE */
+                try
+                {
+                    long nsec = time.NanoSecond;
+                }
+                catch (Exception e)
+                {
+                    Assert.Fail(e.ToString());
+                }
+            }
+        }
+    }
+}