public void CreateDatabase_DatabaseDoenstExist_CreateDatabase()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            string             databaseName      = VariousFunctions.GenerateRandomString(8);

            while (databaseContainer.ExistDatabase(databaseName))
            {
                databaseName = VariousFunctions.GenerateRandomString(8);
            }
            CreateDatabase createDatabase = CreateCreateDatabase(databaseContainer, databaseName);

            Assert.IsTrue(createDatabase.ValidateParameters());
            createDatabase.Execute();
            Assert.IsTrue(databaseContainer.ExistDatabase(databaseName));
        }
Beispiel #2
0
        public override bool ValidateParameters()
        {
            IDatabaseContainer container = this.GetContainer();

            if (!container.ExistDatabase(this.targetDatabase))
            {
                this.SaveTheError(QuerysStringResultConstants.DatabaseDoesntExist(this.targetDatabase));
            }
            else
            {
                IDatabase targetDatabaseObject = container.GetDatabase(this.targetDatabase);
                if (!targetDatabaseObject.ExistTable(this.targetTableName))
                {
                    this.SaveTheError(QuerysStringResultConstants.TableDoensExist(this.targetDatabase, this.targetTableName));
                }
                else if (!this.GetPrivilegeModule().CheckProfileTablePrivileges(this.username, this.targetDatabase, this.targetTableName, this.GetNeededExecutePrivilege()))
                {
                    this.SaveTheError("Not enought privileges");
                }
                else
                {
                    this.DoTheOtherValidations(targetDatabaseObject.GetTable(this.targetTableName));
                }
            }
            return(this.GetIsValidQuery());
        }
Beispiel #3
0
        public void Insert_BadArguments_ConcretelyDatabaseDoesntExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer        = ObjectConstructor.CreateDatabaseContainer();
            string             doenstExistDatabaseNames = VariousFunctions.GenerateRandomString(6);

            while (databaseContainer.ExistDatabase(doenstExistDatabaseNames))
            {
                doenstExistDatabaseNames = VariousFunctions.GenerateRandomString(6);
            }
            Assert.IsFalse(databaseContainer.ExistDatabase(doenstExistDatabaseNames));
            Insert insert = CreateInsert(databaseContainer, doenstExistDatabaseNames, "aa");

            insert.AddValue("zz");
            Assert.IsFalse(insert.ValidateParameters());
            insert.Execute();
        }
Beispiel #4
0
        public void Select_BadArgument_DatabaseDoesntExit_NoticedInValidateParameters()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            Database           database          = new Database("aa");
            ITable             table             = new Table("table1");
            string             columnName        = "c1";
            Column             column            = new Column(columnName, DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey));

            table.AddColumn(column);
            Row row = table.CreateRowDefinition();

            row.GetCell(columnName).data = "1";
            table.AddRow(row);
            database.AddTable(table);
            databaseContainer.AddDatabase(database);
            string notValidDatabaseName = "bb";

            Assert.IsFalse(databaseContainer.ExistDatabase(notValidDatabaseName));
            Select select = CreateSelect(databaseContainer, notValidDatabaseName, table.tableName, true);

            Assert.IsFalse(select.ValidateParameters());
            select.Execute();
            Assert.AreEqual(0, select.GetAfectedRowCount());
            Console.WriteLine(select.GetResult());
        }
        private void CreateDefaultDatabase(ISystemeDatabaseModule databaseModule)
        {
            IDatabaseContainer databaseContainer = databaseModule.GetDatabaseContainer();

            if (!databaseContainer.ExistDatabase(SystemeConstants.DefaultDatabaseName))
            {
                databaseContainer.AddDatabase(new Database(SystemeConstants.DefaultDatabaseName));
            }
        }
Beispiel #6
0
        public static string NewDatabaseName(IDatabaseContainer container)
        {
            string databaseName = VariousFunctions.GenerateRandomString(12);

            while (container.ExistDatabase(databaseName))
            {
                databaseName = VariousFunctions.GenerateRandomString(12);
            }
            return(databaseName);
        }
Beispiel #7
0
        public void DropDatabase_DatabaseDoesntExist_NoticeInValidate()
        {
            //Construct phase
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            string             databaseName      = "tast1";
            DropDatabase       dropDatabase      = CreateDropDatabase(databaseContainer, databaseName);

            //Test phase
            Assert.IsFalse(databaseContainer.ExistDatabase(databaseName));
            Assert.IsFalse(dropDatabase.ValidateParameters());
        }
        private void CreateSystemDatabases(ISystemeDatabaseModule databaseModule)
        {
            IDatabaseContainer databaseContainer = databaseModule.GetDatabaseContainer();

            if (!databaseContainer.ExistDatabase(SystemeConstants.SystemDatabaseName))
            {
                databaseModule.AddDatabase(DefaultDataConstructor.CreateSystemDatabase());
            }
            else
            {
                DefaultDataConstructor.CompleteSystemDatabase(databaseModule.GetDatabaseContainer().GetDatabase(SystemeConstants.SystemDatabaseName));
            }
        }
Beispiel #9
0
        public void RevoqueDatabasePrivilege_DatabaseDoenstExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            string             databaseName      = VariousFunctions.GenerateRandomString(8);

            while (databaseContainer.ExistDatabase(databaseName))
            {
                databaseName = VariousFunctions.GenerateRandomString(8);
            }
            RevokeDatabasePrivilege revoqueDatabasePrivilege = CreateRevoqueDatabasePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);

            revoqueDatabasePrivilege.SetData(SystemeConstants.DefaultProfile, databaseName, SystemeConstants.CreatePrivilegeName);
            Assert.IsFalse(revoqueDatabasePrivilege.ValidateParameters());
        }
Beispiel #10
0
        public void DropDatabase_DatabaseExist_DropDatabase()
        {
            //Construct phase
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            Database           database          = new Database("database");

            databaseContainer.AddDatabase(database);
            DropDatabase dropDatabase = CreateDropDatabase(databaseContainer, database.databaseName);

            //Test phase
            Assert.IsTrue(dropDatabase.ValidateParameters());
            dropDatabase.Execute();
            Assert.IsFalse(databaseContainer.ExistDatabase(database.databaseName));
        }
        public void GrantPrivilege_DatabaseDoenstExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer  = ObjectConstructor.CreateDatabaseContainer();
            string             randomDatabaseName = VariousFunctions.GenerateRandomString(8);

            while (databaseContainer.ExistDatabase(randomDatabaseName))
            {
                randomDatabaseName = VariousFunctions.GenerateRandomString(8);
            }
            GrantPrivilege grantPrivilege = CreateGrantPrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            grantPrivilege.SetData(SystemeConstants.InsertPrivilegeName, SystemeConstants.DefaultProfile, randomDatabaseName, "aaa");
            Assert.IsFalse(grantPrivilege.ValidateParameters());
        }
        public void Drop_GoodArguments_TableDroped()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            Database           database          = new Database("aaa");
            ITable             table             = new Table("table1"); //Realmente no hace falta ni añadir columnas ni nada para esta query

            database.AddTable(table);
            databaseContainer.AddDatabase(database);
            Assert.IsTrue(databaseContainer.ExistDatabase(database.databaseName));             //Omitible, aunque nunca esta de mas por si acaso el problema esta en que en el container no se añaden las bases de datos
            Drop drop = CreateDrop(databaseContainer, database.databaseName, table.tableName); //Aqui se añaden los parametros a la drop

            Assert.IsTrue(drop.ValidateParameters());                                          //Poned esta linea en todos los test. En caso de que se metan parametros validos ponerla como Assert.IsTrue, en caso de que no, ponerla como Assert.IsFalse
            drop.Execute();
            Assert.IsFalse(database.ExistTable(table.tableName));
        }
        public void CreateDatabase_DatabaseExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            string             databaseName      = VariousFunctions.GenerateRandomString(8);

            while (databaseContainer.ExistDatabase(databaseName))
            {
                databaseName = VariousFunctions.GenerateRandomString(8);
            }
            IDatabase database = new Database(databaseName);

            databaseContainer.AddDatabase(database);
            CreateDatabase createDatabase = CreateCreateDatabase(databaseContainer, database.databaseName);

            Assert.IsFalse(createDatabase.ValidateParameters());
        }