public void Parse_CorrectTableName_Success() { var sql = "SELECT * FROM [HumanResources].[Department];"; var cmd = new SqlCommand(sql, new SqlConnection(ConnectionStringReader.GetSqlClient())); var qp = new QueryEngineFactory().GetParser(cmd); var res = qp.Parse(); Assert.That(res.IsSuccesful, Is.True); }
public void Parse_WrongField_Failed() { var sql = "select [DepartmentID], Name, WrongField from [HumanResources].[Department];"; var cmd = new SqlCommand(sql, new SqlConnection(ConnectionStringReader.GetSqlClient())); var qp = new QueryEngineFactory().GetParser(cmd); var res = qp.Parse(); Assert.That(res.IsSuccesful, Is.False); Assert.That(res.Errors[0], Is.EqualTo("Invalid column name 'WrongField'.")); }
public void Parse_DontExecuteEffectivelyQuery() { var sqlCount = @"SELECT COUNT(*) from [HumanResources].[Department]"; var sql = @"DELETE from [HumanResources].[Department]"; var countBefore = ExecuteCount(sqlCount); if (countBefore == 0) //If nothing was present we cannot assert Assert.Inconclusive(); var cmd = new SqlCommand(sql, new SqlConnection(ConnectionStringReader.GetSqlClient())); var qp = new QueryEngineFactory().GetParser(cmd); var res = qp.Parse(); if (!res.IsSuccesful)//If syntax is incorrect we cannot assert Assert.Inconclusive(); var countAfter = ExecuteCount(sqlCount); Assert.That(countAfter, Is.EqualTo(countBefore)); }
public void Parse_WrongSyntax_Failed() { var sql = "SELECTION [DepartmentID], Name, WrongField1, WrongField2 from [HumanResources].[Department];"; var cmd = new SqlCommand(sql, new SqlConnection(ConnectionStringReader.GetSqlClient())); var qp = new QueryEngineFactory().GetParser(cmd); var res = qp.Parse(); Assert.That(res.IsSuccesful, Is.False); Assert.That(res.Errors[0], Is.EqualTo("Incorrect syntax near 'SELECTION'.")); }
public void Parse_WrongTableName_Failed() { var sql = "SELECT * FROM WrongTableName;"; var cmd = new SqlCommand(sql, new SqlConnection(ConnectionStringReader.GetSqlClient())); var qp = new QueryEngineFactory().GetParser(cmd); var res = qp.Parse(); Assert.That(res.IsSuccesful, Is.False); Assert.That(res.Errors[0], Is.EqualTo("Invalid object name 'WrongTableName'.")); }