public void CanGetConnectionStringByName() { using (var store = GetDocumentStore()) { var ravenConnectionStrings = new List <RavenConnectionString>(); var sqlConnectionStrings = new List <SqlConnectionString>(); var ravenConnectionStr = new RavenConnectionString() { Name = "RavenConnectionString", TopologyDiscoveryUrls = new[] { "http://127.0.0.1:8080" }, Database = "Northwind", }; var sqlConnectionStr = new SqlConnectionString { Name = "SqlConnectionString", ConnectionString = SqlEtlTests.GetConnectionString(store) }; ravenConnectionStrings.Add(ravenConnectionStr); sqlConnectionStrings.Add(sqlConnectionStr); store.Maintenance.Server.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionStr, store.Database)); store.Maintenance.Server.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionStr, store.Database)); var result = store.Maintenance.Server.Send(new GetConnectionStringsOperation(store.Database, connectionStringName: sqlConnectionStr.Name, type: sqlConnectionStr.Type)); Assert.True(result.SqlConnectionStrings.Count > 0); Assert.True(result.RavenConnectionStrings.Count == 0); } }
public void CanAddAndRemoveConnectionStrings() { using (var store = GetDocumentStore()) { var ravenConnectionString = new RavenConnectionString() { Name = "RavenConnectionString", TopologyDiscoveryUrls = new[] { "http://localhost:8080" }, Database = "Northwind", }; var result0 = store.Maintenance.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionString)); Assert.NotNull(result0.RaftCommandIndex); var sqlConnectionString = new SqlConnectionString { Name = "SqlConnectionString", ConnectionString = SqlEtlTests.GetConnectionString(store), }; var result1 = store.Maintenance.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionString)); Assert.NotNull(result1.RaftCommandIndex); DatabaseRecord record; using (Server.ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { record = Server.ServerStore.Cluster.ReadDatabase(context, store.Database); } Assert.True(record.RavenConnectionStrings.ContainsKey("RavenConnectionString")); Assert.Equal(ravenConnectionString.Name, record.RavenConnectionStrings["RavenConnectionString"].Name); Assert.Equal(ravenConnectionString.TopologyDiscoveryUrls, record.RavenConnectionStrings["RavenConnectionString"].TopologyDiscoveryUrls); Assert.Equal(ravenConnectionString.Database, record.RavenConnectionStrings["RavenConnectionString"].Database); Assert.True(record.SqlConnectionStrings.ContainsKey("SqlConnectionString")); Assert.Equal(sqlConnectionString.Name, record.SqlConnectionStrings["SqlConnectionString"].Name); Assert.Equal(sqlConnectionString.ConnectionString, record.SqlConnectionStrings["SqlConnectionString"].ConnectionString); var result3 = store.Maintenance.Send(new RemoveConnectionStringOperation <RavenConnectionString>(ravenConnectionString)); Assert.NotNull(result3.RaftCommandIndex); var result4 = store.Maintenance.Send(new RemoveConnectionStringOperation <SqlConnectionString>(sqlConnectionString)); Assert.NotNull(result4.RaftCommandIndex); using (Server.ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { record = Server.ServerStore.Cluster.ReadDatabase(context, store.Database); } Assert.False(record.RavenConnectionStrings.ContainsKey("RavenConnectionString")); Assert.False(record.SqlConnectionStrings.ContainsKey("SqlConnectionString")); } }
public void CanUpdateConnectionStrings() { using (var store = GetDocumentStore()) { var ravenConnectionString = new RavenConnectionString() { Name = "RavenConnectionString", TopologyDiscoveryUrls = new[] { "http://127.0.0.1:8080" }, Database = "Northwind", }; var result1 = store.Maintenance.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionString)); Assert.NotNull(result1.RaftCommandIndex); var sqlConnectionString = new SqlConnectionString { Name = "SqlConnectionString", ConnectionString = SqlEtlTests.GetConnectionString(store), }; var result2 = store.Maintenance.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionString)); Assert.NotNull(result2.RaftCommandIndex); //update url ravenConnectionString.TopologyDiscoveryUrls = new[] { "http://127.0.0.1:8081" }; var result3 = store.Maintenance.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionString)); Assert.NotNull(result3.RaftCommandIndex); //update name : need to remove the old entry var result4 = store.Maintenance.Send(new RemoveConnectionStringOperation <SqlConnectionString>(sqlConnectionString)); Assert.NotNull(result4.RaftCommandIndex); sqlConnectionString.Name = "New-Name"; var result5 = store.Maintenance.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionString)); Assert.NotNull(result5.RaftCommandIndex); DatabaseRecord record; using (Server.ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { record = Server.ServerStore.Cluster.ReadDatabase(context, store.Database); } Assert.True(record.RavenConnectionStrings.ContainsKey("RavenConnectionString")); Assert.Equal("http://127.0.0.1:8081", record.RavenConnectionStrings["RavenConnectionString"].TopologyDiscoveryUrls.First()); Assert.False(record.SqlConnectionStrings.ContainsKey("SqlConnectionString")); Assert.True(record.SqlConnectionStrings.ContainsKey("New-Name")); Assert.Equal(sqlConnectionString.ConnectionString, record.SqlConnectionStrings["New-Name"].ConnectionString); } }
public void CanAddAndRemoveConnectionStrings() { using (var store = GetDocumentStore()) { var ravenConnectionString = new RavenConnectionString() { Name = "RavenConnectionString", Url = "http://127.0.0.1:8080", Database = "Northwind", }; store.Admin.Server.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionString, store.Database)); var sqlConnectionString = new SqlConnectionString { Name = "SqlConnectionString", ConnectionString = SqlEtlTests.GetConnectionString(store), }; store.Admin.Server.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionString, store.Database)); DatabaseRecord record; using (Server.ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { record = Server.ServerStore.Cluster.ReadDatabase(context, store.Database); } Assert.True(record.RavenConnectionStrings.ContainsKey("RavenConnectionString")); Assert.Equal(ravenConnectionString.Name, record.RavenConnectionStrings["RavenConnectionString"].Name); Assert.Equal(ravenConnectionString.Url, record.RavenConnectionStrings["RavenConnectionString"].Url); Assert.Equal(ravenConnectionString.Database, record.RavenConnectionStrings["RavenConnectionString"].Database); Assert.True(record.SqlConnectionStrings.ContainsKey("SqlConnectionString")); Assert.Equal(sqlConnectionString.Name, record.SqlConnectionStrings["SqlConnectionString"].Name); Assert.Equal(sqlConnectionString.ConnectionString, record.SqlConnectionStrings["SqlConnectionString"].ConnectionString); store.Admin.Server.Send(new RemoveConnectionStringOperation <RavenConnectionString>(ravenConnectionString, store.Database)); store.Admin.Server.Send(new RemoveConnectionStringOperation <SqlConnectionString>(sqlConnectionString, store.Database)); using (Server.ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { record = Server.ServerStore.Cluster.ReadDatabase(context, store.Database); } Assert.False(record.RavenConnectionStrings.ContainsKey("RavenConnectionString")); Assert.False(record.SqlConnectionStrings.ContainsKey("SqlConnectionString")); } }
public void CanGetAllConnectionStrings() { using (var store = GetDocumentStore()) { var ravenConnectionStrings = new List <RavenConnectionString>(); var sqlConnectionStrings = new List <SqlConnectionString>(); for (var i = 0; i < 5; i++) { var ravenConnectionStr = new RavenConnectionString() { Name = $"RavenConnectionString{i}", TopologyDiscoveryUrls = new[] { $"http://127.0.0.1:808{i}" }, Database = "Northwind", }; var sqlConnectionStr = new SqlConnectionString { Name = $"SqlConnectionString{i}", ConnectionString = SqlEtlTests.GetConnectionString(store) }; ravenConnectionStrings.Add(ravenConnectionStr); sqlConnectionStrings.Add(sqlConnectionStr); var result1 = store.Maintenance.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionStr)); Assert.NotNull(result1.RaftCommandIndex); var result2 = store.Maintenance.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionStr)); Assert.NotNull(result2.RaftCommandIndex); } var result = store.Maintenance.Send(new GetConnectionStringsOperation()); Assert.NotNull(result.SqlConnectionStrings); Assert.NotNull(result.RavenConnectionStrings); for (var i = 0; i < 5; i++) { result.SqlConnectionStrings.TryGetValue($"SqlConnectionString{i}", out var sql); Assert.Equal(sql?.ConnectionString, sqlConnectionStrings[i].ConnectionString); result.RavenConnectionStrings.TryGetValue($"RavenConnectionString{i}", out var raven); Assert.Equal(raven?.TopologyDiscoveryUrls, ravenConnectionStrings[i].TopologyDiscoveryUrls); Assert.Equal(raven?.Database, ravenConnectionStrings[i].Database); } } }
public void CanGetAllConnectionStrings() { using (var store = GetDocumentStore()) { var ravenConnectionStrings = new List <RavenConnectionString>(); var sqlConnectionStrings = new List <SqlConnectionString>(); for (var i = 0; i < 5; i++) { var ravenConnectionStr = new RavenConnectionString() { Name = $"RavenConnectionString{i}", Url = $"http://127.0.0.1:808{i}", Database = "Northwind", }; var sqlConnectionStr = new SqlConnectionString { Name = $"SqlConnectionString{i}", ConnectionString = SqlEtlTests.GetConnectionString(store) }; ravenConnectionStrings.Add(ravenConnectionStr); sqlConnectionStrings.Add(sqlConnectionStr); store.Admin.Server.Send(new PutConnectionStringOperation <RavenConnectionString>(ravenConnectionStr, store.Database)); store.Admin.Server.Send(new PutConnectionStringOperation <SqlConnectionString>(sqlConnectionStr, store.Database)); } var result = store.Admin.Server.Send(new GetConnectionStringsOperation(store.Database)); Assert.NotNull(result.SqlConnectionStrings); Assert.NotNull(result.RavenConnectionStrings); for (var i = 0; i < 5; i++) { result.SqlConnectionStrings.TryGetValue($"SqlConnectionString{i}", out var sql); Assert.Equal(sql?.ConnectionString, sqlConnectionStrings[i].ConnectionString); result.RavenConnectionStrings.TryGetValue($"RavenConnectionString{i}", out var raven); Assert.Equal(raven?.Url, ravenConnectionStrings[i].Url); Assert.Equal(raven?.Database, ravenConnectionStrings[i].Database); } } }