From: Hwankyu Jhun Date: Thu, 13 Aug 2020 02:33:41 +0000 (+0900) Subject: [RPCPort][TCSACR-362][Add new testcases] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F29%2F240929%2F7;p=test%2Ftct%2Fcsharp%2Fapi.git [RPCPort][TCSACR-362][Add new testcases] Adds: - ConnectSync_RETURN() - ConnectSync_CHECK_INVALID_ID_EXCEPTION() - ConnectSync_CHECK_INVALID_IO_EXCEPTION() - ShareFile_SHARE_FILE_LIST_AND_CHECK_WITHOUT_EXCEPTION() - ShareFile_SHARE_FILE_AND_CHECK_WITHOUT_EXCEPTION() - ShareFile_SHARE_FILE_LIST_AND_CHECK_INVALID_IO_EXCEPTION() - ShareFile_SHARE_FILE_AND_CHECK_INVALID_IO_EXCEPTION() - UnshareFile_CHECK_WITHOUT_EXCEPTION() Change-Id: I37c3f22b7191379a2dd3f81b743555388212e21c Signed-off-by: Hwankyu Jhun --- diff --git a/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.Port.cs b/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.Port.cs new file mode 100755 index 0000000..f820785 --- /dev/null +++ b/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.Port.cs @@ -0,0 +1,230 @@ +using NUnit.Framework; +using NUnit.Framework.TUnit; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using Tizen.Applications.RPCPort; + +namespace Tizen.Applications.Tests +{ + public class TestProxy : ProxyBase + { + public Port MainPort { get; set; } + + public bool Connected { get; set; } + + public bool Received { get; set; } + + protected override void OnConnectedEvent(string endPoint, string portName, Port port) + { + Connected = true; + MainPort = port; + } + + protected override void OnDisconnectedEvent(string endPoint, string portName) + { + } + + protected override void OnReceivedEvent(string endPoint, string portName) + { + using (var p = new Parcel(CallbackPort)) + { + Assert.IsInstanceOf(p); + Assert.IsNotNull(p, "Parcel shouldn't be null after init."); + } + Received = true; + } + + protected override void OnRejectedEvent(string endPoint, string portName) + { + } + + public void TestConnectSync() + { + ConnectSync("org.tizen.example.RpcPortStub", "Test"); + } + } + + [TestFixture] + [Description("Tizen.Application.RPCPort.Port Tests")] + public class PortTests + { + private TestProxy _proxy; + private string _fooFile = Application.Current.DirectoryInfo.Data + "foo.txt"; + private string _barFile = Application.Current.DirectoryInfo.Data + "bar.txt"; + private string _gooFile = Application.Current.DirectoryInfo.Data + "goo.txt"; + + private void CreateFile(string file) + { + try + { + if (File.Exists(file)) + { + File.Delete(file); + } + + using (FileStream fs = File.Create(file)) + { + byte[] title = new UTF8Encoding(true).GetBytes("New File"); + fs.Write(title, 0, title.Length); + } + } + catch (Exception e) + { + LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Exception: " + e.ToString()); + } + } + + [SetUp] + public void Init() + { + LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Preconditions for each TEST"); + _proxy = new TestProxy(); + _proxy.TestConnectSync(); + + CreateFile(_fooFile); + CreateFile(_barFile); + CreateFile(_gooFile); + } + + [TearDown] + public void Destroy() + { + LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Postconditions for each TEST"); + _proxy.Dispose(); + _proxy = null; + } + + [Test] + [Category("P1")] + [Description("Test : Shares files with stub application")] + [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + [Property("COVPARAM", "System.Collections.Generic.IEnumerable")] + public void ShareFile_SHARE_FILE_LIST_AND_CHECK_WITHOUT_EXCEPTION() + { + /* PRECONDITION */ + Assert.True(_proxy.Connected, "Proxy should be connected"); + + /* TEST CODE */ + try + { + var files = new List(); + files.Append(_fooFile); + files.Append(_barFile); + + var port = _proxy.MainPort; + port.ShareFile(files); + } + catch (Exception e) + { + Assert.Fail(e.ToString()); + } + } + + [Test] + [Category("P1")] + [Description("Test : Shares files with stub application")] + [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + [Property("COVPARAM", "string")] + public void ShareFile_SHARE_FILE_AND_CHECK_WITHOUT_EXCEPTION() + { + /* PRECONDITION */ + Assert.True(_proxy.Connected, "Proxy should be connected"); + + /* TEST CODE */ + try + { + var port = _proxy.MainPort; + port.ShareFile(_gooFile); + } + catch (Exception e) + { + Assert.Fail(e.ToString()); + } + } + + [Test] + [Category("P2")] + [Description("Test : Try to call Share() with invalid parameter")] + [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + [Property("COVPARAM", "System.Collections.Generic.IEnumerable")] + public void ShareFile_SHARE_FILE_LIST_AND_CHECK_INVALID_ID_EXCEPTION() + { + /* PRECONDITION */ + Assert.True(_proxy.Connected, "Proxy should be connected"); + + /* TEST CODE */ + var port = _proxy.MainPort; + try + { + List files = null; + port.ShareFile(files); + } + catch (InvalidIOException) + { + Assert.Pass("InvalidIOException occurs"); + } + } + + [Test] + [Category("P2")] + [Description("Test : Try to call Share() with invalid parameter")] + [Property("SPEC", " Tizen.Applications.RPCPort.Port.ShareFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + [Property("COVPARAM", "string")] + public void ShareFile_SHARE_FILE_AND_CHECK_INVALID_ID_EXCEPTION() + { + /* PRECONDITION */ + Assert.True(_proxy.Connected, "Proxy should be connected"); + + /* TEST CODE */ + var port = _proxy.MainPort; + try + { + string file = null; + port.ShareFile(file); + } + catch (InvalidIOException) + { + Assert.Pass("InvalidIOException occurs"); + } + } + + [Test] + [Category("P1")] + [Description("Test : Unshares files")] + [Property("SPEC", " Tizen.Applications.RPCPort.Port.UnshareFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + public void UnshareFile_CHECK_WITHOUT_EXCEPTION() + { + /* PRECONDITION */ + Assert.True(_proxy.Connected, "Proxy should be connected"); + + /* TEST CODE */ + try + { + var port = _proxy.MainPort; + port.UnshareFile(); + } + catch (Exception e) + { + Assert.Fail(e.ToString()); + } + } + } +} diff --git a/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ProxyBase.cs b/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ProxyBase.cs index 4743dbf..8cab6f0 100755 --- a/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ProxyBase.cs +++ b/tct-suite-vs/Tizen.Applications.RPCPort.Tests/testcase/TSRPCPort.ProxyBase.cs @@ -1,400 +1,480 @@ -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(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; +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 TestConnectSync() + { + ConnectSync("org.tizen.example.RpcPortStub", "Test"); + } + + public void ConnectSyncForInvalidIOException() + { + ConnectSync("invalid.app", "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(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()); + } + + [Test] + [Category("P1")] + [Description("Test : Connect to stub application synchronously")] + [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.ConnectSync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + public void ConnectSync_RETURN() + { + /* PRECONDITION */ + _proxy?.Dispose(); + _proxy = new Proxy(); + _proxy.TestConnectSync(); + + /* TEST CODE */ + Assert.True(_proxy.Connected, "Proxy should be connected"); + } + + [Test] + [Category("P2")] + [Description("Test : Try to reconnect to app synchronously without disposing")] + [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.ConnectSync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + public void ConnectSync_CHECK_INVALID_ID_EXCEPTION() + { + /* PRECONDITION */ + _proxy?.Dispose(); + _proxy = new Proxy(); + _proxy.TestConnectSync(); + Assert.True(_proxy.Connected, "Proxy should be connected"); + + try + { + /* TEST CODE */ + _proxy.TestConnectSync(); + Assert.Fail("InvalidIDException should be occurred"); + } + catch (InvalidIDException) + { + Assert.Pass("InvalidIDException occurs"); + } + } + + [Test] + [Category("P2")] + [Description("Test : Connect to invalid stub application synchronously")] + [Property("SPEC", " Tizen.Applications.RPCPort.ProxyBase.ConnectSync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")] + public void ConnectSync_CHECK_INVALID_IO_EXCEPTION() + { + /* PRECONDITION */ + _proxy?.Dispose(); + _proxy = new Proxy(); + + try + { + /* TEST CODE */ + _proxy.ConnectSyncForInvalidIOException(); + Assert.Fail("InvalidIOException should be occurred"); + } + catch (InvalidIOException) + { + Assert.Pass("InvalidIOException occurs"); + } + } + } +}