Exemplo n.º 1
0
        public IEnumerable <PictureSummary> GetTagPictureByName(string name, int index, int size)
        {
            DataTable dataTable = DB.Client.ExecuteDataTable(SqlServerClient.PagingBuild(@"
SELECT
		pic.picId,
		pic.picSize,
		pic.picNum,
		pic.picName,
		(SELECT TOP 1 picSrc.picPreview FROM PictureSource picSrc WHERE picSrc.picId = pic.picId) AS picPreview,
		Row_Number() OVER(ORDER BY pic.picId) RowNumber
FROM PictureTag tag
	INNER JOIN PictureTagMap map ON map.tagId = tag.tagId
	LEFT JOIN Picture pic ON pic.picId = map.picId
WHERE tag.tagName LIKE @tag", index, size),
                                                             new SqlParameter("@tag", $"%{name}%"),
                                                             new SqlParameter("@pageSize", size),
                                                             new SqlParameter("@pageIndex", index));

            List <PictureSummary> pictures = new List <PictureSummary>();

            foreach (DataRow item in dataTable.Rows)
            {
                pictures.Add(new PictureSummary(item));
            }

            return(pictures);
        }
 public void Should_get_results()
 {
     var param = new TaskParams("path", "SELECT [dbms_id] FROM [msdb].[dbo].[MSdbms]", ConnectionString, "SqlServer", "name", "statsdudp");
     var log = MockRepository.GenerateMock<ILog>();
     var sqlServerClient = new SqlServerClient(log, param);
     var results = sqlServerClient.Get();
     Assert.That(results.Count, Is.EqualTo(8));
 }
Exemplo n.º 3
0
        public void Create_ConnectionParamsIsNull_ReturnThrow(DbConnectionParams parameter)
        {
            var    client = new SqlServerClient();
            Action action = () => client.Create(parameter).Should().BeFalse();

            action.Should()
            .Throw <System.Exception>()
            .WithMessage("Connection failed: Object reference not set to an instance of an object.");
        }
Exemplo n.º 4
0
        public void ConnectToDB_SqlServer(string connectionName, SqlConnectionStringBuilder sqlConnectionString)
        {
            databaseController.Connections.Should().NotContainKey(connectionName, $"Connection \"{connectionName}\" already exists");
            var connection = new SqlServerClient();

            connection.Create(sqlConnectionString).Should().BeTrue();
            connection.IsConnectAlive().Should().BeTrue();
            databaseController.Connections.TryAdd(connectionName, (connection, TypeOfAccess.Local, sqlConnectionString.ConnectTimeout));
        }
Exemplo n.º 5
0
        public void Create_CorrectConnectionParams_ReturnTrue()
        {
            var mockSqlProvider = new Mock <ISqlProvider>();

            var client = new SqlServerClient();

            mockSqlProvider.Setup(c => c.Create(It.IsAny <string>())).Returns(true);

            client._provider = mockSqlProvider.Object;
            client.Create(dbConnectionParams).Should().BeTrue();
        }
Exemplo n.º 6
0
        public void IsConnectAlive_CorrectConnectionParams_ReturnFalse()
        {
            var mockSqlProvider = new Mock <ISqlProvider>();

            var client = new SqlServerClient();

            mockSqlProvider.Setup(c => c.IsConnectAlive()).Returns(false);

            client._provider = mockSqlProvider.Object;
            client.IsConnectAlive().Should().BeFalse();
        }
Exemplo n.º 7
0
        public void ConnectToDB_SqlServer(string connectionName, DbConnectionParams connectionParams)
        {
            var(isValid, results) = Validate.ValidateModel(connectionParams);
            isValid.Should().BeTrue(Message.CreateMessage(results));

            databaseController.Connections.Should().NotContainKey(connectionName, $"Connection \"{connectionName}\" already exists");
            var connection = new SqlServerClient();

            connection.Create(connectionParams).Should().BeTrue();
            connection.IsConnectAlive().Should().BeTrue();
            databaseController.Connections.TryAdd(connectionName, (connection, connectionParams.Timeout));
        }
Exemplo n.º 8
0
        public void Create_IncorrectConnectionParams_ReturnThrow()
        {
            var client = new SqlServerClient();

            Action action = () => client.Create(dbConnectionParams).Should().BeFalse();

            action.Should()
            .Throw <ConnectSqlException>()
            .Which.Message.Contains($"Connection failed. Connection with parameters: {Database.Helpers.Message.CreateMessage(dbConnectionParams)}");
            action.Should()
            .Throw <ConnectSqlException>()
            .WithMessage("*A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.*");
        }
 public void Should_get_result()
 {
     var name = Guid.NewGuid().ToString();
     var param = new TaskParams("path", "SELECT COUNT(*) as count FROM [master].[dbo].[spt_monitor]", ConnectionString, "SqlServer", name, "Statsdudp");
     var log = MockRepository.GenerateMock<ILog>();
     var sqlServerClient = new SqlServerClient(log, param);
     //Test
     var results = sqlServerClient.Get();
     //Asset
     Assert.That(results.Count, Is.EqualTo(1));
     Assert.That(results[0].Name, Is.EqualTo(name));
     Assert.That(results.Count, Is.EqualTo(1));
 }
Exemplo n.º 10
0
        public async Task ShouldExecuteMethodInConnection()
        {
            SqlServerClient client = new SqlServerClient(_testEnvironment.SqlServerSettings);

            bool methodDidExecute = await client.ExecuteInManagedConnectionAsync(async connection =>
            {
                IEnumerable <dynamic> result
                    = await connection.QueryAsync("SELECT TOP 1 * FROM sys.all_objects");
                return(result.Any());
            });

            Assert.True(methodDidExecute);
        }
 public async Task <int> GetSqlDwActiveQueryCount()
 {
     try
     {
         SqlServerClient client = new SqlServerClient();
         return(await client.GetActiveQueryCount(SqlServerDwConnectionString, sqlDwQueryTableName));
     }
     catch (Exception e)
     {
         Trace.TraceError("HomeController.GetSqlDwActiveQueryCount failed with the following exception: " + e.ToString());
         throw new HttpResponseException(HttpStatusCode.InternalServerError);
     }
 }
 public void Should_get_result_with_date_and_name_set_in_select()
 {
     var name = Guid.NewGuid().ToString();
     var param = new TaskParams("path", "SELECT 234 , DATEADD(day,11,GETDATE()), 'someName'", ConnectionString, "SqlServer", name, "statsdudp");
     var log = MockRepository.GenerateMock<ILog>();
     var sqlServerClient = new SqlServerClient(log, param);
     //Test
     var results = sqlServerClient.Get();
     //Asset
     var futureDate = DateTime.Now.Add(new TimeSpan(11, 0, 0, 0));
     Assert.That(results.Count, Is.EqualTo(1));
     Assert.That(results[0].Name, Is.EqualTo("someName"));
     Assert.That(results[0].Path, Is.EqualTo("path"));
     Assert.That(results[0].Value, Is.EqualTo(234));
 }
Exemplo n.º 13
0
        public void Create_IncorrectConnectionParams_ReturnThrow()
        {
            var mockSqlProvider = new Mock <ISqlProvider>();

            var client = new SqlServerClient();

            mockSqlProvider.Setup(c => c.Create(It.IsAny <string>())).Throws(new ConnectSqlException("test"));
            client._provider = mockSqlProvider.Object;

            Action action = () => client.Create(dbConnectionParams);

            action.Should()
            .Throw <ConnectSqlException>()
            .WithMessage("Connection failed. test");
        }
        public void Should_get_results()
        {
            var metricName = Guid.NewGuid().ToString();
            var serverClientParams = new SqlServerClient
            {
                ConnectionString = e.Encrypt(ConnectionString),
                Path = SimplePath,
                Sql = "SELECT [dbms_id] FROM [msdb].[dbo].[MSdbms]",
                ClientName = "GraphiteTcpClient",
            };

            var sqlServerClient = new SqlServerClient(log, serverClientParams,encryption);
            var results = sqlServerClient.Get();
            Assert.That(results.Count, Is.EqualTo(8));
        }
Exemplo n.º 15
0
        public void ExecuteNonQuery_IncorrectQuery_ReturnNull()
        {
            var query = "INSERT INTO test111 f1 VALUES (10)";

            var mockSqlProvider = new Mock <ISqlProvider>();
            var connect         = new SqlConnection();

            var client = new SqlServerClient();

            mockSqlProvider.Setup(c => c.SetupCommand(It.IsAny <string>(), null)).Returns(connect.CreateCommand);

            client._provider = mockSqlProvider.Object;
            var count = client.ExecuteNonQuery(query);

            count.Should().Be(0);
        }
        public void ExecuteQuery_IncorrectParams_ReturnNull()
        {
            var mockSqlProvider = new Mock <IDbClient>();
            var connectName     = "NewConnect";
            var query           = "SELECT top 100 * test111";

            IDbClient connection = new SqlServerClient();

            mockSqlProvider.Setup(c => c.Create(It.IsAny <DbConnectionParams>())).Returns(true);

            connection = mockSqlProvider.Object;

            this.databaseController.Connections.TryAdd(connectName, (connection, 30));

            step.ExecuteQuery(QueryType.SELECT, connectName, query);
        }
Exemplo n.º 17
0
        public void ExecuteQuery_IncorrectQuery_ReturnNull()
        {
            var query = "select top 1 * test111";

            var mockSqlProvider = new Mock <ISqlProvider>();
            var connect         = new SqlConnection();

            var client = new SqlServerClient();

            mockSqlProvider.Setup(c => c.SetupCommand(It.IsAny <string>(), null)).Returns(connect.CreateCommand);

            client._provider      = mockSqlProvider.Object;
            var(outResult, count) = client.ExecuteQuery(query);

            count.Should().Be(0);
        }
Exemplo n.º 18
0
        public static void Before(VariableController variableController, DatabaseController databaseController)
        {
            var connectionsStringBuilder = new SqlConnectionStringBuilder
            {
                DataSource     = variableController.GetVariableValueText("SOURCE"),
                InitialCatalog = variableController.GetVariableValueText("DATABASE"),
                UserID         = variableController.GetVariableValueText("LOGIN"),
                Password       = variableController.GetVariableValueText("PASSWORD"),
                ConnectTimeout = 60
            };

            var connection = new SqlServerClient();

            connection.Create(connectionsStringBuilder);
            connection.IsConnectAlive();
            databaseController.Connections.TryAdd("QA", (connection, typeOfAccess: Molder.Infrastructures.TypeOfAccess.Global, connectionsStringBuilder.ConnectTimeout));
        }
Exemplo n.º 19
0
        public void CreateMessage_CorrectCommand_ReturnString()
        {
            var query           = "select * from test111";
            var mockSqlProvider = new Mock <ISqlProvider>();
            var connect         = new SqlConnection();
            var client          = new SqlServerClient();

            mockSqlProvider.Setup(c => c.SetupCommand(It.IsAny <string>(), null)).Returns(connect.CreateCommand);

            client._provider = mockSqlProvider.Object;

            var command = client._provider.SetupCommand(query);

            var result = command.CreateMessage();

            result.Should().NotBeNullOrEmpty();
        }
Exemplo n.º 20
0
        public void ExecuteScalar_CorrectQuery_ReturnObject()
        {
            var query = "select top 1 * from test111";

            var mockSqlProvider = new Mock <ISqlProvider>();

            var client = new SqlServerClient();

            mockSqlProvider
            .Setup(u => u.UsingTransaction(It.IsAny <Action <SqlTransaction> >(), It.IsAny <Action <Exception> >(), null))
            .Callback((Action <SqlTransaction> action, Action <Exception> ex, Action success) => new object());

            client._provider = mockSqlProvider.Object;

            var outResult = client.ExecuteScalar(query);

            outResult.Should().BeNull();
        }
Exemplo n.º 21
0
        public void ExecuteNonQuery_CorrectQuery_ReturnTable()
        {
            var query = "INSERT INTO test111 (f1) VALUES (1)";

            var mockSqlProvider = new Mock <ISqlProvider>();

            var client = new SqlServerClient();

            mockSqlProvider
            .Setup(u => u.UsingTransaction(It.IsAny <Action <SqlTransaction> >(), It.IsAny <Action <Exception> >(), null))
            .Callback((Action <SqlTransaction> action, Action <Exception> ex, Action success) => new DataTable());

            client._provider = mockSqlProvider.Object;

            var count = client.ExecuteNonQuery(query);

            count.Should().Be(0); //TODO (not 0)
        }
Exemplo n.º 22
0
        public void ExecuteQuery_CorrectQuery_ReturnTable()
        {
            var query = "select top 1 * from test111";

            var mockSqlProvider = new Mock <ISqlProvider>();

            var client = new SqlServerClient();

            mockSqlProvider
            .Setup(u => u.UsingTransaction(It.IsAny <Action <SqlTransaction> >(), It.IsAny <Action <Exception> >(), null))
            .Callback((Action <SqlTransaction> action, Action <Exception> ex, Action success) => new DataTable());

            client._provider = mockSqlProvider.Object;

            var(outResult, count) = client.ExecuteQuery(query);

            count.Should().Be(0); //TODO (not 0)
        }
        public void Should_get_result()
        {
            var metricName = Guid.NewGuid().ToString();
            var serverClientParams = new SqlServerClient
                {
                    ConnectionString = e.Encrypt(ConnectionString),
                    Path = SimplePath,
                    Sql = SimpleQuery,
                    ClientName = "GraphiteTcpClient",
                };

            var sqlServerClient = new SqlServerClient(log, serverClientParams, encryption);
            //Test
            var results = sqlServerClient.Get();
            //Asset
            Assert.That(results.Count, Is.EqualTo(1));
            Assert.That(results[0].Path, Is.EqualTo(SimplePath));
            Assert.That(results[0].Value, Is.EqualTo("234"));
        }
        public void Should_get_result_with_date()
        {
            var name = Guid.NewGuid().ToString();
            var param = new TaskParams(
                "path", "SELECT 234 , DATEADD(day,11,GETDATE())", ConnectionString, "SqlServer", name, "statsdudp");

            var log = MockRepository.GenerateMock<ILog>();
            var sqlServerClient = new SqlServerClient(log, param);
            //Test
            var results = sqlServerClient.Get();
            //Asset
            var futureDate = DateTime.Now.Add(new TimeSpan(11, 0, 0, 0));
            Assert.That(results.Count, Is.EqualTo(1));
            Assert.That(results[0].Name, Is.EqualTo(name));
            Assert.That(results[0].Value, Is.EqualTo(234));
            Assert.That(results[0].TimeStamp.Day, Is.EqualTo(futureDate.Day));
            Assert.That(results[0].TimeStamp.Hour, Is.EqualTo(futureDate.Hour));
            Assert.That(results[0].TimeStamp.Minute, Is.EqualTo(futureDate.Minute));
            Assert.That(results[0].TimeStamp.Year, Is.EqualTo(futureDate.Year));
        }
        public void ExecuteQuery_CorrectParams_ReturnNewVariable()
        {
            var mockSqlProvider = new Mock <IDbClient>();
            var varName         = "newVariable";
            var connectName     = "NewConnect";
            var query           = "INSERT INTO test111 (f1) VALUES (1) ";


            IDbClient connection = new SqlServerClient();

            mockSqlProvider.Setup(c => c.Create(It.IsAny <DbConnectionParams>())).Returns(true);

            connection = mockSqlProvider.Object;

            this.databaseController.Connections.TryAdd(connectName, (connection, 30));

            step.ExecuteQuery(QueryType.INSERT, connectName, varName, query);

            this.variableController.Variables.Should().NotBeEmpty();
        }
        public void CreateMessage_CommandIsEmpty_ReturnNull()
        {
            var query           = "select * from test111";
            var mockSqlProvider = new Mock <ISqlProvider>();
            var connect         = new SqlConnection();

            var client = new SqlServerClient();

            mockSqlProvider.Setup(c => c.SetupCommand(It.IsAny <string>(), null)).Returns(connect.CreateCommand);

            client._provider.Value = mockSqlProvider.Object;

            var command = client._provider.Value.SetupCommand(query, null);

            command = null;


            var result = Message.CreateMessage(command);

            result.Should().BeNull();
        }
Exemplo n.º 27
0
        public void ExecuteQuery_CorrectParams_ReturnNewVariable()
        {
            var mockSqlProvider = new Mock <IDbClient>();
            var varName         = "newVariable";
            var connectName     = "NewConnect";
            var query           = "INSERT INTO test111 (f1) VALUES (1) ";


            IDbClient connection = new SqlServerClient();

            mockSqlProvider.Setup(c => c.Create(It.IsAny <SqlConnectionStringBuilder>())).Returns(true);

            connection = mockSqlProvider.Object;

            databaseController.Connections.TryAdd(connectName, (connection, TypeOfAccess.Local, 30));

            step.ExecuteQueryTypeWithVarName(QueryType.INSERT, connectName, varName, new QueryParam {
                Query = query
            });

            variableController.Variables.Should().NotBeEmpty();
        }
        public void ExecuteInsertQueryFromTable_CorrectParams_ReturnThrow()
        {
            var mockSqlProvider = new Mock <IDbClient>();

            var tableName   = "newVariable";
            var connectName = "NewConnect";

            var insertQuery = new List <Dictionary <string, object> >();

            insertQuery.Add(new Dictionary <string, object>());

            IDbClient connection = new SqlServerClient();

            mockSqlProvider.Setup(c => c.Create(It.IsAny <DbConnectionParams>())).Returns(true);
            mockSqlProvider.Setup(c => c.IsConnectAlive()).Returns(true);

            connection = mockSqlProvider.Object;

            this.databaseController.Connections.TryAdd(connectName, (connection, 30));
            Action action = () => step.ExecuteInsertQueryFromTable(tableName, connectName, insertQuery);

            action.Should()
            .Throw <Xunit.Sdk.XunitException>();
        }
Exemplo n.º 29
0
        public IEnumerable <PictureSummary> GetPictureByIntro(string keyword, int index, int size)
        {
            DataTable dataTable = DB.Client.ExecuteDataTable(SqlServerClient.PagingBuild(@"
SELECT 
    pic.picId,
    pic.picSize,
    pic.picNum,
    pic.picName,
    (SELECT TOP 1 picSrc.picPreview FROM PictureSource picSrc WHERE picSrc.picId = pic.picId) AS picPreview,
	Row_Number() OVER(ORDER BY pic.picId) RowNumber
FROM Picture pic WHERE pic.picIntro LIKE @keyword", index, size),
                                                             new SqlParameter("@keyword", $"%{keyword}%"),
                                                             new SqlParameter("@pageSize", size),
                                                             new SqlParameter("@pageIndex", index));

            List <PictureSummary> pictures = new List <PictureSummary>();

            foreach (DataRow item in dataTable.Rows)
            {
                pictures.Add(new PictureSummary(item));
            }

            return(pictures);
        }
Exemplo n.º 30
0
        public IEnumerable <PictureSummary> GetChannelPicture(int id, int index, int size)
        {
            DataTable dataTable = DB.Client.ExecuteDataTable(SqlServerClient.PagingBuild(@"
SELECT 
    pic.picId,
    pic.picSize,
    pic.picNum,
    pic.picName,
    (SELECT TOP 1 picSrc.picPreview FROM PictureSource picSrc WHERE picSrc.picId = pic.picId) AS picPreview,
    Row_Number() OVER(ORDER BY pic.picId) RowNumber
FROM Picture pic WHERE pic.picChannel = @channelId", index, size),
                                                             new SqlParameter("@channelId", id),
                                                             new SqlParameter("@pageSize", size),
                                                             new SqlParameter("@pageIndex", index));

            List <PictureSummary> channels = new List <PictureSummary>();

            foreach (DataRow item in dataTable.Rows)
            {
                channels.Add(new PictureSummary(item));
            }

            return(channels);
        }
Exemplo n.º 31
0
        /// <summary>
        /// Creates a new instance of the <see cref="SqlCigarRepository"/> configured
        /// for testing.
        /// </summary>
        /// <returns></returns>
        protected SqlCigarRepository CreateRepository()
        {
            var client = new SqlServerClient(_testEnvironment.SqlServerSettings);

            return(new SqlCigarRepository(client, new JsonEntitySerializer()));
        }
        public void Should_get_result_with_date()
        {
            var metricName = Guid.NewGuid().ToString();
            var serverClientParams = new SqlServerClient
            {
                ConnectionString = e.Encrypt(ConnectionString),
                Path = SimplePath,
                Sql = SimpleQuery,
                ClientName = "GraphiteTcpClient",
            };

            var sqlServerClient = new SqlServerClient(log, serverClientParams,encryption);
            //Test
            var results = sqlServerClient.Get();
            //Asset
            var futureDate = DateTime.Now.Add(new TimeSpan(11, 0, 0, 0));
            Assert.That(results.Count, Is.EqualTo(1));
            Assert.That(results[0].Path, Is.EqualTo(SimplePath));
            Assert.That(results[0].Value, Is.EqualTo("234"));
            Assert.That(results[0].TimeStamp.Day, Is.EqualTo(futureDate.Day));
            Assert.That(results[0].TimeStamp.Hour, Is.EqualTo(futureDate.Hour));
            Assert.That(results[0].TimeStamp.Minute, Is.EqualTo(futureDate.Minute));
            Assert.That(results[0].TimeStamp.Year, Is.EqualTo(futureDate.Year));
        }
        public void Should_get_result_with_date_and_name_set_in_select()
        {
            var metricName = Guid.NewGuid().ToString();
            var serverClientParams = new SqlServerClient
            {
                ConnectionString = e.Encrypt(ConnectionString),
                Path = SimplePath,
                Sql = "SELECT 234 , DATEADD(day,11,GETDATE()), 'someName'",
                ClientName = "GraphiteTcpClient",
            };

            var sqlServerClient = new SqlServerClient(log, serverClientParams, encryption);
            //Test
            var results = sqlServerClient.Get();
            //Asset
            var futureDate = DateTime.Now.Add(new TimeSpan(11, 0, 0, 0));
            Assert.That(results.Count, Is.EqualTo(1));
            Assert.That(results[0].Name, Is.EqualTo("someName"));
            Assert.That(results[0].Path, Is.EqualTo(SimplePath));
            Assert.That(results[0].Value, Is.EqualTo("234"));
        }