public void StreamTransferSession_Upload_Async() { StreamTransferSession clientSession; LeafRouter router; InitServer(); router = null; try { SetConfig("DefBlockSize=1000"); router = new LeafRouter(); router.Start(); router.Dispatcher.AddTarget(this); clientSession = StreamTransferSession.ClientUpload(router, "logical://Test/Upload", CreateStream(TransferSize)); clientSession.BeginTransfer(new AsyncCallback(OnClientDone), clientSession); clientWait.WaitOne(TimeSpan.FromSeconds(30), false); Verify(msServer, TransferSize); Assert.IsTrue(serverNotify); Assert.IsNull(serverException); } finally { if (router != null) { router.Stop(); } Config.SetConfig(null); } }
public void StreamTransferSession_Upload_Sync() { StreamTransferSession clientSession; LeafRouter router; InitServer(); router = null; try { SetConfig("DefBlockSize=1000"); router = new LeafRouter(); router.Start(); router.Dispatcher.AddTarget(this); clientSession = StreamTransferSession.ClientUpload(router, "logical://Test/Upload", CreateStream(TransferSize)); clientSession.Args = "Upload"; clientSession.Transfer(); Verify(msServer, TransferSize); Assert.IsTrue(serverNotify); Assert.IsNull(serverException); Assert.AreEqual("Upload", serverArgs); } finally { if (router != null) { router.Stop(); } Config.SetConfig(null); } }
/// <summary> /// Uploads an application package to a remote application store instance. /// </summary> /// <param name="storeEP"> /// The application store endpoint or <c>null</c> to query any /// application store instance in the cluster. /// </param> /// <param name="appRef">The <see cref="AppRef" /> for the file.</param> /// <param name="path">The path to the application package file.</param> public void UploadPackage(MsgEP storeEP, AppRef appRef, string path) { StreamTransferSession session; if (storeEP == null) { storeEP = settings.ClusterEP; } session = StreamTransferSession.ClientUpload(router, storeEP, path); session.Args = "appref=" + appRef.ToString(); session.Transfer(); }
public void StreamTransferSession_Upload_ErrorOnClient() { StreamTransferSession clientSession; LeafRouter router; IAsyncResult ar; InitServer(); router = null; try { SetConfig("DefBlockSize=1000"); router = new LeafRouter(); router.Start(); router.Dispatcher.AddTarget(this); clientSession = StreamTransferSession.ClientUpload(router, "logical://Test/Upload", CreateStream(TransferSize)); clientSession.Delay = 500; clientSession.SimulateError = true; ar = clientSession.BeginTransfer(null, null); Thread.Sleep(1000); clientSession.Cancel(); clientSession.EndTransfer(ar); Assert.Fail("Expected an exception"); } catch { // Expecting an exception } finally { if (router != null) { router.Stop(); } Config.SetConfig(null); } Thread.Sleep(1000); Assert.IsTrue(serverNotify); Assert.IsInstanceOfType(serverException, typeof(SessionException)); }
public void StreamTransferSession_Cancel_OnServer() { StreamTransferSession clientSession; LeafRouter router; InitServer(); router = null; try { SetConfig("DefBlockSize=1000"); router = new LeafRouter(); router.Start(); router.Dispatcher.AddTarget(this); simServerCancel = true; clientSession = StreamTransferSession.ClientUpload(router, "logical://Test/Upload", CreateStream(TransferSize)); clientSession.Delay = 500; clientSession.Transfer(); Assert.Fail("Expected a CancelException"); } catch (SessionException e) { SysLog.LogException(e); } catch (Exception e) { Assert.IsInstanceOfType(e, typeof(CancelException)); } finally { if (router != null) { router.Stop(); } Config.SetConfig(null); } Thread.Sleep(1000); Assert.IsTrue(serverNotify); Assert.IsInstanceOfType(serverException, typeof(CancelException)); }
public void StreamTransferSession_WrongDirection_Upload() { StreamTransferSession clientSession; LeafRouter router; EnhancedMemoryStream msClient; InitServer(); router = null; try { SetConfig("DefBlockSize=1000"); router = new LeafRouter(); router.Start(); router.Dispatcher.AddTarget(this); msServer = CreateStream(TransferSize); msClient = new EnhancedMemoryStream(); clientSession = StreamTransferSession.ClientUpload(router, "logical://Test/Download", msClient); clientSession.Transfer(); Assert.Fail("Expected a SessionException"); } catch (Exception e) { Assert.IsInstanceOfType(e, typeof(SessionException)); } finally { if (router != null) { router.Stop(); } Config.SetConfig(null); } }