protected AbstractMongoSessionFactory(MongoSessionFactoryConfig configuration) { if (configuration == null) { throw new MongoBasicException.ConfigurationException("Can not build session factory. The argument 'configuration' is null."); } if (String.IsNullOrEmpty(configuration.Server)) { throw new MongoBasicException.ConfigurationException("Can not build session factory. The argument 'configuration.server' is null or empty."); } if (String.IsNullOrEmpty(configuration.Database)) { throw new MongoBasicException.ConfigurationException("Can not build session factory. The argument 'configuration.database' is null or empty."); } _classMaps = new List <IMongoClassMap>(); _mongoClientSettings = new MongoClientSettings { Server = new MongoServerAddress(configuration.Server, configuration.Port) }; _configuration = configuration; ConfigureAuth(configuration); var mongoClient = new MongoClient(_mongoClientSettings); _mongoDatabase = mongoClient.GetServer().GetDatabase(_configuration.Database); AfterSessionFactoryInitialized(_mongoDatabase); }
static SessionFactoryBuilder() { var mongoSettings = new MongoSessionFactoryConfig { Server = ConfigurationManager.AppSettings["server"], Port = Convert.ToInt32(ConfigurationManager.AppSettings["port"]), Database = ConfigurationManager.AppSettings["database"], User = ConfigurationManager.AppSettings["user"], Password = ConfigurationManager.AppSettings["password"], Collections = new Dictionary<Type, string> { {typeof(Person), "Persons"}, {typeof(Vehicle), "Vehicles"} } }; IMongoSessionFactory mongoSessionFactory = new TestSessionMongoFactory(mongoSettings); MongoSessionFactory = mongoSessionFactory; }
public void With_client_settings_should_establish_connection_to_database() { //arrange var mongoSettings = new MongoSessionFactoryConfig { Server = ConfigurationManager.AppSettings["server"], Port = Convert.ToInt32(ConfigurationManager.AppSettings["port"]), Database = ConfigurationManager.AppSettings["database"], User = ConfigurationManager.AppSettings["user"], Password = ConfigurationManager.AppSettings["password"], }; IMongoSessionFactory mongoSessionFactory = new TestSessionMongoFactory(mongoSettings); //act IMongoSession mongoSession = mongoSessionFactory.OpenSession(); //assert Assert.True(mongoSession.Status().ErrorMessage == null, "Mongo session should have been open."); }
public void Whith_invalid_credentials_should_throw_mongo_connection_exception() { //arrange string invalidPass = "******"; var mongoSettings = new MongoSessionFactoryConfig { Server = ConfigurationManager.AppSettings["server"], Port = Convert.ToInt32(ConfigurationManager.AppSettings["port"]), Database = ConfigurationManager.AppSettings["database"], User = ConfigurationManager.AppSettings["user"], Password = invalidPass, }; IMongoSessionFactory mongoSessionFactory = new TestSessionMongoFactory(mongoSettings); //act IMongoSession mongoSession = mongoSessionFactory.OpenSession(); //assert Assert.Throws<MongoConnectionException>(() => { var status = mongoSession.Status(); }); }
public void Whith_connection_config_invalid_should_throw_mongo_connection_exception() { //arrange int invalidPort = 5555; var mongoSettings = new MongoSessionFactoryConfig { Server = ConfigurationManager.AppSettings["server"], Port = invalidPort, Database = ConfigurationManager.AppSettings["database"], User = ConfigurationManager.AppSettings["user"], Password = ConfigurationManager.AppSettings["password"], }; IMongoSessionFactory mongoSessionFactory = new TestSessionMongoFactory(mongoSettings); //act IMongoSession mongoSession = mongoSessionFactory.OpenSession(); //assert Assert.Throws<MongoConnectionException>(() => { var status = mongoSession.Status(); }); }
private void ConfigureAuth(MongoSessionFactoryConfig configuration) { if (configuration.PerformAuth()) { switch (configuration.CredentialType) { case MongoCredentialType.MONGODB_CR: { MongoCredential credentials = MongoCredential.CreateMongoCRCredential(configuration.Database, configuration.User, configuration.Password); _mongoClientSettings.Credentials = new List <MongoCredential>() { credentials }; break; } case MongoCredentialType.SCRAM_SHA_1: { MongoCredential credentials = MongoCredential.CreateScramSha1Credential(configuration.Database, configuration.User, configuration.Password); _mongoClientSettings.Credentials = new List <MongoCredential>() { credentials }; break; } case MongoCredentialType.PLAIN: { MongoCredential credentials = MongoCredential.CreatePlainCredential(configuration.Database, configuration.User, configuration.Password); _mongoClientSettings.Credentials = new List <MongoCredential>() { credentials }; break; } } } }
public TestSessionMongoFactory(MongoSessionFactoryConfig mongoSettings) : base(mongoSettings) { }
public void With_uri_should_establish_connection_to_database() { //arrange var mongoSettings = new MongoSessionFactoryConfig(ConfigurationManager.AppSettings["mongoUri"]); IMongoSessionFactory mongoSessionFactory = new TestSessionMongoFactory(mongoSettings); //act IMongoSession mongoSession = mongoSessionFactory.OpenSession(); //assert Assert.True(mongoSession.Status().ErrorMessage == null, "Mongo session should have been open."); }