Skip to content
Snippets Groups Projects
test_oracle_jdk8.py 1.16 KiB
Newer Older
import os
import testinfra.utils.ansible_runner

testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
    os.environ["MOLECULE_INVENTORY_FILE"]
).get_hosts("ics-ans-role-java-and-oracle-jdk8")


ORACLE_JDK8_VERSION = "191"
JAVA8_HOME = "/opt/java/jdk1.8.0_{}".format(ORACLE_JDK8_VERSION)


def test_java_version(host):
    cmd = host.run("{}/bin/java -version 2>&1".format(JAVA8_HOME))
    assert 'java version "1.8.0_{}"'.format(ORACLE_JDK8_VERSION) in cmd.stdout


def test_java8_home(host):
Benjamin Bertrand's avatar
Benjamin Bertrand committed
    cmd = host.run(r'su -l -c "echo \$JAVA8_HOME"')
    assert cmd.stdout.strip() == JAVA8_HOME


def test_jce_policy(host):
    cmd = host.run(
        "{}/bin/jrunscript -e 'exit (javax.crypto.Cipher.getMaxAllowedKeyLength(\"RC5\") >= 256);'".format(
            JAVA8_HOME
        )
    )
    # The previous command returns 1, if the Unlimited Cryptography is available, 0 otherwise
    assert cmd.rc == 1


def test_secure_random_source(host):
    java_security = host.file("{}/jre/lib/security/java.security".format(JAVA8_HOME))
    assert not java_security.contains("securerandom.source=file:/dev/random")
    assert java_security.contains("securerandom.source=file:/dev/urandom")