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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
    //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();
    }
Exemplo n.º 4
0
    /// <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();
    }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
            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);
            }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
 public MySql(MySqlInfo info)
 {
     this.info = info;
 }
Exemplo n.º 11
0
 public MySql(MySqlInfo info)
 {
     this.info        = info;
     connectionString = new MySqlConnectionStringBuilder(info.ConnectionString);
 }