private static HttpPilotClient Reconnect(HttpContext context, IServerCallback callback) { var client = new HttpPilotClient(); client.Connect(ApplicationConst.PilotServerUrl); var serverApi = client.GetServerApi(callback); var dbName = context.User.FindFirstValue(ClaimTypes.Surname); var login = context.User.FindFirstValue(ClaimTypes.Name); var protectedPassword = context.User.FindFirstValue(ClaimTypes.UserData); var useWindowsAuth = login.Contains("/") || login.Contains("\\"); var dbInfo = serverApi.OpenDatabase(dbName, login, protectedPassword, useWindowsAuth); if (dbInfo == null) { throw new TransportException(); } var clientIdString = context.User.FindFirstValue(ClaimTypes.Sid); ClientsDictionary[Guid.Parse(clientIdString)] = client; DMetadata dMetadata = serverApi.GetMetadata(dbInfo.MetadataVersion); context.Session.SetSessionValues(SessionKeys.MetaTypes, dMetadata.Types.ToDictionary(x => x.Id, y => y)); return(client); }
public void should_create_context() { // given var connectionService = new Mock <IConnectionService>(); var remoteServiceFactory = new Mock <IRemoteServiceFactory>(); var service = new ContextService(connectionService.Object, remoteServiceFactory.Object); var sedovCreds = Credentials.GetConnectionCredentials("sedov", "passwrd1"); var sedovHttpClient = new HttpPilotClient(""); connectionService.Setup(cs => cs.Connect(sedovCreds)).Returns(sedovHttpClient); var sedovApi = new Mock <IRemoteService>(); var sedovServerApi = new Mock <IServerApiService>(); sedovApi.Setup(sa => sa.IsActive).Returns(true); sedovApi.Setup(sa => sa.GetServerApi()).Returns(sedovServerApi.Object); remoteServiceFactory.Setup(rsf => rsf.CreateRemoteService(sedovHttpClient)).Returns(sedovApi.Object); // when service.CreateContext(sedovCreds); // then connectionService.Verify(cs => cs.Connect(sedovCreds), Times.Once); remoteServiceFactory.Verify(rsf => rsf.CreateRemoteService(sedovHttpClient), Times.Once); }
public DDatabaseInfo Connect(Credentials credentials) { _client = new HttpPilotClient(); _client.Connect(ApplicationConst.PilotServerUrl); var serverApi = _client.GetServerApi(_serverCallback); var dbInfo = serverApi.OpenDatabase(credentials.DatabaseName, credentials.Username, credentials.ProtectedPassword, credentials.UseWindowsAuth); _repository = new Repository(serverApi, _serverCallback); _repository.Initialize(credentials.Username); IsInitialized = true; return(dbInfo); }
public HttpPilotClient Connect(Credentials credentials) { var client = new HttpPilotClient(_config.Url); // Do not check versions of the Server and Client client.Connect(false); var authApi = client.GetAuthenticationApi(); authApi.Login(_config.Database, credentials.Username, credentials.ProtectedPassword, credentials.UseWindowsAuth, _config.LicenseCode); return(client); }
public void Connect() { _client = new HttpPilotClient(_settings.ServerUrl); _client.Connect(false); ServerApi = _client.GetServerApi(new NullableServerCallback()); AuthenticationApi = _client.GetAuthenticationApi(); AuthenticationApi.Login(_settings.DbName, _settings.Login, _settings.Password, false, _settings.LicenseCode); var dataBaseInfo = ServerApi.OpenDatabase(); PersonId = dataBaseInfo.Person.Id; FileArchiveApi = _client.GetFileArchiveApi(); }
public DDatabaseInfo Connect(Credentials credentials) { _client = new HttpPilotClient(ApplicationConst.PilotServerUrl); // Do not check versions of the Server and Client _client.Connect(false); var serverApi = _client.GetServerApi(_serverCallback); var authApi = _client.GetAuthenticationApi(); authApi.Login(credentials.DatabaseName, credentials.Username, credentials.ProtectedPassword, credentials.UseWindowsAuth, ApplicationConst.LicenseCode); var dbInfo = serverApi.OpenDatabase(); _repository = new Repository(serverApi, _serverCallback); _repository.Initialize(credentials.Username); IsInitialized = true; return(dbInfo); }
public void should_get_server_api() { // given var connectionService = new Mock <IConnectionService>(); var remoteServiceFactory = new Mock <IRemoteServiceFactory>(); var service = new ContextService(connectionService.Object, remoteServiceFactory.Object); var sedovCreds = Credentials.GetConnectionCredentials("sedov", "passwrd1"); var smithCreds = Credentials.GetConnectionCredentials("smith", "passwrd2"); var sedovHttpClient = new HttpPilotClient(""); var smithHttpClient = new HttpPilotClient(""); connectionService.Setup(cs => cs.Connect(sedovCreds)).Returns(sedovHttpClient); connectionService.Setup(cs => cs.Connect(smithCreds)).Returns(smithHttpClient); var sedovApi = new Mock <IRemoteService>(); var sedovServerApi = new Mock <IServerApiService>(); sedovApi.Setup(sa => sa.IsActive).Returns(true); sedovApi.Setup(sa => sa.GetServerApi()).Returns(sedovServerApi.Object); var smithApi = new Mock <IRemoteService>(); var smithServerApi = new Mock <IServerApiService>(); smithApi.Setup(sma => sma.IsActive).Returns(true); smithApi.Setup(sma => sma.GetServerApi()).Returns(smithServerApi.Object); remoteServiceFactory.Setup(rsf => rsf.CreateRemoteService(sedovHttpClient)).Returns(sedovApi.Object); remoteServiceFactory.Setup(rsf => rsf.CreateRemoteService(smithHttpClient)).Returns(smithApi.Object); service.CreateContext(sedovCreds); service.CreateContext(smithCreds); // when var api = service.GetServerApi("sedov"); // then Assert.NotNull(api); Assert.AreEqual(sedovServerApi.Object, api); // when var sapi = service.GetServerApi("smith"); // then Assert.NotNull(sapi); Assert.AreEqual(smithServerApi.Object, sapi); }
public RemoteService(HttpPilotClient client) { _client = client; _client.SetConnectionLostListener(this); _serverCallback = new ServerCallback(); _fileArchiveApi = client.GetFileArchiveApi(); var searchFactory = new SearchServiceFactory(_serverCallback); var localArchiveRootFolder = DirectoryProvider.GetTempPath(); var fileStorageProvider = new FileStorageProvider(localArchiveRootFolder); var changsetUploader = new ChangesetUploader(_fileArchiveApi, fileStorageProvider, null); var messageApi = client.GetMessagesApi(new NullableMessagesCallback()); var serverApi = client.GetServerApi(_serverCallback); var dbInfo = serverApi.OpenDatabase(); var backend = new Backend(serverApi, dbInfo, messageApi, changsetUploader); _serverApi = new ServerApiService(serverApi, dbInfo, searchFactory, backend); _serverCallback.RegisterCallbackListener((IRemoteServiceListener)_serverApi); IsActive = true; }
public void should_not_get_server_api_if_is_not_active() { // given var connectionService = new Mock <IConnectionService>(); var remoteServiceFactory = new Mock <IRemoteServiceFactory>(); var service = new ContextService(connectionService.Object, remoteServiceFactory.Object); var sedovCreds = Credentials.GetConnectionCredentials("sedov", "passwrd1"); var sedovHttpClient = new HttpPilotClient(""); connectionService.Setup(cs => cs.Connect(sedovCreds)).Returns(sedovHttpClient); var sedovApi = new Mock <IRemoteService>(); var sedovServerApi = new Mock <IServerApiService>(); sedovApi.Setup(sa => sa.IsActive).Returns(false); // is not active sedovApi.Setup(sa => sa.GetServerApi()).Returns(sedovServerApi.Object); remoteServiceFactory.Setup(rsf => rsf.CreateRemoteService(sedovHttpClient)).Returns(sedovApi.Object); service.CreateContext(sedovCreds); // when Assert.Throws <UnauthorizedAccessException>(() => service.GetServerApi("sedov")); }
public IRemoteService CreateRemoteService(HttpPilotClient client) { return(new RemoteService(client)); }
public ServerConnector(Settings settings) { _settings = settings; _client = new HttpPilotClient(_settings.ServerUrl); }
public static void SetClient(this HttpContext context, HttpPilotClient client, Guid clientId) { ClientsDictionary[clientId] = client; }
public void SetHttpClient(HttpPilotClient client) { _client = client; }