public void GetSpeciesObservationChangeBirdRingingCentre() { Boolean areMoreSpeciesObservationsAvailable; ConnectorServer connectorServer = new ConnectorServer(); DateTime changedFrom = new DateTime(2000, 1, 1); DateTime changedTo = changedFrom; GbifConnector connector = new BirdRingingCentreConnector(); List <HarvestMapping> mappings; List <WebSpeciesObservationFieldDescriptionExtended> fieldDescriptions; WebSpeciesObservationDataProvider dataProvider; dataProvider = connector.GetSpeciesObservationDataProvider(GetContext()); fieldDescriptions = WebServiceData.MetadataManager.GetSpeciesObservationFieldDescriptionsExtended(GetContext()); mappings = HarvestManager.CreateMappingList(fieldDescriptions, dataProvider.Id); try { GetContext().GetSpeciesObservationDatabase().SetMaxChangeId(dataProvider.Id, dataProvider.MaxChangeId - 1); GetContext().GetSpeciesObservationDatabase().EmptyTempTables(); areMoreSpeciesObservationsAvailable = connector.GetSpeciesObservationChange(changedFrom, changedTo, mappings, GetContext(), connectorServer); Assert.IsFalse(areMoreSpeciesObservationsAvailable); } catch (Exception) { GetContext().GetSpeciesObservationDatabase().SetMaxChangeId(dataProvider.Id, dataProvider.MaxChangeId); throw; } }
/// <summary> /// Used to bridge to the private method CreateSpeciesObservations for the HarvestManagerTest. /// </summary> /// <param name="context">Web service context.</param> /// <param name="speciesObservations">Species observations.</param> /// <param name="dataProvider">Data provider.</param> /// <param name="changedFrom">Changed from date.</param> /// <param name="changedTo">Changed to date.</param> public static void TestCreateSpeciesObservations(WebServiceContext context, SpeciesObservationChange speciesObservations, WebSpeciesObservationDataProvider dataProvider, DateTime changedFrom, DateTime changedTo) { Stopwatch stopwatch = Stopwatch.StartNew(); int noOfUpdated, noOfUpdatedErrors, noOfDeleted, noOfDeletedErrors; ////ConnectorServer.CreateSpeciesObservations(context, speciesObservations.CreatedSpeciesObservations, dataProvider, out noOfCreated, out noOfCreatedErrors); ConnectorServer.UpdateSpeciesObservations(context, speciesObservations.UpdatedSpeciesObservations, dataProvider, out noOfUpdated, out noOfUpdatedErrors); ConnectorServer.DeleteSpeciesObservations(context, speciesObservations.DeletedSpeciesObservationGuids, dataProvider, out noOfDeleted, out noOfDeletedErrors); stopwatch.Stop(); context.GetSpeciesObservationDatabase().LogHarvestRead(context, dataProvider, changedFrom, changedTo, stopwatch.ElapsedMilliseconds, 0, 0, noOfUpdated, noOfUpdatedErrors, noOfDeleted, noOfDeletedErrors); }
protected override void ShutdownConnnectorInfoManager() { if (_server != null) { _server.Stop(); _server = null; } }
protected override ConnectorInfoManager GetConnectorInfoManager() { TestUtil.InitializeLogging(); GuardedString str = new GuardedString(); str.AppendChar('c'); str.AppendChar('h'); str.AppendChar('a'); str.AppendChar('n'); str.AppendChar('g'); str.AppendChar('e'); str.AppendChar('i'); str.AppendChar('t'); #if DEBUG const int PORT = 58762; #else const int PORT = 58761; #endif /*X509Store store = new X509Store("TestCertificateStore", * StoreLocation.CurrentUser); * store.Open(OpenFlags.ReadOnly|OpenFlags.OpenExistingOnly); * X509Certificate certificate = store.Certificates[0]; * store.Close();*/ X509Certificate2 certificate = new X509Certificate2(CERT_PATH, "changeit"); //Trace.TraceInformation("certificate: "+certificate); _server = ConnectorServer.NewInstance(); _server.Port = PORT; _server.KeyHash = str.GetBase64SHA1Hash(); _server.IfAddress = (IOUtil.GetIPAddress("localhost")); _server.UseSSL = true; _server.ServerCertificate = certificate; _server.Start(); //while ( true ) { // Thread.Sleep(1000); //} ConnectorInfoManagerFactory fact = ConnectorInfoManagerFactory.GetInstance(); MyCertificateValidationCallback callback = new MyCertificateValidationCallback(); RemoteFrameworkConnectionInfo connInfo = new RemoteFrameworkConnectionInfo("localhost", PORT, str, true, callback.Validate, 60000); ConnectorInfoManager manager = fact.GetRemoteManager(connInfo); return(manager); }
public virtual void TestFacadeEviction() { ConnectorServer server = ConnectorServer.NewInstance(); try { GuardedString str = new GuardedString(); str.AppendChar('c'); str.AppendChar('h'); str.AppendChar('a'); str.AppendChar('n'); str.AppendChar('g'); str.AppendChar('e'); str.AppendChar('i'); str.AppendChar('t'); #if DEBUG const int PORT = 58760; #else const int PORT = 58761; #endif server.MaxFacadeLifeTime = 1; server.Port = PORT; server.IfAddress = (IOUtil.GetIPAddress("127.0.0.1")); server.KeyHash = str.GetBase64SHA1Hash(); server.Start(); RemoteFrameworkConnectionInfo connInfo = new RemoteFrameworkConnectionInfo("127.0.0.1", PORT, str, false, null, 0); ConnectorInfoManager remoteManager = ConnectorInfoManagerFactory.GetInstance().GetRemoteManager(connInfo); ConnectorInfo remoteInfo = FindConnectorInfo(remoteManager, "1.0.0.0", "org.identityconnectors.testconnector.TstConnector"); ConnectorFacade remoteFacade = ConnectorFacadeFactory.GetInstance(). NewInstance(remoteInfo.CreateDefaultAPIConfiguration()); ManagedConnectorFacadeFactoryImpl managedFactory = (ManagedConnectorFacadeFactoryImpl)ConnectorFacadeFactory.GetManagedInstance(); // Assert it's empty Assert.IsNull(managedFactory.Find(remoteFacade.ConnectorFacadeKey)); remoteFacade.Schema(); // Assert it has one item Assert.IsNotNull(managedFactory.Find(remoteFacade.ConnectorFacadeKey)); Thread.Sleep(new TimeSpan(0, 2, 0)); // Assert it's empty Assert.IsNull(managedFactory.Find(remoteFacade.ConnectorFacadeKey)); } finally { server.Stop(); } }
/// <summary> /// Start this service. /// </summary> protected override void OnStart(string[] args) { try { initializeCurrentDirectory(); Trace.TraceInformation("Starting connector server: " + Environment.CurrentDirectory); NameValueCollection settings = GetApplicationSettings(); String portStr = settings.Get(PROP_PORT); if (portStr == null) { throw new Org.IdentityConnectors.Framework.Common.Exceptions.ConfigurationException("Missing required configuration property: " + PROP_PORT); } String keyHash = settings.Get(PROP_KEY); if (keyHash == null) { throw new Org.IdentityConnectors.Framework.Common.Exceptions.ConfigurationException("Missing required configuration property: " + PROP_KEY); } int port = Int32.Parse(portStr); bool useSSL = Boolean.Parse(settings.Get(PROP_SSL) ?? "false"); _server = ConnectorServer.NewInstance(); _server.Port = port; _server.UseSSL = useSSL; _server.KeyHash = keyHash; if (useSSL) { _server.ServerCertificate = GetCertificate(); } String ifaddress = settings.Get(PROP_IFADDRESS); if (ifaddress != null) { _server.IfAddress = IOUtil.GetIPAddress(ifaddress); } String facedeLifeTimeStr = settings.Get(PROP_FACADE_LIFETIME); if (facedeLifeTimeStr != null) { _server.MaxFacadeLifeTime = Int32.Parse(facedeLifeTimeStr); } _server.Start(); Trace.TraceInformation("Started connector server"); } catch (Exception e) { TraceUtil.TraceException("Exception occured starting connector server", e); throw; } }
/// <summary> /// Will get all changes from the first connection and return it to HarvestManagerTest. /// If you want to test more connectors, code must be rewritten. /// </summary> /// <param name="context">Web service context.</param> /// <param name="changedFrom">Changed from date.</param> /// <param name="changedTo">Changed to date.</param> /// <param name="dataProvider">Data provider.</param> public static void TestGetSpeciesObservationChange(WebServiceContext context, DateTime changedFrom, DateTime changedTo, out WebSpeciesObservationDataProvider dataProvider) { IDataProviderConnector connector = Connectors[0]; dataProvider = connector.GetSpeciesObservationDataProvider(context); // Read metadata from SpeciesObservationDatabase List <WebSpeciesObservationFieldDescriptionExtended> webDarwinCoreFieldDescriptions = WebServiceData.MetadataManager.GetSpeciesObservationFieldDescriptionsExtended(context, true); var mappings = CreateMappingList(webDarwinCoreFieldDescriptions, dataProvider.Id); ConnectorServer connectorServer = new ConnectorServer(); connector.GetSpeciesObservationChange(changedFrom, changedTo, mappings, context, connectorServer); }
protected override ConnectorInfoManager GetConnectorInfoManager() { TestUtil.InitializeLogging(); GuardedString str = new GuardedString(); str.AppendChar('c'); str.AppendChar('h'); str.AppendChar('a'); str.AppendChar('n'); str.AppendChar('g'); str.AppendChar('e'); str.AppendChar('i'); str.AppendChar('t'); #if DEBUG const int PORT = 58758; #else const int PORT = 58759; #endif _server = ConnectorServer.NewInstance(); _server.Port = PORT; _server.IfAddress = (IOUtil.GetIPAddress("127.0.0.1")); _server.KeyHash = str.GetBase64SHA1Hash(); _server.Start(); //while ( true ) { // Thread.Sleep(1000); //} ConnectorInfoManagerFactory fact = ConnectorInfoManagerFactory.GetInstance(); RemoteFrameworkConnectionInfo connInfo = new RemoteFrameworkConnectionInfo("127.0.0.1", PORT, str); ConnectorInfoManager manager = fact.GetRemoteManager(connInfo); return(manager); }