public void ShouldReconfigurePortOnConflict_QuickStart() { // because sometimes a port is taken after it was tested for // viability :/ // Arrange // Act using var db1 = new TempDbMySqlWithDeterministicPort(); using var db2 = new TempDbMySqlWithDeterministicPort(); using var conn1 = db1.OpenConnection(); using var conn2 = db2.OpenConnection(); // Assert Expect(conn1.State) .To.Equal(ConnectionState.Open); Expect(conn2.State) .To.Equal(ConnectionState.Open); Expect(db1.Port) .Not.To.Equal(db2.Port); }
public void ShouldReconfigurePortOnConflict_SlowerStart() { // because sometimes a port is taken after it was tested for // viability :/ // Arrange // Act using var db1 = new TempDbMySqlWithDeterministicPort(); // with a slower start, the conflict may be with an existing // tempdb (or other) mysql instance, so the connect test // will appear to work -- hence the `IsMyInstance` check too // -> so we ensure that we can connect to the first instance using var conn1 = db1.OpenConnection(); using var db2 = new TempDbMySqlWithDeterministicPort(); using var conn2 = db2.OpenConnection(); // Assert Expect(conn1.State) .To.Equal(ConnectionState.Open); Expect(conn2.State) .To.Equal(ConnectionState.Open); Expect(db1.Port) .Not.To.Equal(db2.Port); }