Initialize_SettingsContainServerConnectStringForDataProvider_InitializesAccordingToServerConnectString() { var dataProviderInfo = new MySqlInfo(); const string serverConnectStringFoundInSettings = "data source = servername; user id = username; password = pass;"; var settingsMock = new Mock <IDatabaseSettings>(); settingsMock .Setup(ds => ds.ProviderIsAvailable(dataProviderInfo)) .Returns(true); settingsMock .Setup(ds => ds.GetServerConnectStringFor(dataProviderInfo)) .Returns(serverConnectStringFoundInSettings); _container .RegisterInstance(settingsMock.Object); var sut = _container .Resolve <ConfigureDataProviderViewModelMock>(); sut.DataProviderInfoMock = dataProviderInfo; sut.Initialize(); string actualServerConnectString = new DatabaseConnectionInfo(sut.ServerName, sut.UserName, sut.Password).ServerConnectString; Assert.That(actualServerConnectString, Is.EqualTo(serverConnectStringFoundInSettings)); }
public void CommitActionCommandExecute_DatabaseSelected_PublishesInfoMessage() { var mySqlInfo = new MySqlInfo(); var availableProviders = new List <IDataProviderInfo> { mySqlInfo }; _databaseSettingsStub .Setup(ds => ds.GetAvailableProviders()) .Returns(availableProviders); bool infoWasPublished = false; _aggregator.GetEvent <UserMessageEvent>().Subscribe( arg => infoWasPublished = arg.MessageType == UserMessageTypes.Info); var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object) { SelectedItem = mySqlInfo.NiceName }; sut.CommitActionCommand.Execute(null); Assert.That(infoWasPublished, Is.True); }
//private MySqlDataParser m_MySqlDataParser; //public Action<bool> OnConnectMySqlAction = null; //public Action<bool> OnOpenConnectionAction = null; public MySqlAccess(MySqlInfo mySqlInfo, Action <bool> OnConnectMySql = null, Action <bool> OnOpenConnection = null) { m_MySqlInfo = mySqlInfo; m_MySqlHelper = new MySqlHelper(); m_MySqlHelper.Initialize(m_MySqlInfo, OnConnectMySql, OnOpenConnection); //m_MySqlDataParser = new MySqlDataParser(); }
/// <summary> /// 初始化mysql连接 /// </summary> /// <param name="server">服务器地址</param> /// <param name="database">数据库实例</param> /// <param name="uid">用户名称</param> /// <param name="password">密码</param> public void Initialize(MySqlInfo m_MySqlInfo, Action <bool> OnConnectMySql = null, Action <bool> OnOpenConnection = null) { m_ConnectionString = string.Format("server={0};port={1};database={2};user={3};password={4};Allow Zero Datetime=True;", m_MySqlInfo.Server, m_MySqlInfo.Port, m_MySqlInfo.Database, m_MySqlInfo.Id, m_MySqlInfo.Password); //m_ConnectionString = string.Format("Server = {0};port={4};Database = {1}; User ID = {2}; Password = {3};", m_MySqlInfo.Server, m_MySqlInfo.Database, m_MySqlInfo.Id, m_MySqlInfo.Password, m_MySqlInfo.Port ?? "3306"); OnConnectMySqlAction = OnConnectMySql; OnOpenConnectionAction = OnOpenConnection; ConnectMySql(); }
protected void SetupMySqlConnection(string connectionString) { var dataProviderInfo = new MySqlInfo(); Configuration configuration = new Configuration() .SetProperty(Environment.Dialect, dataProviderInfo.NHibernateDialect) .SetProperty(Environment.ConnectionDriver, dataProviderInfo.NHibernateConnectionDriver) .SetProperty(Environment.ConnectionString, connectionString) .SetProperty(Environment.ShowSql, "true") .AddAssembly(ApplicationProperties.PokerHandMappingAssemblyName); _sessionFactory = configuration.BuildSessionFactory(); InitSessionFactoryManager(); }
public static MySqlInfo Create() { string connectionString = null; if (Environment.GetEnvironmentVariable("WEBSITE_MYSQL_ENABLED") == "1") { connectionString = File.ReadAllLines(@"D:\home\data\mysql\MYSQLCONNSTR_localdb.txt")[0]; } else { connectionString = GetMySqlConnectionStringEnv(); } if (String.IsNullOrEmpty(connectionString)) { if (Utils.IsAzure) { throw new InvalidOperationException("Cannot find MySql connection string!"); } connectionString = File.ReadAllLines(@"c:\temp\mysql\MYSQLCONNSTR_localdb.txt")[0]; } var dict = connectionString.Split(';').Select(pair => pair.Split('=')).ToDictionary(arr => arr[0], arr => arr[1]); var info = new MySqlInfo(); var ds = dict["Data Source"].Split(':'); info.Server = ds[0]; info.Port = ds.Length > 1 ? int.Parse(ds[1]) : 3306; info.Database = dict["Database"]; info.UserID = dict["User Id"]; info.Password = dict["Password"]; var dir = new DirectoryInfo(Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\mysql")); if (dir.Exists) { info.BasePath = dir.GetDirectories() .Where(d => File.Exists(Path.Combine(d.FullName, "bin", "mysqldump.exe"))) .Select(d => d.FullName).LastOrDefault(); } if (String.IsNullOrEmpty(info.BasePath)) { info.BasePath = @"c:\mysql\5.7.9.0.win32"; } return(info); }
public void DetermineSelectedItem_TwoAvailableProvidersNoCurrentProviderDefinedInSettings_SelectedItemIsTheNiceNameOfFirstProviderSortedAlphabetically() { var sqLiteInfo = new SqLiteInfo(); var mySqlInfo = new MySqlInfo(); var availableProviders = new List <IDataProviderInfo> { mySqlInfo, sqLiteInfo }; _databaseSettingsStub .Setup(ds => ds.GetAvailableProviders()) .Returns(availableProviders); var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object) .DetermineSelectedItem(); // sqliteInfo NiceName is: "Integrated (SQLite)" Assert.That(sut.SelectedItem, Is.EqualTo(sqLiteInfo.NiceName)); }
public void DetermineSelectedItem_TwoAvailableProvidersCurrentProviderDefinedInSettings_SelectedItemIsTheNiceNameOfCurrentProvider() { var sqLiteInfo = new SqLiteInfo(); var mySqlInfo = new MySqlInfo(); var availableProviders = new List <IDataProviderInfo> { mySqlInfo, sqLiteInfo }; _databaseSettingsStub .Setup(ds => ds.GetAvailableProviders()) .Returns(availableProviders); _databaseSettingsStub .Setup(ds => ds.GetCurrentDataProvider()) .Returns(mySqlInfo); var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object) .DetermineSelectedItem(); Assert.That(sut.SelectedItem, Is.EqualTo(mySqlInfo.NiceName)); }
public void CommitActionCommandExecute_TwoAvailableProvidersSelectedItemIsMySqlNiceName_CallsSettingsSetCurrentDataProviderToWithMySqlDataProvider() { var sqLiteInfo = new SqLiteInfo(); var mySqlInfo = new MySqlInfo(); var availableProviders = new List <IDataProviderInfo> { mySqlInfo, sqLiteInfo }; _databaseSettingsStub .Setup(ds => ds.GetAvailableProviders()) .Returns(availableProviders); var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object) { SelectedItem = mySqlInfo.NiceName }; sut.CommitActionCommand.Execute(null); _databaseSettingsStub.Verify(ds => ds.SetCurrentDataProviderTo(mySqlInfo)); }
public MySql(MySqlInfo info) { this.info = info; }
public MySql(MySqlInfo info) { this.info = info; connectionString = new MySqlConnectionStringBuilder(info.ConnectionString); }