Пример #1
0
        public void testFunction(bool ispass)
        {
            if (ispass)
            {
                Message m1 = new Message();
                m1.Msg = "AuthManager Testcase successfully run";
                m1.TestID = testCounter;
                m1.Passed = true;
                string m_string = m1.ToString();
                m_Msg.Add(m_string);
                testCounter++;
            }
            else
            {
                Message m1 = new Message();
                m1.Msg = "AuthManager Testcase is failed to pass";
                m1.TestID = testCounter;
                m1.Passed = false;
                string m_string = m1.ToString();
                m_Msg.Add(m_string);
                testCounter++;
            }

        }
Пример #2
0
    // test case for no table name in the query.. handling the exception
    private bool Case22()
    {
      QParser qParser = new QParser();
      try
      {
        string m_DeleteTab = "DELETE TABLE;";
        Statement statementObject = qParser.ValidateQuery(m_DeleteTab);
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for missing table name in the DELETE TABLE query";
        message.TestID = 22;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #3
0
    private bool Case15()
    {
      QParser qParser = new QParser();
      try
      {
        string m_DeleteDb = "DELETE DB databasename1;";
        if (!m_DeleteDb.Contains(";"))
          return false;
        Statement statementObject = qParser.ValidateQuery(m_DeleteDb);
        if (statementObject.GetStatementType() != StatementType.DELETE_DB)
          return false;
        DeleteDB dbObj = (DeleteDB)statementObject;
        if (dbObj.GetDatabaseName() != "databasename1")
          return false;
        Message message = new Message();
        message.Msg = "DELETE DB query was executed successfully";
        message.TestID = 15;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }
      catch (Exception ex)
      {
        ex.ToString();
        return false;
      }

    }
Пример #4
0
    //checking if there are extra spaces between the strings in the query
    private bool Case13()
    {
      QParser qParser = new QParser();
      try
      {
        string m_SelectDb = "SELECT  DB databasename1;";
        Statement statementObject = qParser.ValidateQuery(m_SelectDb);
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for additional spaces between the keywords SELECT and DB in SELECT DB query"; ;
        message.TestID = 13;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #5
0
    // checking if there is a space between tablename and open parenthesis
    // according to the sql given there shouldn be any.. so throwing error.
    private bool Case8()
    {
      QParser qParser = new QParser();
      try
      {
        Statement statementObject = qParser.ValidateQuery("CREATE  TABLE table1 (PRIMARY KEY key1 VARCHAR(255));");
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for extra space betwwen the kewords CREATE and TABLE in CREATE TABLE query";
        message.TestID = 8;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #6
0
    private bool Case5()
    {
      QParser qParser = new QParser();
      try
      {
        Statement statementObject = qParser.ValidateQuery("CREATE TABLE table1(PRIMARY KEY key1 VARCHAR(255));");
        if (statementObject.GetStatementType() != StatementType.CREATE_TABLE)
          return false;
        CreateTable tabObj = (CreateTable)statementObject;
        List<TableColumn> columnList = new List<TableColumn>();
        if (tabObj.GetTableName() != "table1")
          return false;
        columnList = tabObj.GetList();
        foreach (TableColumn column in columnList)
        {
          if (column.GetUniqueKey() != "PRIMARY KEY")
            return false;
          if (column.GetColumnName() != "key1")
            return false;
          if (column.GetVarType() != "VARCHAR")
            return false;
          if (column.GetVarRange() != "255")
            return false;
        }

        Message message = new Message();
        message.Msg = "CREATE TABLE query was executed successfully";
        message.TestID = 5;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }
      catch (Exception ex)
      {
        ex.ToString();
        return false;
      }
    }
Пример #7
0
 private bool Case1()
 {
   QParser qParser = new QParser();
   Statement statementObject = qParser.ValidateQuery("create db dbname;");
   if (statementObject.GetStatementType() != StatementType.CREATE_DB)
     return false;
   if (((CreateDB)statementObject).GetDatabaseName() != "dbname")
     return false;
   Message message = new Message();
   message.Msg = "CREATE DB query was executed sucesfully ";
   message.TestID = 1;
   message.Passed = true;
   string m_Message = message.ToString();
   messageList.Add(m_Message);
   return true;
 }
Пример #8
0
    private bool Case60()
    {
      QParser qParser = new QParser();
      try
      {
        Statement statementObject = qParser.ValidateQuery("RENAME COLUMN col1 TO col2 IN TABLE tab1;");
        RenameColumn obj = (RenameColumn)statementObject;
        if (obj.GetStatementType() != StatementType.RENAME_COLUMN)
          return false;
        if (obj.GetTableName() != "tab1")
          return false;
        if (obj.GetOldColumnName() != "col1")
          return false;
        if(obj.GetNewColumnName() != "col2")
        return false;
        Message message = new Message();
        message.Msg = "RENAME COLUMN Query was executed succesfully";
        message.TestID = 60;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }
      catch (Exception ex)
      {
        ex.ToString();
        return false;
      }

    }
Пример #9
0
    // there is a possibility that the user can input TAB instead
    // of TABLE as .. So checking for error handling
    private bool Case41()
    {
      QParser qParser = new QParser();
      try
      {
        string m_ModifyTabA = "ADD COLUMN PRIMARY KEY columnname1 CHAR IN TAB tablename1;";
        Statement statementObject = qParser.ValidateQuery(m_ModifyTabA);
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for improper syntax in the ADD COLUMN query";
        message.TestID = 41;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #10
0
 private bool Case36()
 {
   QParser qParser = new QParser();
   try
   {
     string m_ModifyTabA = "ADD COLUMN PRIMARY KEY key1 INT IN TABLE tablename1;";
     if (!m_ModifyTabA.Contains(";"))
       return false;
     Statement statementObject = qParser.ValidateQuery(m_ModifyTabA);
     if (statementObject.GetStatementType() != StatementType.MOD_TABLE)
       return false;
     ModifyTab tabObj = (ModifyTab)statementObject;
     if (tabObj.GetAddColumnData().GetTableName() != "tablename1")
       return false;
     if (tabObj.GetAddColumnData().GetColumnData().GetUniqueKey() != "PRIMARY KEY")
       return false;
     if (tabObj.GetTyp() != "ADD")
       return false;
     if (tabObj.GetAddColumnData().GetColumnData().GetColumnName() != "key1")
     return false;
     if (tabObj.GetAddColumnData().GetColumnData().GetVarType() != "INT")
       return false;
     Message message = new Message();
     message.Msg = "ADD COLUMN query was executed successfully";
     message.TestID = 36;
     message.Passed = true;
     string m_Message = message.ToString();
     messageList.Add(m_Message);
     return true;
   }
   catch (Exception ex)
   {
     ex.ToString();
     return false;
   }
 }
Пример #11
0
    // there is a possibility that the user can input TAB instead
    // of TABLE as .. So checking for error handling
    private bool Case35()
    {
      QParser qParser = new QParser();
      try
      {
        string m_ModifyTabD = "DELETE COLUMN columnname1 IN TAB tablename1;";
        Statement statementObject = qParser.ValidateQuery(m_ModifyTabD);
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for improper syntax in the DELETE COLUMN query";
        message.TestID = 35;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #12
0
    private bool Case30()
    {
      QParser qParser = new QParser();
      try
      {
        string m_ModifyTabD = "DELETE COLUMN columnname1 IN TABLE tablename1;";
        if (!m_ModifyTabD.Contains(";"))
          return false;
        Statement statementObject = qParser.ValidateQuery(m_ModifyTabD);
        if (statementObject.GetStatementType() != StatementType.MOD_TABLE)
          return false;
        ModifyTab tabObj = (ModifyTab)statementObject;
        if (tabObj.GetDelcolumnData().GetTableName() != "tablename1")
          return false;
        if (tabObj.GetDelcolumnData().GetColumnData() != "columnname1")
          return false;
        if (tabObj.GetTyp() != "DELETE")
          return false;
        Message message = new Message();
        message.Msg = "DELETE COLUMN query was executed successfully";
        message.TestID = 30;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }
      catch (Exception ex)
      {
        ex.ToString();
        return false;
      }

    }
Пример #13
0
 // there is a possibility that the user can input TAB instead
 private bool Case29()
 {
   QParser qParser = new QParser();
   try
   {
     string m_EmptyTab = "EMPTY TAB tablename1;";
     Statement statementObject = qParser.ValidateQuery(m_EmptyTab);
     return false;
   }
   catch (Exception ex)
   {
     ex.ToString();
     Message message = new Message();
     message.Msg = "Exception was thrown for improper syntax in the EMPTY TABLE query";
     message.TestID = 29;
     message.Passed = true;
     string m_Message = message.ToString();
     messageList.Add(m_Message);
     return true;
   }
 }
Пример #14
0
    private bool Case25()
    {
      QParser qParser = new QParser();
      try
      {
        string m_EmptyTab = "EMPTY TABLE tablename1;";
        if (!m_EmptyTab.Contains(";"))
          return false;
        Statement statementObject = qParser.ValidateQuery(m_EmptyTab);
        if (statementObject.GetStatementType() != StatementType.EMPTY_TABLE)
          return false;
        EmptyTable tabObj = (EmptyTable)statementObject;
        if (tabObj.GetTableName() != "tablename1")
          return false;
        Message message = new Message();
        message.Msg = "EMPTY TABLE query was executed sucessfully";
        message.TestID = 25;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }
      catch (Exception ex)
      {
        ex.ToString();
        return false;
      }

    }
Пример #15
0
    //checking if there are extra spaces between the strings in the query
    private bool Case23()
    {
      QParser qParser = new QParser();
      try
      {
        string m_DeleteTab = "DELETE  TABLE tablename1;";
        Statement statementObject = qParser.ValidateQuery(m_DeleteTab);
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for additional spaces between Keywords DELETE and TABLE in the DELETE TABLE query";
        message.TestID = 23;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #16
0
    /*
     * Test case for select query with certain count
     */
    private bool Case58()
    {
      QParser qParser = new QParser();
      Statement statementObject = qParser.ValidateQuery("select count(*) from tablename where col1=47 and col2 = testcol and col3=44.5 order by col1 asc, col2 dsc limit 10 , 20;");

      if (statementObject.GetStatementType() != StatementType.SELECT_ROW)
        return false;

      if (((SelectRows)statementObject).GetTableName() != "tablename")
        return false;

      if (((SelectRows)statementObject).GetLimitRangeFlag() != false)
      {
        if (((SelectRows)statementObject).GetLimitRange().GetStartIndex() != 10)
          return false;
        if (((SelectRows)statementObject).GetLimitRange().GetCount() != 20)
          return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetOrderByFlag() != false)
      {
        List<OrderByEntry> orderByList = ((SelectRows)statementObject).GetOrderByList().GetSubOrderBylist().GetOrderByEntryList();

        if (orderByList[0].GetColumnName() != "col1")
          return false;
        if (orderByList[0].GetOrderByType() != "ASC")
          return false;

        if (orderByList[1].GetColumnName() != "col2")
          return false;
        if (orderByList[1].GetOrderByType() != "DSC")
          return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetWhereListFlag() != false)
      {
        List<WhereEntry> whereEntryList = ((SelectRows)statementObject).GetWhereList().GetSubWhereList().GetWhereEntryList();
        if (whereEntryList[0].GetColumnName() != "col1")
          return false;
        if (whereEntryList[0].GetColumnValue().GetColumnValueType() == ColValueType.INTEGER)
          if (whereEntryList[0].GetColumnValue().GetIntColumnValue() != 47)
            return false;
        if (whereEntryList[1].GetColumnName() != "col2")
          return false;
        if (whereEntryList[1].GetColumnValue().GetColumnValueType() == ColValueType.STRING)
          if (whereEntryList[1].GetColumnValue().GetStringColumnValue() != "testcol")
            return false;

        if (whereEntryList[2].GetColumnName() != "col3")
          return false;
        if (whereEntryList[2].GetColumnValue().GetColumnValueType() == ColValueType.DOUBLE)
          if (whereEntryList[2].GetColumnValue().GetDoubleColumnValue() != 44.5)
            return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetSelectRowTableColList().GetSelectRowColumnType() == SelectRowColumnType.COUNT_ROWS)
      {
        if (((SelectRows)statementObject).GetSelectRowTableColList().GetCountRows().GetCountAllRowsFlag() != true)
          return false;
      }
      else
        return false;
      Message message = new Message();
      message.Msg = "SELECT query with COUNT was executed successfully";
      message.TestID = 58;
      message.Passed = true;
      string m_Message = message.ToString();
      messageList.Add(m_Message);
      return true;
    }
Пример #17
0
    private bool Case59()
    {
      QParser qParser = new QParser();
      try
      {
        Statement statementObject = qParser.ValidateQuery("RENAME TABLE tab1 TO tab2;");
        RenameTable obj = (RenameTable)statementObject;
        if(obj.GetStatementType() != StatementType.RENAME_TABLE)
        return false;
        if (obj.GetOldTableName() != "tab1")
          return false;
        if (obj.GetNewTableName() != "tab2")
          return false;
        Message message = new Message();
        message.Msg = "RENAME TABLE Query was executed succesfully";
        message.TestID = 59;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }
      catch (Exception ex)
      {
        ex.ToString();
        return false;
      }

    }
Пример #18
0
 private bool Case42()
 {
   QParser qParser = new QParser();
   List<string> ColumnList = new List<string>();      
   Statement statementObject = qParser.ValidateQuery("INSERT INTO c.tab1(col1,col2,col3)VALUES(val1,2,2.0);");
   if (statementObject.GetStatementType() != StatementType.INSERT_ROW)
   return false;
   InsertRow insertObj = (InsertRow)statementObject;
   if(insertObj.GetTableName() !="c.tab1")
    return false;
   ColumnList = insertObj.GetList();
   if(ColumnList[0]!="col1" && ColumnList[1] !="col2" && ColumnList[2] !="col3")
   return false;
   List<ColumnValue> lis = new List<ColumnValue>();
   lis = insertObj.GetValueList();   
   if (lis[0].GetStringColumnValue() != "val1" && lis[1].GetIntColumnValue() != 2  && lis[2].GetDoubleColumnValue() != 2.0)
   return false;
   if (lis[0].GetColumnValueType() != ColValueType.STRING && lis[1].GetColumnValueType() != ColValueType.INTEGER && lis[2].GetColumnValueType() != ColValueType.DOUBLE)
     return false;
   Message message = new Message();
   message.Msg = "INSERT Query was executed successfully";
   message.TestID = 42;
   message.Passed = true;
   string m_Message = message.ToString();
   messageList.Add(m_Message);
   return true;
 }
Пример #19
0
    public bool Test()
    {
      if (!Case1())
      {
        Message message = new Message();
        message.Msg = "Failure while processing CREATE DB query";
        message.TestID = 1;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case2())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing database name and semicolon in CREATE DB query";
        message.TestID = 2;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case3())
      {
        Message message = new Message();
        message.Msg = "Exceptiion was not thrown for missing semicolon in CREATE DB query";
        message.TestID = 3;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case4())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing database name in CREATE DB query";
        message.TestID = 4;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case5())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing CREATE TABLE query";
        message.TestID = 5;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case6())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in CREATE TABLE query";
        message.TestID = 6;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case7())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing table name in CREATE TABLE query";
        message.TestID = 7;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case8())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for extra space betwwen the kewords CREATE and TABLE in CREATE TABLE query";
        message.TestID = 8;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case9())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for inputting lowercase and uppercase keywords in tha same CREATE TABLE query";
        message.TestID = 9;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case10())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing SELECT DB query";
        message.TestID = 10;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case11())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the SELECT DB query";
        message.TestID = 11;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case12())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing database name in the SELECT DB query";
        message.TestID = 12;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case13())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for additional spaces between the keywords SELECT and DB in SELECT DB query"; ;
        message.TestID = 13;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case14())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper syntax in the SELECT DB query";
        message.TestID = 14;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case15())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing DELETE DB query";
        message.TestID = 15;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case16())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the DELETE DB query";
        message.TestID = 16;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case17())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing database name in the DELETE DB query";
        message.TestID = 17;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case18())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for additional spaces between keywords DELETE and DB in DELETE DB query";
        message.TestID = 18;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case19())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper syntax in DELETE DB query";
        message.TestID = 19;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case20())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing DELETE TABLE query";
        message.TestID = 20;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case21())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the DELETE TABLE query";
        message.TestID = 21;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case22())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing table name in the DELETE TABLE query";
        message.TestID = 22;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case23())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for additional spaces between Keywords DELETE and TABLE in the DELETE TABLE query";
        message.TestID = 23;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case24())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper syntax in the DELETE TABLE query";
        message.TestID = 24;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case25())
      {
        Message message = new Message();
        message.Msg = "Failure in processing EMPTY TABLE query";
        message.TestID = 25;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case26())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the EMPTY TABLE query";
        message.TestID = 26;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case27())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing table name in the EMPTY TABLE query";
        message.TestID = 27;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case28())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper spacing between Keywords EMPTY and TABLE in the EMPTY TABLE query";
        message.TestID = 28;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case29())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper syntax in the EMPTY TABLE query";
        message.TestID = 29;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case30())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing DELETE COLUMN query";
        message.TestID = 30;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case31())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the DELETE COLUMN query";
        message.TestID = 31;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case32())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing table name in the DELETE COLUMN query";
        message.TestID = 32;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case33())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing column name in the DELETE COLUMN query";
        message.TestID = 33;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case34())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing COLUMN Keyword in the DELETE COLUMN query";
        message.TestID = 34;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case35())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper syntax in the DELETE COLUMN query";
        message.TestID = 35;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case36())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing ADD COLUMN query";
        message.TestID = 36;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case37())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the ADD COLUMN query";
        message.TestID = 37;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case38())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing table name in the ADD COLUMN query";
        message.TestID = 38;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case39())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing column name in the ADD COLUMN query";
        message.TestID = 39;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case40())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing COLUMN Keyword in the ADD COLUMN query";
        message.TestID = 40;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case41())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper syntax in the ADD COLUMN query";
        message.TestID = 41;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case42())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing INSERT Query";
        message.TestID = 42;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case43())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing semicolon in the INSERT query";
        message.TestID = 43;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case44())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing table name in the INSERT query";
        message.TestID = 44;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case45())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing VALUES Keyword in the INSERT query";
        message.TestID = 45;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case46())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for improper spacing between Keywords INSERT and INTO in the INSERT query";
        message.TestID = 46;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case47())
      {
        Message message = new Message();
        message.Msg = "Exception was not thrown for missing comma in between the column names in the INSERT query";
        message.TestID = 47;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case48())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing basic SELECT query";
        message.TestID = 48;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case49())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with WHERE clause";
        message.TestID = 49;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case50())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with ORDER BY clause";
        message.TestID = 50;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case51())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with LIMIT range";
        message.TestID = 51;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case52())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with WHERE and ORDER BY clauses";
        message.TestID = 52;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case53())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with WHERE and LIMIT clauses";
        message.TestID = 53;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case54())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with ORDER BY and LIMIT clauses";
        message.TestID = 54;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case55())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with WHERE, ORDER BY and LIMIT clauses";
        message.TestID = 55;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case56())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query which selects specific columns";
        message.TestID = 56;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case57())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with COUNT";
        message.TestID = 57;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case58())
      {
        Message message = new Message();
        message.Msg = "Failure occurred while processing SELECT query with COUNT";
        message.TestID = 58;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
       if (!Case59())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing RENAME TABLE Query";
        message.TestID = 59;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }
      if (!Case60())
      {
        Message message = new Message();
        message.Msg = "Failure occured while processing RENAME COLUMN Query";
        message.TestID = 60;
        message.Passed = false;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return false;
      }

      return true;
    }
Пример #20
0
 //missing values
 private bool Case45()
 {
   QParser qParser = new QParser();
   try
   {
     Statement statementObject = qParser.ValidateQuery("INSERT INTO c.tab1(col1,col2,col3)(val1,val2,val3);");
     return false;
   }
   catch (Exception ex)
   {
     Message message = new Message();
     message.Msg = "Exception was thrown for missing VALUES Keyword in the INSERT query";
     message.TestID = 45;
     message.Passed = true;
     string m_Message = message.ToString();
     messageList.Add(m_Message);
     ex.ToString();
     return true;
   }
 }
Пример #21
0
 private bool Case4()
 {
   QParser qParser = new QParser();
   try
   {
     Statement statementObject = qParser.ValidateQuery("create db;");
     return false;
   }
   catch (Exception ex)
   {
     ex.ToString();
     Message message = new Message();
     message.Msg = "Exceptiion was thrown for missing database name in CREATE DB query";
     message.TestID = 4;
     message.Passed = true;
     string m_Message = message.ToString();
     messageList.Add(m_Message);
     return true;
   }
 }
Пример #22
0
 //space between INSERT INTO and remaining parts
 private bool Case46()
 {
   QParser qParser = new QParser();
   try
   {
     Statement statementObject = qParser.ValidateQuery("INSERT  INTO c.tab1(col1,col2,col3)VALUES(val1,val2,val3);");
     return false;
   }
   catch (Exception ex)
   {
     ex.ToString();
     Message message = new Message();
     message.Msg = "Exception was thrown for improper spacing between Keywords INSERT and INTO in the INSERT query";
     message.TestID = 46;
     message.Passed = true;
     string m_Message = message.ToString();
     messageList.Add(m_Message);
     return true;
   }
 }
Пример #23
0
    // test case for no table name in the query.. handling the exception
    private bool Case7()
    {
      QParser qParser = new QParser();
      try
      {
        Statement statementObject = qParser.ValidateQuery("CREATE TABLE (PRIMARY KEY key1 VARCHAR(255))");
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for missing table name in CREATE TABLE query";
        message.TestID = 7;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #24
0
 //no comas between the columns
 private bool Case47()
 {
   QParser qParser = new QParser();
   try
   {
     Statement statementObject = qParser.ValidateQuery("INSERT INTO c.tab1(col1 col2 col3)VALUES(val1,val2,val3);");
     return false;
   }
   catch (Exception ex)
   {
     ex.ToString();
     Message message = new Message();
     message.Msg = "Exception was thrown for missing comma in between the column names in the INSERT query";
     message.TestID = 47;
     message.Passed = true;
     string m_Message = message.ToString();
     messageList.Add(m_Message);
     return true;
   }
 }
Пример #25
0
    // Checking lowercase and uppercase in the query inputted(create TABLE)
    private bool Case9()
    {
      QParser qParser = new QParser();
      try
      {
        Statement statementObject = qParser.ValidateQuery("create TABLE table1 (PRIMARY KEY key1 VARCHAR(255))");
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for inputting lowercase and uppercase keywords in tha same CREATE TABLE query";
        message.TestID = 9;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #26
0
    /*
     * Test case for select query with limit range 
     */
    private bool Case51()
    {
      QParser qParser = new QParser();
      Statement statementObject = qParser.ValidateQuery("select * from tablename limit 10 , 20;");

      if (statementObject.GetStatementType() != StatementType.SELECT_ROW)
        return false;

      if (((SelectRows)statementObject).GetSelectRowTableColList().GetSelectRowColumnType() != SelectRowColumnType.ALL_COLUMNS)
        return false;
      
      if (((SelectRows)statementObject).GetTableName() != "tablename")
        return false;

      if (((SelectRows)statementObject).GetOrderByFlag() != false)
        return false;

      if (((SelectRows)statementObject).GetWhereListFlag() != false)
        return false;

      if (((SelectRows)statementObject).GetLimitRangeFlag() != false)
      {
        if (((SelectRows)statementObject).GetLimitRange().GetStartIndex() != 10)
          return false;
        if (((SelectRows)statementObject).GetLimitRange().GetCount() != 20)
          return false;
      }
      else
        return false;
      Message message = new Message();
      message.Msg = "SELECT query with LIMIT range was executed successfully";
      message.TestID = 51;
      message.Passed = true;
      string m_Message = message.ToString();
      messageList.Add(m_Message);
      return true;
    }
Пример #27
0
    // there is a possibility that the user can input DATABASE instead
    // of DB as .. So checking for error handling
    private bool Case14()
    {
      QParser qParser = new QParser();
      try
      {
        string m_SelectDb = "SELECT database databasename1;";
        Statement statementObject = qParser.ValidateQuery(m_SelectDb);
        return false;
      }
      catch (Exception ex)
      {
        ex.ToString();
        Message message = new Message();
        message.Msg = "Exception was thrown for improper syntax in the SELECT DB query";
        message.TestID = 14;
        message.Passed = true;
        string m_Message = message.ToString();
        messageList.Add(m_Message);
        return true;
      }

    }
Пример #28
0
    /*
     * Test case for select query for where clause and limit clause
     */
    private bool Case53()
    {
      QParser qParser = new QParser();
      Statement statementObject = qParser.ValidateQuery("select * from tablename where col1=47 and col2 = testcol and col3=44.5 limit 10 , 20;");

      if (statementObject.GetStatementType() != StatementType.SELECT_ROW)
        return false;

      if (((SelectRows)statementObject).GetTableName() != "tablename")
        return false;

      if (((SelectRows)statementObject).GetLimitRangeFlag() != false)
      {
        if (((SelectRows)statementObject).GetLimitRange().GetStartIndex() != 10)
          return false;
        if (((SelectRows)statementObject).GetLimitRange().GetCount() != 20)
          return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetOrderByFlag() != false)
        return false;

      if (((SelectRows)statementObject).GetWhereListFlag() != false)
      {
        List<WhereEntry> whereEntryList = ((SelectRows)statementObject).GetWhereList().GetSubWhereList().GetWhereEntryList();
        if (whereEntryList[0].GetColumnName() != "col1")
          return false;
        if (whereEntryList[0].GetColumnValue().GetColumnValueType() == ColValueType.INTEGER)
          if (whereEntryList[0].GetColumnValue().GetIntColumnValue() != 47)
            return false;

        if (whereEntryList[1].GetColumnName() != "col2")
          return false;
        if (whereEntryList[1].GetColumnValue().GetColumnValueType() == ColValueType.STRING)
          if (whereEntryList[1].GetColumnValue().GetStringColumnValue() != "testcol")
            return false;

        if (whereEntryList[2].GetColumnName() != "col3")
          return false;
        if (whereEntryList[2].GetColumnValue().GetColumnValueType() == ColValueType.DOUBLE)
          if (whereEntryList[2].GetColumnValue().GetDoubleColumnValue() != 44.5)
            return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetSelectRowTableColList().GetSelectRowColumnType() != SelectRowColumnType.ALL_COLUMNS)
        return false;
      Message message = new Message();
      message.Msg = "SELECT query with WHERE and LIMIT clauses was executed successfully";
      message.TestID = 53;
      message.Passed = true;
      string m_Message = message.ToString();
      messageList.Add(m_Message);

      return true;
    }
Пример #29
0
   public bool Test()
    {
      bool ret = false;
      try
      {       
        TableResponse m_TResponse;
        TableManager m_TManager = new TableManager();


        //CreateDatabaseTest
        Message m_createDatabase = new Message();
        m_TResponse = m_TManager.CreateDatabase("TestDatabase");
        m_createDatabase.Passed = m_TResponse.GetResponse;
        m_createDatabase.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_createDatabase.TestID = 1;
        m_msg.Add(m_createDatabase.ToString());
        
        //Generate columns to be added to table
        Dictionary<string, bool> m_Dict = new Dictionary<string, bool>();
        m_Dict.Add("ID", true);
        m_Dict.Add("Name", false);
        m_Dict.Add("Dept", true);

        //Adding the typenames for the columns
        List<string> m_colTypelist = new List<string>();
        m_colTypelist.Add("int");
        m_colTypelist.Add("float");
        m_colTypelist.Add("varchar(10)");
        
        
        //CreateTable Test
        Message m_createTable = new Message();        
        m_TResponse = m_TManager.CreateTable("TestDatabase", "TestTable", m_Dict, m_colTypelist);
        m_createTable.Passed = m_TResponse.GetResponse;
        m_createTable.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_createTable.TestID = 2;
        m_msg.Add(m_createTable.ToString());


        //create List for the columnnames to add row
        List<string> ListColumnName = new List<string>();
        ListColumnName.Add("ID");
        ListColumnName.Add("Name");
        ListColumnName.Add("Dept");

        //generate arraylist for data to be add row        
        ArrayList AlColVal = new ArrayList();
        AlColVal.Add(11);
        AlColVal.Add(11.1f);
        AlColVal.Add("test");

        //Add Row Test
        m_TResponse = m_TManager.InsertRow("TestDatabase", "TestTable", ListColumnName, AlColVal);
        Message m_InsertRow = new Message();
        m_InsertRow.Passed = m_TResponse.GetResponse;
        m_InsertRow.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_InsertRow.TestID = 3;
        m_msg.Add(m_InsertRow.ToString());


        //AddColumn Test
        m_TResponse = m_TManager.AddColumn("TestDatabase", "TestTable", false, "str", "varchar(8)");
        Message m_AddColumn = new Message();
        m_AddColumn.Passed = m_TResponse.GetResponse;
        m_AddColumn.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_AddColumn.TestID = 4;
        m_msg.Add(m_AddColumn.ToString());
        
        //rename column Test
        m_TResponse = m_TManager.RenameColumn("TestDatabase", "TestTable", "str", "newStr");
        Message m_RenameColumn = new Message();
        m_RenameColumn.Passed = m_TResponse.GetResponse;
        m_RenameColumn.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_RenameColumn.TestID = 5;
        m_msg.Add(m_RenameColumn.ToString());
        

        //renameTable Test
        m_TResponse = m_TManager.RenameTable("TestDatabase", "TestTable", "NewTestTable");
        Message m_RenameTable = new Message();
        m_RenameTable.Passed = m_TResponse.GetResponse;
        m_RenameTable.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_RenameTable.TestID = 6;
        m_msg.Add(m_RenameTable.ToString());


        //Emptytable Test
        m_TResponse = m_TManager.EmptyTable("TestDatabase", "NewTestTable");
        Message m_EmptyTable = new Message();
        m_EmptyTable.Passed = m_TResponse.GetResponse;
        m_EmptyTable.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_EmptyTable.TestID = 7;
        m_msg.Add(m_EmptyTable.ToString());


        //deletetable Test
        m_TResponse = m_TManager.DeleteTable("TestDatabase", "NewTestTable");
        Message m_DeleteTable = new Message();
        m_DeleteTable.Passed = m_TResponse.GetResponse;
        m_DeleteTable.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_DeleteTable.TestID = 8;
        m_msg.Add(m_DeleteTable.ToString());


        //deletedatabase Test
        m_TResponse = m_TManager.DeleteDatabase("TestDatabase");
        Message m_DeleteDatabase = new Message();
        m_DeleteDatabase.Passed = m_TResponse.GetResponse;
        m_DeleteDatabase.Msg = m_TResponse.GetMessage + " for " + m_TResponse.GetId;
        m_DeleteDatabase.TestID = 9;
        m_msg.Add(m_DeleteDatabase.ToString());
        ret = true;

      }
      catch(Exception ex)
      {
        throw ex;
        
      }

      return ret;
  }
Пример #30
0
    /*
     * Test case for order by and limit clause
     */
    private bool Case54()
    {
      QParser qParser = new QParser();
      Statement statementObject = qParser.ValidateQuery("select * from tablename order by col1 asc, col2 dsc limit 10 , 20;");

      if (statementObject.GetStatementType() != StatementType.SELECT_ROW)
        return false;

      if (((SelectRows)statementObject).GetTableName() != "tablename")
        return false;

      if (((SelectRows)statementObject).GetLimitRangeFlag() != false)
      {
        if (((SelectRows)statementObject).GetLimitRange().GetStartIndex() != 10)
          return false;
        if (((SelectRows)statementObject).GetLimitRange().GetCount() != 20)
          return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetOrderByFlag() != false)
      {
        List<OrderByEntry> orderByList = ((SelectRows)statementObject).GetOrderByList().GetSubOrderBylist().GetOrderByEntryList();

        if (orderByList[0].GetColumnName() != "col1")
          return false;
        if (orderByList[0].GetOrderByType() != "ASC")
          return false;

        if (orderByList[1].GetColumnName() != "col2")
          return false;
        if (orderByList[1].GetOrderByType() != "DSC")
          return false;
      }
      else
        return false;

      if (((SelectRows)statementObject).GetWhereListFlag() != false)
        return false;

      if (((SelectRows)statementObject).GetSelectRowTableColList().GetSelectRowColumnType() != SelectRowColumnType.ALL_COLUMNS)
        return false;
      Message message = new Message();
      message.Msg = "SELECT query with ORDER BY and LIMIT clauses was executed successfully";
      message.TestID = 54;
      message.Passed = true;
      string m_Message = message.ToString();
      messageList.Add(m_Message);

      return true;
    }