<commit_before>package liquibase.extension.testing.testsystem.core;

import liquibase.extension.testing.testsystem.DatabaseTestSystem;
import liquibase.extension.testing.testsystem.wrapper.DatabaseWrapper;
import liquibase.extension.testing.testsystem.wrapper.DockerDatabaseWrapper;
import org.jetbrains.annotations.NotNull;
import org.testcontainers.containers.OracleContainer;
import org.testcontainers.utility.DockerImageName;

public class OracleTestSystem extends DatabaseTestSystem {

    public OracleTestSystem() {
        super("oracle");
    }

    public OracleTestSystem(Definition definition) {
        super(definition);
    }

    @SuppressWarnings("java:S2095")
    @Override
    protected @NotNull DatabaseWrapper createContainerWrapper() {
        return new DockerDatabaseWrapper(
                new OracleContainer(DockerImageName.parse(getImageName()).withTag(getVersion()))
                        .withUsername(getUsername())
                        .withPassword(<PASSWORD>())
                        .withDatabaseName(getCatalog()),
                this
        );
    }

    @Override
    protected String[] getSetupSql() {
        return new String[]{
                "CREATE TABLESPACE " + getAltTablespace() + " DATAFILE '" + getAltTablespace() + ".dat' SIZE 1M AUTOEXTEND ON",
                "CREATE USER "+getAltCatalog()+" IDENTIFIED BY "+getPassword()+" DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK",
                "CREATE USER "+getAltSchema()+" IDENTIFIED BY "+getPassword()+" DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK",
                "GRANT ALL PRIVILEGES TO "+getUsername(),
                "GRANT UNLIMITED TABLESPACE TO " + getUsername(),
                "GRANT UNLIMITED TABLESPACE TO " + getAltCatalog()
        };
    }
}<commit_msg>Added an Oracle user with limited permissions for testing<commit_after>package liquibase.extension.testing.testsystem.core;

import liquibase.extension.testing.testsystem.DatabaseTestSystem;
import liquibase.extension.testing.testsystem.wrapper.DatabaseWrapper;
import liquibase.extension.testing.testsystem.wrapper.DockerDatabaseWrapper;
import org.jetbrains.annotations.NotNull;
import org.testcontainers.containers.OracleContainer;
import org.testcontainers.utility.DockerImageName;

public class OracleTestSystem extends DatabaseTestSystem {

    public OracleTestSystem() {
        super("oracle");
    }

    public OracleTestSystem(Definition definition) {
        super(definition);
    }

    @SuppressWarnings("java:S2095")
    @Override
    protected @NotNull DatabaseWrapper createContainerWrapper() {
        return new DockerDatabaseWrapper(
                new OracleContainer(DockerImageName.parse(getImageName()).withTag(getVersion()))
                        .withUsername(getUsername())
                        .withPassword(<PASSWORD>())
                        .withDatabaseName(getCatalog()),
                this
        );
    }

    @Override
    protected String[] getSetupSql() {
        String accountInfo = " DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK";
        return new String[]{
                "CREATE TABLESPACE " + getAltTablespace() + " DATAFILE '" + getAltTablespace() + ".dat' SIZE 1M AUTOEXTEND ON",
                "CREATE USER "+getAltCatalog()+" IDENTIFIED BY "+getPassword()+ accountInfo,
                "CREATE USER "+getAltSchema()+" IDENTIFIED BY "+getPassword()+ accountInfo,
                "CREATE USER LIMITED_USER IDENTIFIED BY "+getPassword()+ accountInfo,
                "GRANT CREATE SESSION TO LIMITED_USER",
                "GRANT CONNECT TO LIMITED_USER",
                "GRANT SELECT ON DUAL TO LIMITED_USER",
                "GRANT ALL PRIVILEGES TO "+getUsername(),
                "GRANT UNLIMITED TABLESPACE TO " + getUsername(),
                "GRANT UNLIMITED TABLESPACE TO " + getAltCatalog()
        };
    }
}
{'fraction_non_alphanumeric': 0.09414758269720101, 'fraction_numerical': 0.002544529262086514, 'mean_word_length': 2.89593657086224, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3115961', 'n_tokens_mistral': 1048, 'n_tokens_neox': 1007, 'n_words': 228}