--- /dev/null
+using NUnit.Framework;\r
+using NUnit.Framework.TUnit;\r
+using System;\r
+using System.Collections.Generic;\r
+using System.IO;\r
+using System.Linq;\r
+using System.Text;\r
+using Tizen.Applications.RPCPort;\r
+\r
+namespace Tizen.Applications.Tests\r
+{\r
+ public class TestProxy : ProxyBase\r
+ {\r
+ public Port MainPort { get; set; }\r
+\r
+ public bool Connected { get; set; }\r
+\r
+ public bool Received { get; set; }\r
+\r
+ protected override void OnConnectedEvent(string endPoint, string portName, Port port)\r
+ {\r
+ Connected = true;\r
+ MainPort = port;\r
+ }\r
+\r
+ protected override void OnDisconnectedEvent(string endPoint, string portName)\r
+ {\r
+ }\r
+\r
+ protected override void OnReceivedEvent(string endPoint, string portName)\r
+ {\r
+ using (var p = new Parcel(CallbackPort))\r
+ {\r
+ Assert.IsInstanceOf<RPCPort.Parcel>(p);\r
+ Assert.IsNotNull(p, "Parcel shouldn't be null after init.");\r
+ }\r
+ Received = true;\r
+ }\r
+\r
+ protected override void OnRejectedEvent(string endPoint, string portName)\r
+ {\r
+ }\r
+\r
+ public void TestConnectSync()\r
+ {\r
+ ConnectSync("org.tizen.example.RpcPortStub", "Test");\r
+ }\r
+ }\r
+\r
+ [TestFixture]\r
+ [Description("Tizen.Application.RPCPort.Port Tests")]\r
+ public class PortTests\r
+ {\r
+ private TestProxy _proxy;\r
+ private string _fooFile = Application.Current.DirectoryInfo.Data + "foo.txt";\r
+ private string _barFile = Application.Current.DirectoryInfo.Data + "bar.txt";\r
+ private string _gooFile = Application.Current.DirectoryInfo.Data + "goo.txt";\r
+\r
+ private void CreateFile(string file)\r
+ {\r
+ try\r
+ {\r
+ if (File.Exists(file))\r
+ {\r
+ File.Delete(file);\r
+ }\r
+\r
+ using (FileStream fs = File.Create(file))\r
+ {\r
+ byte[] title = new UTF8Encoding(true).GetBytes("New File");\r
+ fs.Write(title, 0, title.Length);\r
+ }\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Exception: " + e.ToString());\r
+ }\r
+ }\r
+\r
+ [SetUp]\r
+ public void Init()\r
+ {\r
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Preconditions for each TEST");\r
+ _proxy = new TestProxy();\r
+ _proxy.TestConnectSync();\r
+\r
+ CreateFile(_fooFile);\r
+ CreateFile(_barFile);\r
+ CreateFile(_gooFile);\r
+ }\r
+\r
+ [TearDown]\r
+ public void Destroy()\r
+ {\r
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Postconditions for each TEST");\r
+ _proxy.Dispose();\r
+ _proxy = null;\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : Shares files with stub application")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ [Property("COVPARAM", "System.Collections.Generic.IEnumerable<string>")]\r
+ public void ShareFile_SHARE_FILE_LIST_AND_CHECK_WITHOUT_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+\r
+ /* TEST CODE */\r
+ try\r
+ {\r
+ var files = new List<string>();\r
+ files.Append<string>(_fooFile);\r
+ files.Append<string>(_barFile);\r
+\r
+ var port = _proxy.MainPort;\r
+ port.ShareFile(files);\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ Assert.Fail(e.ToString());\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : Shares files with stub application")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ [Property("COVPARAM", "string")]\r
+ public void ShareFile_SHARE_FILE_AND_CHECK_WITHOUT_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+\r
+ /* TEST CODE */\r
+ try\r
+ {\r
+ var port = _proxy.MainPort;\r
+ port.ShareFile(_gooFile);\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ Assert.Fail(e.ToString());\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Try to call Share() with invalid parameter")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ [Property("COVPARAM", "System.Collections.Generic.IEnumerable<string>")]\r
+ public void ShareFile_SHARE_FILE_LIST_AND_CHECK_INVALID_ID_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+\r
+ /* TEST CODE */\r
+ var port = _proxy.MainPort;\r
+ try\r
+ {\r
+ List<string> files = null;\r
+ port.ShareFile(files);\r
+ }\r
+ catch (InvalidIOException)\r
+ {\r
+ Assert.Pass("InvalidIOException occurs");\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Try to call Share() with invalid parameter")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ [Property("COVPARAM", "string")]\r
+ public void ShareFile_SHARE_FILE_AND_CHECK_INVALID_ID_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+\r
+ /* TEST CODE */\r
+ var port = _proxy.MainPort;\r
+ try\r
+ {\r
+ string file = null;\r
+ port.ShareFile(file);\r
+ }\r
+ catch (InvalidIOException)\r
+ {\r
+ Assert.Pass("InvalidIOException occurs");\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : Unshares files")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.Port.UnshareFile M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public void UnshareFile_CHECK_WITHOUT_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+\r
+ /* TEST CODE */\r
+ try\r
+ {\r
+ var port = _proxy.MainPort;\r
+ port.UnshareFile();\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ Assert.Fail(e.ToString());\r
+ }\r
+ }\r
+ }\r
+}\r
-using NUnit.Framework;
-using NUnit.Framework.TUnit;
-using System.Threading.Tasks;
-using Tizen.Applications.RPCPort;
-
-namespace Tizen.Applications.Tests
-{
-
- [TestFixture]
- [Description("Tizen.Application.RPCPort.ProxyBase Tests")]
- public class ProxyBaseTests
- {
- private Proxy _proxy;
-
- public class Proxy : ProxyBase
- {
- public bool Connected { get; set; }
- public bool Disconnected { get; set; }
- public bool Rejected { get; set; }
-
- public string Result { get; set; }
-
- private Port _port;
-
- public void SendHello()
- {
- using (Parcel p = new Parcel())
- {
- p.WriteString("hello");
- p.Send(_port);
- }
- }
-
- protected override void OnConnectedEvent(string endPoint, string portName, Port port)
- {
- Connected = true;
- _port = port;
- }
-
- protected override void OnDisconnectedEvent(string endPoint, string portName)
- {
- Disconnected = true;
- }
-
- protected override void OnReceivedEvent(string endPoint, string portName)
- {
- using (Parcel p = new Parcel(GetPort(Port.Type.Callback)))
- {
- Result = p.ReadString();
- }
- }
-
- protected override void OnRejectedEvent(string endPoint, string portName)
- {
- Rejected = true;
- }
-
- public void TestConnect()
- {
- Connect("org.tizen.example.RpcPortStub", "Test");
- }
-
- public void ConnectForInvalidIOException()
- {
- Connect("invalid.app", "Test");
- }
- public void ConnectForRejectedEvent()
- {
- Connect("org.tizen.example.RpcPortStub2", "Test");
- }
-
- public void TestGetPort()
- {
- Port p = GetPort(Port.Type.Main);
- Assert.NotNull(p);
-
- p = GetPort(Port.Type.Callback);
- Assert.NotNull(p);
- }
-
- public Port GetPort()
- {
- return Port;
- }
-
- public Port GetCallbackPort()
- {
- return CallbackPort;
- }
- }
-
- [SetUp]
- public void Init()
- {
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Preconditions for each TEST");
- _proxy = new Proxy();
- _proxy.TestConnect();
- }
-
- [TearDown]
- public void Destroy()
- {
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Postconditions for each TEST");
- _proxy?.Dispose();
- _proxy = null;
- }
-
- [Test]
- [Category("P1")]
- [Description("Test ProxyBase initialization")]
- [Property("SPEC", "Tizen.Applications.RPCPort.ProxyBase.ProxyBase C")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "CONSTR")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public void ProxyBase_INIT()
- {
- var p = new Proxy();
-
- Assert.IsInstanceOf<ProxyBase>(p);
- Assert.IsNotNull(p, "Proxy shouldn't be null");
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : Connect to stub application")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MR")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task Connect_RETURN()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
-
- /* TEST CODE */
- Assert.True(_proxy.Connected);
- }
-
- [Test]
- [Category("P2")]
- [Description("Test : Try to reconnect to app without disposing")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MEX")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task Connect_CHECK_INVALID_ID_EXCEPTION()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
-
- try
- {
- /* TEST CODE */
- _proxy.TestConnect();
- }
- catch (InvalidIDException)
- {
- Assert.Pass();
- }
-
- Assert.Fail();
- }
-
- [Test]
- [Category("P2")]
- [Description("Test : Connect to invalid stub application")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MEX")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public void Connect_CHECK_INVALID_IO_EXCEPTION()
- {
- /* PRECONDITION */
- _proxy?.Dispose();
- _proxy = new Proxy();
-
- try
- {
- /* TEST CODE */
- _proxy.ConnectForInvalidIOException();
- }
- catch (InvalidIOException)
- {
- Assert.Pass();
- }
-
- Assert.Fail();
- }
-
- [Test]
- [Category("P2")]
- [Description("Test : Connect to stub application with invalid permission")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MEX")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task Connect_CHECK_PERMISSION_DENIED_EXCEPTION()
- {
- /* PRECONDITION */
- _proxy?.Dispose();
- _proxy = null;
- AppControlReplyResult ret = AppControlReplyResult.Failed;
-
- var c = new AppControl()
- {
- ApplicationId = "org.tizen.example.RpcPortProxy2"
- };
-
- AppControl.SendLaunchRequest(c, (AppControl launchRequest, AppControl replyRequest, AppControlReplyResult result) =>
- {
- ret = result;
- });
- await Task.Delay(4000);
-
- /* TEST CODE */
- Assert.True(ret == AppControlReplyResult.Succeeded);
-
- /* POSTCONDITION */
- c = new AppControl()
- {
- ApplicationId = "org.tizen.example.RpcPortProxy2"
- };
-
- c.ExtraData.Add("Test", "finish");
- AppControl.SendLaunchRequest(c);
- await Task.Delay(2000);
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : OnConnected events")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnConnectedEvent E")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task OnConnectedEvent_CHECK_CB()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
-
- /* TEST CODE */
- Assert.True(_proxy.Connected);
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : OnDisconnected events")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnDisconnectedEvent E")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task OnDisconnectedEvent_CHECK_CB()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
- var c = new AppControl()
- {
- ApplicationId = "org.tizen.example.RpcPortStub"
- };
- c.ExtraData.Add("Test", "finish");
- AppControl.SendLaunchRequest(c);
- await Task.Delay(4000);
-
- /* TEST CODE */
- Assert.True(_proxy.Disconnected);
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : OnRejected events")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnRejectedEvent E")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task OnRejectedEvent_CHECK_CB()
- {
- /* PRECONDITION */
- _proxy?.Dispose();
- _proxy = new Proxy();
- _proxy.ConnectForRejectedEvent();
- await Task.Delay(4000);
-
- /* TEST CODE */
- Assert.True(_proxy.Rejected);
-
- /* POSTCONDITION */
- var c = new AppControl()
- {
- ApplicationId = "org.tizen.example.RpcPortStub2"
- };
- c.ExtraData.Add("Test", "finish");
- AppControl.SendLaunchRequest(c);
- await Task.Delay(2000);
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : OnReceived events")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnReceivedEvent E")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task OnReceivedEvent_CHECK_CB()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
- _proxy.SendHello();
- await Task.Delay(4000);
-
- /* TEST CODE */
- Assert.NotNull(_proxy.Result);
- Assert.True(_proxy.Result.Equals("hello"));
- }
-
- [Test]
- [Category("P2")]
- [Description("Test : GetPort from disconnected object")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.GetPort M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MEX")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task GetPort_CHECK_EXCEPTION()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
- _proxy?.Dispose();
-
- /* TEST CODE */
- try
- {
- _proxy.TestGetPort();
- }
- catch (InvalidIOException)
- {
- Assert.Pass();
- }
- finally
- {
- _proxy = null;
- }
-
- Assert.Fail();
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : GetPort from proxy object")]
- [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.GetPort M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MR")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task GetPort_RETURN()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
-
- /* TEST CODE */
- _proxy.TestGetPort();
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : Port Property")]
- [Property("SPEC", "Tizen.Applications.RPCPort.ProxyBase.Port A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRO")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task Port_PROPERTY_GET()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
-
- /* TEST CODE */
- Assert.NotNull(_proxy.GetPort());
- }
-
- [Test]
- [Category("P1")]
- [Description("Test : CallbackPort Property")]
- [Property("SPEC", "Tizen.Applications.RPCPort.ProxyBase.CallbackPort A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRO")]
- [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]
- public async Task CallbackPort_PROPERTY_GET()
- {
- /* PRECONDITION */
- await Task.Delay(4000);
- Assert.True(_proxy.Connected);
-
- /* TEST CODE */
- Assert.NotNull(_proxy.GetCallbackPort());
- }
- }
-}
+using NUnit.Framework;\r
+using NUnit.Framework.TUnit;\r
+using System.Threading.Tasks;\r
+using Tizen.Applications.RPCPort;\r
+\r
+namespace Tizen.Applications.Tests\r
+{\r
+\r
+ [TestFixture]\r
+ [Description("Tizen.Application.RPCPort.ProxyBase Tests")]\r
+ public class ProxyBaseTests\r
+ {\r
+ private Proxy _proxy;\r
+\r
+ public class Proxy : ProxyBase\r
+ {\r
+ public bool Connected { get; set; }\r
+ public bool Disconnected { get; set; }\r
+ public bool Rejected { get; set; }\r
+\r
+ public string Result { get; set; }\r
+\r
+ private Port _port;\r
+\r
+ public void SendHello()\r
+ {\r
+ using (Parcel p = new Parcel())\r
+ {\r
+ p.WriteString("hello");\r
+ p.Send(_port);\r
+ }\r
+ }\r
+\r
+ protected override void OnConnectedEvent(string endPoint, string portName, Port port)\r
+ {\r
+ Connected = true;\r
+ _port = port;\r
+ }\r
+\r
+ protected override void OnDisconnectedEvent(string endPoint, string portName)\r
+ {\r
+ Disconnected = true;\r
+ }\r
+\r
+ protected override void OnReceivedEvent(string endPoint, string portName)\r
+ {\r
+ using (Parcel p = new Parcel(GetPort(Port.Type.Callback)))\r
+ {\r
+ Result = p.ReadString();\r
+ }\r
+ }\r
+\r
+ protected override void OnRejectedEvent(string endPoint, string portName)\r
+ {\r
+ Rejected = true;\r
+ }\r
+\r
+ public void TestConnect()\r
+ {\r
+ Connect("org.tizen.example.RpcPortStub", "Test");\r
+ }\r
+\r
+ public void ConnectForInvalidIOException()\r
+ {\r
+ Connect("invalid.app", "Test");\r
+ }\r
+ public void ConnectForRejectedEvent()\r
+ {\r
+ Connect("org.tizen.example.RpcPortStub2", "Test");\r
+ }\r
+\r
+ public void TestConnectSync()\r
+ {\r
+ ConnectSync("org.tizen.example.RpcPortStub", "Test");\r
+ }\r
+\r
+ public void ConnectSyncForInvalidIOException()\r
+ {\r
+ ConnectSync("invalid.app", "Test");\r
+ }\r
+\r
+ public void TestGetPort()\r
+ {\r
+ Port p = GetPort(Port.Type.Main);\r
+ Assert.NotNull(p);\r
+\r
+ p = GetPort(Port.Type.Callback);\r
+ Assert.NotNull(p);\r
+ }\r
+\r
+ public Port GetPort()\r
+ {\r
+ return Port;\r
+ }\r
+\r
+ public Port GetCallbackPort()\r
+ {\r
+ return CallbackPort;\r
+ }\r
+ }\r
+\r
+ [SetUp]\r
+ public void Init()\r
+ {\r
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Preconditions for each TEST");\r
+ _proxy = new Proxy();\r
+ _proxy.TestConnect();\r
+ }\r
+\r
+ [TearDown]\r
+ public void Destroy()\r
+ {\r
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Postconditions for each TEST");\r
+ _proxy?.Dispose();\r
+ _proxy = null;\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test ProxyBase initialization")]\r
+ [Property("SPEC", "Tizen.Applications.RPCPort.ProxyBase.ProxyBase C")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "CONSTR")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public void ProxyBase_INIT()\r
+ {\r
+ var p = new Proxy();\r
+\r
+ Assert.IsInstanceOf<ProxyBase>(p);\r
+ Assert.IsNotNull(p, "Proxy shouldn't be null");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : Connect to stub application")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task Connect_RETURN()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+\r
+ /* TEST CODE */\r
+ Assert.True(_proxy.Connected);\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Try to reconnect to app without disposing")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task Connect_CHECK_INVALID_ID_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+\r
+ try\r
+ {\r
+ /* TEST CODE */\r
+ _proxy.TestConnect();\r
+ }\r
+ catch (InvalidIDException)\r
+ {\r
+ Assert.Pass();\r
+ }\r
+\r
+ Assert.Fail();\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Connect to invalid stub application")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public void Connect_CHECK_INVALID_IO_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ _proxy?.Dispose();\r
+ _proxy = new Proxy();\r
+\r
+ try\r
+ {\r
+ /* TEST CODE */\r
+ _proxy.ConnectForInvalidIOException();\r
+ }\r
+ catch (InvalidIOException)\r
+ {\r
+ Assert.Pass();\r
+ }\r
+\r
+ Assert.Fail();\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Connect to stub application with invalid permission")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.Connect M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task Connect_CHECK_PERMISSION_DENIED_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ _proxy?.Dispose();\r
+ _proxy = null;\r
+ AppControlReplyResult ret = AppControlReplyResult.Failed;\r
+\r
+ var c = new AppControl()\r
+ {\r
+ ApplicationId = "org.tizen.example.RpcPortProxy2"\r
+ };\r
+\r
+ AppControl.SendLaunchRequest(c, (AppControl launchRequest, AppControl replyRequest, AppControlReplyResult result) =>\r
+ {\r
+ ret = result;\r
+ });\r
+ await Task.Delay(4000);\r
+\r
+ /* TEST CODE */\r
+ Assert.True(ret == AppControlReplyResult.Succeeded);\r
+\r
+ /* POSTCONDITION */\r
+ c = new AppControl()\r
+ {\r
+ ApplicationId = "org.tizen.example.RpcPortProxy2"\r
+ };\r
+\r
+ c.ExtraData.Add("Test", "finish");\r
+ AppControl.SendLaunchRequest(c);\r
+ await Task.Delay(2000);\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : OnConnected events")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnConnectedEvent E")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "EVL")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task OnConnectedEvent_CHECK_CB()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+\r
+ /* TEST CODE */\r
+ Assert.True(_proxy.Connected);\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : OnDisconnected events")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnDisconnectedEvent E")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "EVL")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task OnDisconnectedEvent_CHECK_CB()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+ var c = new AppControl()\r
+ {\r
+ ApplicationId = "org.tizen.example.RpcPortStub"\r
+ };\r
+ c.ExtraData.Add("Test", "finish");\r
+ AppControl.SendLaunchRequest(c);\r
+ await Task.Delay(4000);\r
+\r
+ /* TEST CODE */\r
+ Assert.True(_proxy.Disconnected);\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : OnRejected events")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnRejectedEvent E")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "EVL")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task OnRejectedEvent_CHECK_CB()\r
+ {\r
+ /* PRECONDITION */\r
+ _proxy?.Dispose();\r
+ _proxy = new Proxy();\r
+ _proxy.ConnectForRejectedEvent();\r
+ await Task.Delay(4000);\r
+\r
+ /* TEST CODE */\r
+ Assert.True(_proxy.Rejected);\r
+\r
+ /* POSTCONDITION */\r
+ var c = new AppControl()\r
+ {\r
+ ApplicationId = "org.tizen.example.RpcPortStub2"\r
+ };\r
+ c.ExtraData.Add("Test", "finish");\r
+ AppControl.SendLaunchRequest(c);\r
+ await Task.Delay(2000);\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : OnReceived events")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.OnReceivedEvent E")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "EVL")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task OnReceivedEvent_CHECK_CB()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+ _proxy.SendHello();\r
+ await Task.Delay(4000);\r
+\r
+ /* TEST CODE */\r
+ Assert.NotNull(_proxy.Result);\r
+ Assert.True(_proxy.Result.Equals("hello"));\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : GetPort from disconnected object")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.GetPort M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task GetPort_CHECK_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+ _proxy?.Dispose();\r
+\r
+ /* TEST CODE */\r
+ try\r
+ {\r
+ _proxy.TestGetPort();\r
+ }\r
+ catch (InvalidIOException)\r
+ {\r
+ Assert.Pass();\r
+ }\r
+ finally\r
+ {\r
+ _proxy = null;\r
+ }\r
+\r
+ Assert.Fail();\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : GetPort from proxy object")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.GetPort M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task GetPort_RETURN()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+\r
+ /* TEST CODE */\r
+ _proxy.TestGetPort();\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : Port Property")]\r
+ [Property("SPEC", "Tizen.Applications.RPCPort.ProxyBase.Port A")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "PRO")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task Port_PROPERTY_GET()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+\r
+ /* TEST CODE */\r
+ Assert.NotNull(_proxy.GetPort());\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : CallbackPort Property")]\r
+ [Property("SPEC", "Tizen.Applications.RPCPort.ProxyBase.CallbackPort A")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "PRO")]\r
+ [Property("AUTHOR", "Junghoon Park, jh9216.park@samsung.com")]\r
+ public async Task CallbackPort_PROPERTY_GET()\r
+ {\r
+ /* PRECONDITION */\r
+ await Task.Delay(4000);\r
+ Assert.True(_proxy.Connected);\r
+\r
+ /* TEST CODE */\r
+ Assert.NotNull(_proxy.GetCallbackPort());\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test : Connect to stub application synchronously")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.ConnectSync M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public void ConnectSync_RETURN()\r
+ {\r
+ /* PRECONDITION */\r
+ _proxy?.Dispose();\r
+ _proxy = new Proxy();\r
+ _proxy.TestConnectSync();\r
+\r
+ /* TEST CODE */\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Try to reconnect to app synchronously without disposing")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.ConnectSync M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public void ConnectSync_CHECK_INVALID_ID_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ _proxy?.Dispose();\r
+ _proxy = new Proxy();\r
+ _proxy.TestConnectSync();\r
+ Assert.True(_proxy.Connected, "Proxy should be connected");\r
+\r
+ try\r
+ {\r
+ /* TEST CODE */\r
+ _proxy.TestConnectSync();\r
+ Assert.Fail("InvalidIDException should be occurred");\r
+ }\r
+ catch (InvalidIDException)\r
+ {\r
+ Assert.Pass("InvalidIDException occurs");\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test : Connect to invalid stub application synchronously")]\r
+ [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.ConnectSync M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public void ConnectSync_CHECK_INVALID_IO_EXCEPTION()\r
+ {\r
+ /* PRECONDITION */\r
+ _proxy?.Dispose();\r
+ _proxy = new Proxy();\r
+\r
+ try\r
+ {\r
+ /* TEST CODE */\r
+ _proxy.ConnectSyncForInvalidIOException();\r
+ Assert.Fail("InvalidIOException should be occurred");\r
+ }\r
+ catch (InvalidIOException)\r
+ {\r
+ Assert.Pass("InvalidIOException occurs");\r
+ }\r
+ }\r
+ }\r
+}\r