Exemple #1
0
        private RavenDbServer CreateServer(int port, string dataDirectory, bool removeDataDirectory = true)
        {
            Database.Server.NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(port);

            var serverConfiguration = new Database.Config.RavenConfiguration
            {
                AnonymousUserAccessMode = Database.Server.AnonymousUserAccessMode.Admin,
                DataDirectory = dataDirectory,
                RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true,
                RunInMemory = false,
                Port = port,
                DefaultStorageTypeName = "esent"
            };

            if (removeDataDirectory)
                IOExtensions.DeleteDirectory(serverConfiguration.DataDirectory);

            var server = new RavenDbServer(serverConfiguration)
            {
                UseEmbeddedHttpServer = true
            };
            server.Initialize();
            serverConfiguration.PostInit();

            return server;
        }
 public CompressionAndEncryption()
 {
     path = Path.GetDirectoryName(Assembly.GetAssembly(typeof(Versioning.Versioning)).CodeBase);
     path = Path.Combine(path, "TestDb").Substring(6);
     Raven.Database.Extensions.IOExtensions.DeleteDirectory(path);
     settings = new Raven.Database.Config.RavenConfiguration
     {
         Port = 8079,
         RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true,
         DataDirectory = path,
         Settings =
             {
                 {"Raven/Encryption/Key", "3w17MIVIBLSWZpzH0YarqRlR2+yHiv1Zq3TCWXLEMI8="},
                 {"Raven/ActiveBundles", "Compression;Encryption"}
             }
     };
     ConfigureServer(settings);
     settings.PostInit();
     ravenDbServer = new RavenDbServer(settings)
     {
         UseEmbeddedHttpServer = true
     };
     ravenDbServer.Initialize();
     documentStore = new DocumentStore
     {
         Url = "http://localhost:8079"
     };
     documentStore.Initialize();
 }
 protected void RecycleServer()
 {
     ravenDbServer.Dispose();
     ravenDbServer =  new RavenDbServer(settings)
     {
         UseEmbeddedHttpServer = true
     };
     ravenDbServer.Initialize();
 }
Exemple #4
0
        protected RavenDbServer CreateRavenDbServer(int port,
                                                    string dataDirectory = null,
                                                    bool runInMemory = true,
                                                    string requestedStorage = null,
                                                    bool enableAuthentication = false,
                                                    string fileSystemName = null)
        {
            NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(port);
            var storageType = GetDefaultStorageType(requestedStorage);
            var directory = dataDirectory ?? NewDataPath(fileSystemName + "_" + port);

            var ravenConfiguration = new RavenConfiguration()
            {
				Port = port,
				DataDirectory = directory,
				RunInMemory = storageType.Equals("esent", StringComparison.OrdinalIgnoreCase) == false && runInMemory,
#if DEBUG
				RunInUnreliableYetFastModeThatIsNotSuitableForProduction = runInMemory,
#endif
				DefaultStorageTypeName = storageType,
				AnonymousUserAccessMode = enableAuthentication ? AnonymousUserAccessMode.None : AnonymousUserAccessMode.Admin,                
			};

	        ravenConfiguration.Encryption.UseFips = SettingsHelper.UseFipsEncryptionAlgorithms;
            ravenConfiguration.FileSystem.MaximumSynchronizationInterval = this.SynchronizationInterval;
	        ravenConfiguration.FileSystem.DataDirectory = Path.Combine(directory, "FileSystem");
	        ravenConfiguration.FileSystem.DefaultStorageTypeName = storageType;

            if (enableAuthentication)
            {
                Authentication.EnableOnce();
            }

            var ravenDbServer = new RavenDbServer(ravenConfiguration)
            {
	            UseEmbeddedHttpServer = true
            };
	        ravenDbServer.Initialize();

            servers.Add(ravenDbServer);

            if (enableAuthentication)
            {
                EnableAuthentication(ravenDbServer.SystemDatabase);
            }

            ConfigureServer(ravenDbServer, fileSystemName);

            return ravenDbServer;
        }
Exemple #5
0
		protected RavenDbServer GetNewServer(int port)
		{
		    RavenDbServer ravenDbServer = new RavenDbServer(new RavenConfiguration
		    {
		        Port = port,
		        RunInMemory = true,
		        DataDirectory = "Data",
		        AnonymousUserAccessMode = AnonymousUserAccessMode.Admin
		    })
		    {
		        UseEmbeddedHttpServer = true
		    };
		    ravenDbServer.Initialize();
		    return ravenDbServer;
		}
Exemple #6
0
        protected RavenDbServer CreateRavenDbServer(int port,
                                                    string dataDirectory = null,
                                                    bool runInMemory = true,
                                                    string requestedStorage = null,
                                                    bool enableAuthentication = false,
                                                    string fileSystemName = null)
        {
            var storageType = GetDefaultStorageType(requestedStorage);
            var directory = dataDirectory ?? NewDataPath(fileSystemName + "_" + port);

            var ravenConfiguration = new RavenConfiguration()
            {
				Port = port,
				DataDirectory = directory,
				RunInMemory = storageType.Equals("esent", StringComparison.OrdinalIgnoreCase) == false && runInMemory,
#if DEBUG
				RunInUnreliableYetFastModeThatIsNotSuitableForProduction = runInMemory,
#endif
				DefaultStorageTypeName = storageType,
				AnonymousUserAccessMode = enableAuthentication ? AnonymousUserAccessMode.None : AnonymousUserAccessMode.Admin,
			};

            if (enableAuthentication)
            {
                Authentication.EnableOnce();
            }

            var ravenDbServer = new RavenDbServer(ravenConfiguration)
            {
	            UseEmbeddedHttpServer = true
            };
	        ravenDbServer.Initialize();

            servers.Add(ravenDbServer);

            if (enableAuthentication)
            {
                EnableAuthentication(ravenDbServer.SystemDatabase);
            }

            ConfigureServer(ravenDbServer, fileSystemName);

            return ravenDbServer;
        }
		private void CreateServer()
		{
			IOExtensions.DeleteDirectory("HiLoData");
			if(server != null)
				server.Dispose();

			server = new RavenDbServer(new RavenConfiguration
										{
											Port = 8079,
											DataDirectory = "HiLoData",
											RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true,
											AnonymousUserAccessMode = AnonymousUserAccessMode.Admin
										})
			{
				UseEmbeddedHttpServer = true
			};
			server.Initialize();

		}
Exemple #8
0
		protected RavenDbServer GetNewServer(int port)
		{
			var dataDirectory = Path.Combine(NewDataPath(), "System");
			var configuration = new RavenConfiguration
								{
									Port = port,
									DataDirectory = dataDirectory,
									AnonymousUserAccessMode = AnonymousUserAccessMode.Admin
								};
			configuration.RunInMemory = configuration.DefaultStorageTypeName == InMemoryRavenConfiguration.VoronTypeName;

			var ravenDbServer = new RavenDbServer(configuration)
			{
				UseEmbeddedHttpServer = true
			};

			ravenDbServer.Initialize();
			return ravenDbServer;
		}
Exemple #9
0
		public RavenDB_1594()
		{
		    path = NewDataPath();
			Raven.Database.Extensions.IOExtensions.DeleteDirectory(path);
			var config = new Raven.Database.Config.RavenConfiguration
			             	{
			             		Port = 8079,
			             		RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true,
			             		DataDirectory = path,
								Settings = { { "Raven/ActiveBundles", "PeriodicBackup" } },
			             	};
			config.PostInit();
		    ravenDbServer = new RavenDbServer(config)
		    {
		        UseEmbeddedHttpServer = true
		    };
		    ravenDbServer.Initialize();
			documentStore = new DocumentStore
			{
				Url = "http://localhost:8079"
			};
			documentStore.Initialize();
		}
Exemple #10
0
        protected RavenDbServer GetNewServer(int port = 8079,
            string dataDirectory = null,
            bool runInMemory = true,
            string requestedStorage = null,
            bool enableAuthentication = false,
            string activeBundles = null,
            Action<RavenDBOptions> configureServer = null,
            Action<InMemoryRavenConfiguration> configureConfig = null,
            [CallerMemberName] string databaseName = null)
        {
            databaseName = NormalizeDatabaseName(databaseName != Constants.SystemDatabase ? databaseName : null);

            checkPorts = true;
            if (dataDirectory != null)
                pathsToDelete.Add(dataDirectory);

            var storageType = GetDefaultStorageType(requestedStorage);
            var directory = dataDirectory ?? NewDataPath(databaseName == Constants.SystemDatabase ? null : databaseName);
            var ravenConfiguration = new RavenConfiguration();

            ConfigurationHelper.ApplySettingsToConfiguration(ravenConfiguration);

            ravenConfiguration.Port = port;
            ravenConfiguration.DataDirectory = Path.Combine(directory, "System");
            ravenConfiguration.RunInMemory = runInMemory;
#if DEBUG
            ravenConfiguration.RunInUnreliableYetFastModeThatIsNotSuitableForProduction = runInMemory;
#endif
            ravenConfiguration.DefaultStorageTypeName = storageType;
            ravenConfiguration.AnonymousUserAccessMode = enableAuthentication ? AnonymousUserAccessMode.None : AnonymousUserAccessMode.Admin;

            ravenConfiguration.FileSystem.DataDirectory = Path.Combine(directory, "FileSystem");
            ravenConfiguration.Encryption.UseFips = ConfigurationHelper.UseFipsEncryptionAlgorithms;

            ravenConfiguration.Settings["Raven/StorageTypeName"] = ravenConfiguration.DefaultStorageTypeName;

            if (activeBundles != null)
            {
                ravenConfiguration.Settings["Raven/ActiveBundles"] = activeBundles;
            }

            if (configureConfig != null)
                configureConfig(ravenConfiguration);
            ModifyConfiguration(ravenConfiguration);

            ravenConfiguration.PostInit();

            NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(ravenConfiguration.Port);
            var ravenDbServer = new RavenDbServer(ravenConfiguration)
            {
                UseEmbeddedHttpServer = true,
            };
            ravenDbServer.Initialize(configureServer);
            servers.Add(ravenDbServer);

            try
            {
                using (var documentStore = new DocumentStore
                {
                    Url = "http://localhost:" + port,
                    Conventions =
                    {
                        FailoverBehavior = FailoverBehavior.FailImmediately
                    },
                    DefaultDatabase = databaseName
                }.Initialize())
                {
                    CreateDefaultIndexes(documentStore);
                }
            }
            catch
            {
                ravenDbServer.Dispose();
                throw;
            }

            if (enableAuthentication)
            {
                EnableAuthentication(ravenDbServer.SystemDatabase);
                ModifyConfiguration(ravenConfiguration);
                ravenConfiguration.PostInit();
            }

            return ravenDbServer;
        }
Exemple #11
0
        private static RavenDbServer CreateNewServer(InMemoryRavenConfiguration configuration, bool deleteData)
        {
            var port = configuration.Port.ToString(CultureInfo.InvariantCulture);

            configuration.DataDirectory = Path.Combine(Context.DataDir, port, "System");
            configuration.FileSystem.DataDirectory = Path.Combine(Context.DataDir, port, "FileSystem");
            configuration.AccessControlAllowOrigin = new HashSet<string> { "*" };

            if (configuration.RunInMemory == false && deleteData)
            {
                var pathToDelete = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Context.DataDir, port);
                Context.DeleteDirectory(pathToDelete);
            }

            NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(configuration.Port);
            var server = new RavenDbServer(configuration) { UseEmbeddedHttpServer = true };

            server.Initialize();
            Context.Servers.Add(configuration.Port, server);

            Console.WriteLine("Created a server (Port: {0}, RunInMemory: {1})", configuration.Port, configuration.RunInMemory);

            return server;
        }
        protected RavenDbServer CreateServer(int port,
                                                    string dataDirectory = null,
                                                    bool runInMemory = true,
                                                    string requestedStorage = null,
                                                    bool enableAuthentication = false,
                                                    string fileSystemName = null,
													string activeBundles = null,
                                                    Action<RavenConfiguration> customConfig = null)
        {
            NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(port);
            var storageType = GetDefaultStorageType(requestedStorage);
            var directory = dataDirectory ?? NewDataPath(fileSystemName + "_" + port);

            var ravenConfiguration = new RavenConfiguration
            {
                Port = port,
                DataDirectory = directory,
                RunInMemory = runInMemory,
#if DEBUG
                RunInUnreliableYetFastModeThatIsNotSuitableForProduction = runInMemory,
#endif                
                DefaultStorageTypeName = storageType,
                AnonymousUserAccessMode = enableAuthentication ? AnonymousUserAccessMode.None : AnonymousUserAccessMode.Admin, 
                Encryption = 
                { 
                    UseFips = SettingsHelper.UseFipsEncryptionAlgorithms 
                },
                FileSystem = 
                {
                    MaximumSynchronizationInterval = this.SynchronizationInterval, 
                    DataDirectory = Path.Combine(directory, "FileSystems"),
                    DefaultStorageTypeName = storageType
                },
            };

			if (activeBundles != null)
			{
				ravenConfiguration.Settings[Constants.ActiveBundles] = activeBundles;
			}

            if (customConfig != null)
            {
                customConfig(ravenConfiguration);
            }

            if (enableAuthentication)
            {
                Authentication.EnableOnce();
            }

            var ravenDbServer = new RavenDbServer(ravenConfiguration)
            {
	            UseEmbeddedHttpServer = true,                
            };
	        ravenDbServer.Initialize();

            servers.Add(ravenDbServer);

            if (enableAuthentication)
            {
                EnableAuthentication(ravenDbServer.SystemDatabase);
            }

            ConfigureServer(ravenDbServer, fileSystemName);

            return ravenDbServer;
        }