public void RevokePrivilege_AllOK_RevokePrivilege()
        {
            //Prefase
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            IDatabase          database          = databaseContainer.GetDatabase(SystemeConstants.DefaultDatabaseName);
            Table table = new Table("table");

            database.AddTable(table);
            string         profileName    = SystemeConstants.DefaultProfile;
            string         privilegeName  = SystemeConstants.InsertPrivilegeName;
            GrantPrivilege grantPrivilege = TestGrantPrivilege.CreateGrantPrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            grantPrivilege.SetData(privilegeName, profileName, database.databaseName, table.tableName);
            grantPrivilege.ValidateParameters();
            grantPrivilege.Execute();
            ITable profilesPrivilegesTable = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.PrivilegesOfProfilesOnTablesTableName);
            int    rowCounts = profilesPrivilegesTable.GetRowCount();
            //Test
            RevoquePrivilege revoquePrivilege = CreateRevokePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            revoquePrivilege.SetData(profileName, database.databaseName, table.tableName, privilegeName);
            Assert.IsTrue(revoquePrivilege.ValidateParameters());
            revoquePrivilege.Execute();
            Assert.AreEqual(rowCounts - 1, profilesPrivilegesTable.GetRowCount());
        }
Example #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());
        }
        public void RevokePrivilege_TableDoesntExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            IDatabase          database          = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName);
            string             tableName         = ShittyUtilities.GetDoenstExistTableName(database);
            RevoquePrivilege   revoquePrivilege  = CreateRevokePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            revoquePrivilege.SetData(SystemeConstants.DefaultProfile, SystemeConstants.SystemDatabaseName, tableName, SystemeConstants.InsertPrivilegeName);
            Assert.IsFalse(revoquePrivilege.ValidateParameters());
        }
        public void GrantPrivilege_AllParametersAreOK_GrantThePrivilege()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            IDatabase          database          = databaseContainer.GetDatabase(SystemeConstants.DefaultDatabaseName);
            Table table = new Table("table");

            database.AddTable(table);
            GrantPrivilege grantPrivilege = CreateGrantPrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            grantPrivilege.SetData(SystemeConstants.InsertPrivilegeName, SystemeConstants.DefaultProfile, database.databaseName, table.tableName);
            Assert.IsTrue(grantPrivilege.ValidateParameters());
        }
        public void GrandDatabasePrivilege_PKViolated_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            ITable             table             = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);
            Row row = table.CreateRowDefinition();

            row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesProfileColumnName).data      = SystemeConstants.DefaultProfile;
            row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesDatabaseNameColumnName).data = SystemeConstants.DefaultDatabaseName;
            row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesPrivilegeColumnName).data    = SystemeConstants.CreatePrivilegeName;
            table.AddRow(row);
            GrantDatabasePrivilege grantDatabasePrivilege = CreateGrantDatabasePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, table.tableName);

            grantDatabasePrivilege.SetData(row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesPrivilegeColumnName).data, row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesProfileColumnName).data, row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesDatabaseNameColumnName).data);
            Assert.IsFalse(grantDatabasePrivilege.ValidateParameters());
        }
        public void GrantDatabasePrivilege_ProfileDoenstExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            string             randomProfileName = VariousFunctions.GenerateRandomString(8);
            Column             column            = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.ProfilesTableName).GetColumn(SystemeConstants.ProfileNameColumn);

            while (column.ExistCells(randomProfileName))
            {
                randomProfileName = VariousFunctions.GenerateRandomString(8);
            }
            GrantDatabasePrivilege grantDatabasePrivilege = CreateGrantDatabasePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);

            grantDatabasePrivilege.SetData(SystemeConstants.CreatePrivilegeName, randomProfileName, SystemeConstants.DefaultDatabaseName);
            Assert.IsFalse(grantDatabasePrivilege.ValidateParameters());
        }
        public void GrantPrivilege_TableDoenstExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            IDatabase          database          = databaseContainer.GetDatabase(SystemeConstants.DefaultDatabaseName);
            string             randomTableName   = VariousFunctions.GenerateRandomString(8);

            while (database.ExistTable(randomTableName))
            {
                randomTableName = VariousFunctions.GenerateRandomString(8);
            }
            GrantPrivilege grantPrivilege = CreateGrantPrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            grantPrivilege.SetData(SystemeConstants.InsertPrivilegeName, SystemeConstants.DefaultProfile, database.databaseName, randomTableName);
            Assert.IsFalse(grantPrivilege.ValidateParameters());
        }
Example #8
0
        public void DropSecurityProfile_TheProfileDoesntExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            Column             column            = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.ProfilesTableName).GetColumn(SystemeConstants.ProfileNameColumn);
            string             profileName       = VariousFunctions.GenerateRandomString(8);

            while (column.ExistCells(profileName))
            {
                profileName = VariousFunctions.GenerateRandomString(8);
            }
            DropSecurityProfile dropSecurityProfile = CreateDropSecurityProfile(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.ProfilesTableName);

            dropSecurityProfile.SetTargetSecurityProfile(profileName);
            Assert.IsFalse(dropSecurityProfile.ValidateParameters());
        }
Example #9
0
        public void RevoqueDatabasePrivilege_PrivilegeDoenstExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer        = ObjectConstructor.CreateDatabaseContainer();
            Column             databasePrivilegesColumn = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.DatabasesPrivilegesTableName).GetColumn(SystemeConstants.DatabasesPrivilegesPrivilegeNameColumnName);
            string             databasePrivilegeName    = VariousFunctions.GenerateRandomString(8);

            while (databasePrivilegesColumn.ExistCells(databasePrivilegeName))
            {
                databasePrivilegeName = VariousFunctions.GenerateRandomString(8);
            }
            RevokeDatabasePrivilege revoqueDatabasePrivilege = CreateRevoqueDatabasePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);

            revoqueDatabasePrivilege.SetData(SystemeConstants.DefaultProfile, SystemeConstants.DefaultDatabaseName, databasePrivilegeName);
            Assert.IsFalse(revoqueDatabasePrivilege.ValidateParameters());
        }
Example #10
0
        public void DeleteUser_TheUserDoenstExist_NoticeInValidate()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            ITable             table             = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.UsersTableName);
            Column             column            = table.GetColumn(SystemeConstants.UsersNameColumnName);
            string             username          = VariousFunctions.GenerateRandomString(8);

            while (column.ExistCells(username))
            {
                username = VariousFunctions.GenerateRandomString(8);
            }
            DeleteUser deleteUser = CreateDeleteUser(databaseContainer);

            deleteUser.SetTargetUserName(username);
            Assert.IsFalse(deleteUser.ValidateParameters());
        }
Example #11
0
        public void LoginUserExist_Login()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            IUserThread        userThread        = ObjectConstructor.GetFakeUserThread();
            ITable             table             = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.UsersTableName);
            string             newUsername       = ShittyUtilities.GetDoesntExistUserName(databaseContainer);
            string             password          = "******";
            Row row = table.CreateRowDefinition();

            row.GetCell(SystemeConstants.UsersNameColumnName).data     = newUsername;
            row.GetCell(SystemeConstants.UsersPasswordColumnName).data = password;
            table.AddRow(row);
            Login login = CreateLogin(databaseContainer, userThread, SystemeConstants.SystemDatabaseName, SystemeConstants.UsersTableName);

            login.SetData(newUsername, password);
            Assert.IsTrue(login.ValidateParameters());
        }
        public void CreateSecurityProfile_ProfileDoenstExits_CreateProfile()
        {
            IDatabaseContainer    databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            CreateSecurityProfile query             = CreateCreateSecurityProfile(databaseContainer);
            ITable table       = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.ProfilesTableName);
            Column column      = table.GetColumn(SystemeConstants.ProfileNameColumn);
            string profileName = VariousFunctions.GenerateRandomString(8);

            while (column.ExistCells(profileName))
            {
                profileName = VariousFunctions.GenerateRandomString(8);
            }
            query.SetProfileName(profileName);
            Assert.IsTrue(query.ValidateParameters());
            query.Execute();
            Assert.IsTrue(column.ExistCells(profileName));
        }
Example #13
0
        public void RevoqueDatabasePrivilege_AllParamsExist_RowExist_DeleteRow()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            ITable             table             = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);
            Row row = table.CreateRowDefinition();

            row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesProfileColumnName).data      = SystemeConstants.DefaultProfile;
            row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesDatabaseNameColumnName).data = SystemeConstants.DefaultDatabaseName;
            row.GetCell(SystemeConstants.PrivilegesOfProfilesOnDatabasesPrivilegeColumnName).data    = SystemeConstants.CreatePrivilegeName;
            table.AddRow(row);
            int rowNumber = table.GetRowCount();
            RevokeDatabasePrivilege revoqueDatabasePrivilege = CreateRevoqueDatabasePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);

            revoqueDatabasePrivilege.SetData(SystemeConstants.DefaultProfile, SystemeConstants.DefaultDatabaseName, SystemeConstants.CreatePrivilegeName);
            Assert.IsTrue(revoqueDatabasePrivilege.ValidateParameters());
            revoqueDatabasePrivilege.Execute();
            Assert.AreEqual(rowNumber - 1, table.GetRowCount());
        }
        public void RevokePrivilege_AllParamsExistsButTheCombinationIsNotValid_NoticeInValidate()
        {
            //Prefase
            IDatabaseContainer    databaseContainer     = ObjectConstructor.CreateDatabaseContainer();
            CreateSecurityProfile createSecurityProfile = TestCreateSecurityProfile.CreateCreateSecurityProfile(databaseContainer);
            Column profileNamesColumn = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.ProfilesTableName).GetColumn(SystemeConstants.ProfileNameColumn);
            string profileName        = VariousFunctions.GenerateRandomString(8);

            while (profileNamesColumn.ExistCells(profileName))
            {
                profileName = VariousFunctions.GenerateRandomString(8);
            }
            createSecurityProfile.SetProfileName(profileName);
            createSecurityProfile.ValidateParameters();
            createSecurityProfile.Execute();
            //TEST
            RevoquePrivilege revoquePrivilege = CreateRevokePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnTablesTableName);

            revoquePrivilege.SetData(profileName, SystemeConstants.SystemDatabaseName, SystemeConstants.ProfilesTableName, SystemeConstants.InsertPrivilegeName);
            Assert.IsFalse(revoquePrivilege.ValidateParameters());
        }
Example #15
0
        public void DeleteUser_TheUserExist_DeleteUser()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            ITable             table             = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.UsersTableName);
            Column             column            = table.GetColumn(SystemeConstants.UsersNameColumnName);
            string             username          = VariousFunctions.GenerateRandomString(8);

            while (column.ExistCells(username))
            {
                username = VariousFunctions.GenerateRandomString(8);
            }
            Row row = table.CreateRowDefinition();

            row.GetCell(SystemeConstants.UsersNameColumnName).data = username;
            table.AddRow(row);
            DeleteUser deleteUser = CreateDeleteUser(databaseContainer);

            deleteUser.SetTargetUserName(username);
            Assert.IsTrue(deleteUser.ValidateParameters());
            deleteUser.Execute();
            Assert.IsFalse(column.ExistCells(username));
        }
Example #16
0
        public void DropSecurity_TheProfileCanDrop_DropTheProfile()
        {
            IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer();
            ITable             table             = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.ProfilesTableName);
            Column             column            = table.GetColumn(SystemeConstants.ProfileNameColumn);
            string             profileName       = VariousFunctions.GenerateRandomString(8);

            while (column.ExistCells(profileName))
            {
                profileName = VariousFunctions.GenerateRandomString(8);
            }
            Row row = table.CreateRowDefinition();

            row.GetCell(SystemeConstants.ProfileNameColumn).data = profileName;
            table.AddRow(row);
            int numberOfRow = table.GetRowCount();
            DropSecurityProfile dropSecurityProfile = CreateDropSecurityProfile(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.ProfilesTableName);

            dropSecurityProfile.SetTargetSecurityProfile(profileName);
            Assert.IsTrue(dropSecurityProfile.ValidateParameters());
            dropSecurityProfile.Execute();
            Assert.AreEqual(numberOfRow - 1, table.GetRowCount());
        }
        public static string GetDoesntExistUserName(IDatabaseContainer databaseContainer)
        {
            ITable table = databaseContainer.GetDatabase(SystemeConstants.SystemDatabaseName).GetTable(SystemeConstants.UsersTableName);

            return(GenerateADoenstExistNewValue(table.GetColumn(SystemeConstants.UsersNameColumnName)));
        }