public void Test1() { var arguments = new TDSServerArguments { Log = Console.Out }; var engine = new StaticQueryEngine(arguments); int timeout = Debugger.IsAttached ? 15 : 15; using (var server = TestTdsServer.StartTestServer(engine, 5463, timeout)) { using (SqlConnection connection = new SqlConnection(server.ConnectionString)) { connection.Open(); SqlTransaction transaction = connection.BeginTransaction("Transaction1"); SqlCommand command = connection.CreateCommand(); command.Transaction = transaction; command.CommandText = "insert into Table (Name) VALUES ('Bob')"; command.ExecuteNonQuery(); command.CommandText = "insert into Table (Name) VALUES ('Joe')"; command.ExecuteNonQuery(); transaction.Commit(); } } }
public static TestTdsServer StartServerWithQueryEngine(QueryEngine engine, bool enableFedAuth = false, bool enableLog = false) { TDSServerArguments args = new TDSServerArguments() { Log = enableLog ? Console.Out : null, }; if (enableFedAuth) { args.FedAuthRequiredPreLoginOption = Microsoft.SqlServer.TDS.PreLogin.TdsPreLoginFedAuthRequiredOption.FedAuthRequired; } TestTdsServer server = engine == null ? new TestTdsServer(args) : new TestTdsServer(engine, args); server._endpoint = new TDSServerEndPoint(server) { ServerEndPoint = new IPEndPoint(IPAddress.Any, 0) }; server._endpoint.Start(); int port = server._endpoint.ServerEndPoint.Port; server.connectionStringBuilder = new SqlConnectionStringBuilder() { DataSource = "localhost," + port, ConnectTimeout = 30, Encrypt = false }; server.ConnectionString = server.connectionStringBuilder.ConnectionString; return(server); }
public static TestTdsServer StartServerWithQueryEngine(QueryEngine engine, int port = 0, int timeout = 600, bool enableFedAuth = false, bool enableLog = false, [CallerMemberName] string methodName = "") { TDSServerArguments args = new TDSServerArguments() { Log = enableLog ? Console.Out : null, }; if (enableFedAuth) { args.FedAuthRequiredPreLoginOption = Microsoft.SqlServer.TDS.PreLogin.TdsPreLoginFedAuthRequiredOption.FedAuthRequired; } TestTdsServer server = engine == null ? new TestTdsServer(args) : new TestTdsServer(engine, args); server._endpoint = new TDSServerEndPoint(server) { ServerEndPoint = new IPEndPoint(IPAddress.Any, port) }; server._endpoint.EndpointName = methodName; // The server EventLog should be enabled as it logs the exceptions. server._endpoint.EventLog = enableLog ? Console.Out : TextWriter.Null; server._endpoint.Start(); server.connectionStringBuilder = new SqlConnectionStringBuilder() { DataSource = "localhost," + port, ConnectTimeout = timeout, Encrypt = false }; server.ConnectionString = server.connectionStringBuilder.ConnectionString; return(server); }
public static TestTdsServer StartTestServer(bool enableFedAuth = false) { TDSServerArguments args = new TDSServerArguments() { Log = Console.Out, }; if (enableFedAuth) { args.FedAuthRequiredPreLoginOption = Microsoft.SqlServer.TDS.PreLogin.TdsPreLoginFedAuthRequiredOption.FedAuthRequired; } TestTdsServer server = new TestTdsServer(args); server._endpoint = new TDSServerEndPoint(server) { ServerEndPoint = new IPEndPoint(IPAddress.Any, 12345) }; server._endpoint.Start(); server.connectionStringBuilder = new SqlConnectionStringBuilder() { DataSource = "localhost,12345", ConnectTimeout = 30, Encrypt = false }; server.ConnectionString = server.connectionStringBuilder.ConnectionString; return(server); }
public override Task StartInternalAsync() { var arguments = new TDSServerArguments { Log = Console.Out }; _engine = new StaticQueryEngine(arguments); foreach (var stub in _exestingStubs) { _engine.AddStub(stub); } _engine.Name = Settings.Name; _server = TestTdsServer.StartTestServer(_engine, port: Settings.Port, enableLog: false); return(Task.Run(() => WaitHandle.WaitAll(new WaitHandle[] { Token.WaitHandle }))); }
public TestTdsServer(QueryEngine engine, TDSServerArguments args) : base(args) { this.Engine = engine; }
public TestTdsServer(TDSServerArguments args) : base(args) { }
public StaticQueryEngine(TDSServerArguments arguments) : base(arguments) { _exisitngStubs = new Dictionary <string, List <SqlStub> >(StringComparer.OrdinalIgnoreCase); _missingStubs = new List <SqlStub>(); _executions = new Dictionary <SqlStub, int>(); }