Package com.netflix.priam.dse

Source Code of com.netflix.priam.dse.DseTunerTest

package com.netflix.priam.dse;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;

import com.google.common.io.Files;
import com.netflix.priam.FakeConfiguration;
import com.netflix.priam.IConfiguration;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class DseTunerTest
{
    IConfiguration config;
    DseConfigStub dseConfig;
    DseTuner dseTuner;
    File targetFile;

    @Before
    public void setup() throws IOException
    {
        config = new FakeConfiguration();
        dseConfig = new DseConfigStub();
        dseTuner = new DseTuner(config, dseConfig);

        File targetDir = new File(config.getCassHome() + "/conf");
        if(!targetDir.exists())
            targetDir.mkdirs();

        targetFile = new File(config.getCassHome() + DseTuner.AUDIT_LOG_FILE);
        Files.copy(new File("src/test/resources/" + DseTuner.AUDIT_LOG_FILE), targetFile);
    }

    @Test
    public void auditLogProperties_Enabled() throws IOException
    {
        dseConfig.setAuditLogEnabled(true);
        dseTuner.writeAuditLogProperties();

        Properties p = new Properties();
        p.load(new FileReader(targetFile));
        Assert.assertTrue(p.containsKey(DseTuner.PRIMARY_AUDIT_LOG_ENTRY));
    }

    @Test
    public void auditLogProperties_Disabled() throws IOException
    {
        dseConfig.setAuditLogEnabled(false);
        dseTuner.writeAuditLogProperties();

        Properties p = new Properties();
        p.load(new FileReader(targetFile));
        Assert.assertFalse(p.containsKey(DseTuner.PRIMARY_AUDIT_LOG_ENTRY));
    }

    /**
     * This is different because we test the disabled step using the already used enabled file
     * (not a clean copy over of the original props file from the resources dir), and vice versa
     *
     * @throws IOException
     */
    @Test
    public void auditLogProperties_ThereAndBackAgain() throws IOException
    {
        auditLogProperties_Enabled();
        auditLogProperties_Disabled();
        auditLogProperties_Enabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Enabled();
        auditLogProperties_Enabled();
        auditLogProperties_Enabled();
        auditLogProperties_Enabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Disabled();
        auditLogProperties_Enabled();
        auditLogProperties_Enabled();
    }
}
TOP

Related Classes of com.netflix.priam.dse.DseTunerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.