public Task StartAsync(CancellationToken cancellationToken) { _syncServer.Start(); _relayServer.Start(); return(Task.CompletedTask); }
static void Main(string[] args) { var cfg = new DummyConfig(); cfg.Clients.Add(new RegisteredClient { Id = Guid.Empty, FolderEndpoints = { new ClientFolderEndpoint { Id = Guid.Empty, DisplayName = "f1", LocalPath = @"C:\shcherban\stest\tests\server", } } }); var srv = new SyncServer(ServerPort, Guid.Empty, cfg); srv.Msg += Console.WriteLine; srv.Start(); var ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), ServerPort); var client = SyncClientFactory.GetTwoWay(ipEndPoint, @"C:\shcherban\stest\tests\client", null, Guid.Empty, Guid.Empty); client.Log += Console.WriteLine; client.Sync().Wait(); Console.WriteLine("Done"); Console.ReadKey(); srv.Stop(); }
static void Main(string[] args) { var server = new SyncServer(); server.Start(); Console.ReadKey(); }
public async Task New_ByCollectionId_WithTooBigImageForTcp_ThrowsException() { //given var syncServer = new SyncServer(TestData.InstanceName, TestData.BackendAdminApiKey); await syncServer.Start(); var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; var imageBase64 = TestData.ImageToBase64("sampleImage.jpg"); request.ImageBase64 = imageBase64; try { //when await syncServer.DataObjects.New(request); throw new Exception("New should throw an exception."); } catch (Exception e) { //then e.ShouldBeType <SyncanoException>(); } }
public static void Main(string[] args) { if (args?.Length > 0) { Console.WriteLine("Unknown args, press any key to exit"); Console.ReadKey(); return; } var server = new SyncServer(Port, ServerId, "config.json"); server.Msg += ClientHandlerOnMsg; server.Start(); Console.WriteLine("Listening. Press return to quit"); Task.Run(Discover); while (Console.ReadKey().Key != ConsoleKey.Enter) { ; } _stopping = true; server.Stop(); }
private void PrepareServerClient() { _testServerConfig = new TestServerConfig(); _testServerConfig.Clients.Add(new RegisteredClient { Id = Guid.Empty, FolderEndpoints = { new ClientFolderEndpoint { Id = Guid.Empty, DisplayName = "folder1", LocalPath = _serverFolder, } } }); SessionStorage.Instance.SetTimeout(0); _server = new SyncServer(ServerPort, Guid.Empty, _testServerConfig); _server.Msg += ServerWrite; _server.Start(); var serverEp = new IPEndPoint(IPAddress.Parse("127.0.0.1"), ServerPort); _client = SyncClientFactory.GetTwoWay(serverEp, _clientFolder, null, Guid.Empty, Guid.Empty); _client.Log += ClientWrite; _client.ErrorEvent += ClientOnErrorEvent; }
private async Task PrepareSyncServer() { _syncSubscriber = new SyncServer(TestData.InstanceName, TestData.BackendAdminApiKey); await _syncSubscriber.Start(); _syncServer = new SyncServer(TestData.InstanceName, TestData.BackendAdminApiKey); await _syncServer.Start(); }
public void TwoWaySync_Test() { var server = new SyncServer(9211, @"D:\Taras\stest"); server.Msg += Console.WriteLine; server.Start(); var client = SyncClientFactory.GetTwoWay("127.0.0.1", 9211, @"D:\Taras\stestsrc"); client.Sync().Wait(); server.Stop(); }
public async Task Login_WithInvalidPasswordOverTcp_ThrowsException() { //given var syncClient = new SyncServer(TestData.InstanceName, TestData.UserApiKey); await syncClient.Start(); try { //when await syncClient.Users.Login(TestData.UserName, "abcde"); throw new Exception("Login should throw an exception."); } catch (Exception e) { //then e.ShouldBeType <SyncanoException>(); } }
public async Task Update_NewAvatarTooBigForTcp_ThrowsException() { //given var syncClient = new SyncServer(TestData.InstanceName, TestData.BackendAdminApiKey); await syncClient.Start(); const string password = "******"; try { //when await syncClient.Users.Update("userId", avatar : TestData.ImageToBase64("smallSampleImage.png"), currentPassword : password); throw new Exception("Update should throw an exception."); } catch (Exception e) { //then e.ShouldBeType <SyncanoException>(); } }
public async Task New_WithAvatarTooBigForTcp_ThrowsException() { //given var syncClient = new SyncServer(TestData.InstanceName, TestData.BackendAdminApiKey); await syncClient.Start(); string name = "newUserName" + Guid.NewGuid().GetHashCode(); string avatar = TestData.ImageToBase64("sampleImage.jpg"); try { //when var user = await syncClient.Users.New(name, avatar : avatar); throw new Exception("New should throw an exception."); } catch (Exception e) { //then e.ShouldBeType <SyncanoException>(); } }
private async Task PrepareSyncServer() { _syncServer = new SyncServer(TestData.InstanceName, TestData.BackendAdminApiKey); var loginResult = await _syncServer.Start(); Debug.WriteLine("SyncServer login result: {0}, Info:{1}", loginResult.WasSuccessful, loginResult.Reason); var subscriptions = await _syncServer.RealTimeSync.GetSubscriptions(); if (subscriptions.Count > 0) { if (subscriptions.Any(s => s.Type == "Project")) { await _syncServer.RealTimeSync.UnsubscribeProject(TestData.ProjectId); } if (subscriptions.Any(s => s.Type == "Collection")) { await _syncServer.RealTimeSync.UnsubscribeCollection(TestData.ProjectId, TestData.CollectionId); } } _currentConnection = (await _syncServer.RealTimeSync.GetConnections())[0]; }
public static void Main(string[] args) { if (args == null || args.Length == 0) { Console.WriteLine("args empty"); return; } Console.WriteLine(args.Length); Console.WriteLine(string.Join("\r\n", args)); return; if (args?.Length > 0) { Console.WriteLine("Unknown args, press any key to exit"); Console.ReadKey(); return; } var server = new SyncServer(Port, Path); server.Msg += ClientHandlerOnMsg; server.Start(); Console.WriteLine("Listening. Press return to quit"); while (Console.ReadKey().Key != ConsoleKey.Enter) { ; } server.Stop(); }
private async void Connect() { //Login _syncServer = new SyncServer(this.InstanceName, this.ApiKey); var login = await _syncServer.Start(); this.IsConnected = login.WasSuccessful; //Add subscriptions. if ((await _syncServer.RealTimeSync.GetSubscriptions()).Any(s => s.Type == "Project" && s.Id == this.ProjectId) == false) { await _syncServer.RealTimeSync.SubscribeProject(ProjectId); } //React on subscriptions using reactive extensions //Subscribe to new data notifications _syncServer.NewDataObservable.SubscribeOnDispatcher().Subscribe(n => { App.Current.Dispatcher.Invoke(() => DataObjectsSync.Add(n.Data)); }); _syncServer.DeleteDataObservable.SubscribeOnDispatcher().Subscribe(n => { App.Current.Dispatcher.Invoke(() => { RefreshDataObjectsSync(); }); }); //Create Http connection object _syncanoClient = new Syncano.Net.SyncanoClient(this.InstanceName, this.ApiKey); //Load existing objects RefreshDataObjectsHttp(); RefreshDataObjectsSync(); }