private void BuildInfo(StorageEngine storageEngine, string user, string password, string server, string database) { this.storageEngine = storageEngine; if (!string.IsNullOrEmpty(server) && !string.IsNullOrEmpty(database)) { //string protocol = DBProvider.ProtocolMappings[storageEngine].Item1; //string protocol = DBProvider.GetProtocolMapping(storageEngine).Item1; string protocol = storageEngine.Key; bool userIsSpecified = !string.IsNullOrEmpty(user); bool passIsSpecified = !string.IsNullOrEmpty(password); authenticationType = userIsSpecified ? AuthenticationType.SqlServer : AuthenticationType.Windows; string url = string.Format("{0}://{1}{2}{3}{4}{5}/{6}", protocol, user, passIsSpecified ? ":" : string.Empty, userIsSpecified ? password : string.Empty, userIsSpecified ? "@" : string.Empty, server, database); UrlInfo urlInfo = UrlInfo.Parse(url); this.internalInfo = new global::Xtensive.Core.ConnectionInfo(urlInfo); } else { this.internalInfo = null; } }
protected virtual void TestFixtureSetUp() { var parsedUrl = UrlInfo.Parse(Url); Driver = TestSqlDriver.Create(parsedUrl); Connection = Driver.CreateConnection(); Connection.Open(); }
public static HttpRequestMessage BaseAddress(this HttpRequestMessage req, string baseAddress) { return(req.Pipe(r => { r.RequestUri = r.RequestUri != null ? UrlInfo.Parse(r.RequestUri.ToString()).Append(baseAddress).ToUri() : UrlInfo.Parse(baseAddress).ToUri(); })); }
public static HttpRequestMessage QueryParams <T>(this HttpRequestMessage req, T queryParams) { return(req.Pipe(r => { r.RequestUri = r.RequestUri != null ? UrlInfo.Parse(r.RequestUri.ToString()).AppendQueryParameters(queryParams).ToUri() : new UrlInfo().AppendQueryParameters(queryParams).ToUri(); })); }
public static HttpRequestMessage Path(this HttpRequestMessage req, string path) { return(req.Pipe(r => { r.RequestUri = r.RequestUri != null ? UrlInfo.Parse(r.RequestUri.ToString()).Append(path).ToUri() : UrlInfo.Parse(path).ToUri(); })); }
public void OverwrittenConnectionTest() { var domainConfig = DomainConfigurationFactory.Create(); domainConfig.Types.Register(typeof(TestEntity)); domainConfig.DefaultSchema = "dbo"; domainConfig.UpgradeMode = DomainUpgradeMode.Recreate; var domainConnectionUrlString = domainConfig.ConnectionInfo.ConnectionUrl.ToString(); var parametersPosition = domainConnectionUrlString.IndexOf('?'); var nodeConfig = new NodeConfiguration("Additional"); nodeConfig.UpgradeMode = DomainUpgradeMode.Recreate; nodeConfig.ConnectionInfo = new ConnectionInfo(UrlInfo.Parse(domainConnectionUrlString.Substring(0, parametersPosition))); nodeConfig.SchemaMapping.Add("dbo", "Model1"); void commandValidator(object sender, DbCommandEventArgs args) { var session = ((SessionEventAccessor)sender).Session; if (session.StorageNodeId == WellKnown.DefaultNodeId) { Assert.That(args.Command.CommandText.Contains("[dbo].[ConnectionOverrideTest.TestEntity]"), Is.True); } else { Assert.That(args.Command.CommandText.Contains("[Model1].[ConnectionOverrideTest.TestEntity]"), Is.True); } } using (var domain = Domain.Build(domainConfig)) { using (var session = domain.OpenSession()) using (var tx = session.OpenTransaction()) { var connection = ((SqlSessionHandler)session.Handler).Connection; Assert.That(connection.ConnectionInfo, Is.EqualTo(domainConfig.ConnectionInfo)); _ = new TestEntity(session); session.Events.DbCommandExecuted += commandValidator; session.SaveChanges(); session.Events.DbCommandExecuted -= commandValidator; } _ = domain.StorageNodeManager.AddNode(nodeConfig); var selectedNode = domain.StorageNodeManager.GetNode(nodeConfig.NodeId); using (var session = selectedNode.OpenSession()) using (var tx = session.OpenTransaction()) { var connection = ((SqlSessionHandler)session.Handler).Connection; Assert.That(connection.ConnectionInfo, Is.Not.EqualTo(domainConfig.ConnectionInfo)); _ = new TestEntity(session); session.Events.DbCommandExecuted += commandValidator; session.SaveChanges(); session.Events.DbCommandExecuted -= commandValidator; } } }
public void CombinedTest() { UrlInfo a1 = UrlInfo.Parse("tcp://*****:*****@someHost:1000/someUrl/someUrl?someParameter=someValue&someParameter2=someValue2"); UrlInfo a2 = UrlInfo.Parse("tcp://*****:*****@someHost:1000/someUrl/someUrl?someParameter=someValue&someParameter2=someValue2"); UrlInfo aX = UrlInfo.Parse("tcp://*****:*****@someHost:1000/someUrl/someUrl?someParameter2=someValue2&someParameter=someValue"); UrlInfo b = UrlInfo.Parse("tcp://*****:*****@someHost:1000/someUrl/someUrl"); Assert.IsTrue(a1.GetHashCode() == a2.GetHashCode()); Assert.IsTrue(a1.GetHashCode() != aX.GetHashCode()); Assert.IsTrue(a1.GetHashCode() != b.GetHashCode()); Assert.IsTrue(a1.Equals(a2)); Assert.IsFalse(a1.Equals(aX)); Assert.IsFalse(a1.Equals(b)); }
public void ConnectionUrlTest() { var url = UrlInfo.Parse("sqlserver://appserver/AdventureWorks?Connection Timeout=5"); Assert.AreEqual(url.Protocol, "sqlserver"); Assert.AreEqual(url.Host, "appserver"); Assert.AreEqual(url.Resource, "AdventureWorks"); url = UrlInfo.Parse("sqlserver://localhost/database"); Assert.AreEqual("database", url.GetDatabase()); Assert.AreEqual("default schema", url.GetSchema("default schema")); url = UrlInfo.Parse("sqlserver://localhost/database/"); Assert.AreEqual("database", url.GetDatabase()); Assert.AreEqual("default schema", url.GetSchema("default schema")); url = UrlInfo.Parse("sqlserver://localhost/database/schema"); Assert.AreEqual("database", url.GetDatabase()); Assert.AreEqual("schema", url.GetSchema(string.Empty)); url = UrlInfo.Parse("sqlserver://localhost/database/schema/"); Assert.AreEqual("database", url.GetDatabase()); Assert.AreEqual("schema", url.GetSchema(string.Empty)); }
public void Should_append_base_path_to_relative_url() { var url = UrlInfo.Parse("users").Append("http://www.vg.no").ToString(); url.Should().Be("http://www.vg.no/users"); }
public void Should_append_path_to_relative_URI_while_removing_leading_and_trailing_slashes() { UrlInfo.Parse("/users").Append("kv").Append("foo").Append("bar/") .AppendQueryParameters(new { foobar = 42 }) .ToString().Should().Be("users/kv/foo/bar?foobar=42"); }
public void Should_append_path_to_relative_URI() { UrlInfo.Parse("users").Append("kv").Append("foo").Append("bar") .AppendQueryParameters(new { foobar = 42 }) .ToString().Should().Be("users/kv/foo/bar?foobar=42"); }
public void Should_append_path_to_URI() { UrlInfo.Parse("https://consul.io/v1").Append("kv").Append("foo").Append("bar") .AppendQueryParameters(new { foobar = 42 }) .ToString().Should().Be("https://consul.io/v1/kv/foo/bar?foobar=42"); }
public void Should_append_path_to_URI() { UrlInfo.Parse("https://consul.io/v1").Append("kv").Append("foo").Append("bar") .ToString().Should().Be("https://consul.io/v1/kv/foo/bar"); }